Contenedores en Azure: máquinas virtuales, Container Instances, grupos y Container Apps
Volver a la ruta AZ-104
AZ-104Capítulo 25

Preparación para la Certificación Microsoft AZ-104

Contenedores en Azure: máquinas virtuales, Container Instances, grupos y Container Apps

Compara modelos de aislamiento, empaqueta imágenes, implementa Azure Container Instances y grupos múltiples, configura reinicio y red y decide cuándo usar Azure Container Apps o AKS.

Tiempo de estudio sugerido: 90 minutos • Nivel intermedio • Reescritura original basada en el módulo proporcionado de Microsoft Learn y contrastada con la documentación vigente de contenedores de Azure

Escudo neón de administrador de Azure rodeado de máquinas virtuales, redes, almacenamiento, identidad, gobernanza, supervisión, copias de seguridad e infraestructura como código

1. Elige el modelo de aislamiento para una migración a la nube

Una organización está trasladando a una aplicación web alojada en una máquina virtual local. Busca inicio rápido, menos servidores que mantener, aislamiento sencillo y una unidad de implementación consistente desde desarrollo hasta producción. El administrador debe decidir si la carga aún necesita una máquina virtual completa, si puede ejecutarse de forma aislada en o si se beneficia de la plataforma administrada .

El módulo supone familiaridad con la terminología de contenedores, conceptos básicos de nube y Portal. Sus objetivos son comparar contenedores y máquinas virtuales, reconocer características y casos de , comprender los grupos de contenedores, evaluar e implementar y verificar una instancia.

Mapa de estudio que conecta máquinas virtuales, imágenes, Azure Container Instances, grupos de contenedores, Azure Container Apps y AKS.
Empieza por el requisito de aislamiento y selecciona solo la orquestación y el control que necesita la carga.

2. Compara la virtualización del sistema operativo y del hardware

Una máquina virtual virtualiza el hardware. Cada VM recibe CPU, memoria, discos y dispositivos virtuales e inicia un sistema operativo invitado completo con su propio kernel. Un contenedor virtualiza el sistema operativo: procesos aislados comparten el kernel del host y llevan solo archivos, bibliotecas, runtime y configuración del modo de usuario. Varios contenedores dentro de una VM se parecen a varias VMs en un servidor físico, pero su límite es más ligero.

Contenedores y máquinas virtuales resuelven problemas distintos.
DimensiónContenedoresMáquinas virtuales
AislamientoProcesos y espacios de nombres ofrecen un límite ligero, adecuado cuando el modelo de seguridad de la plataforma satisface la carga.Un SO invitado completo crea una separación más fuerte para kernels incompatibles, dependencias heredadas o inquilinos que no deben compartir límite.
Sistema operativoComparten el kernel del host e incluyen solo los componentes necesarios del modo de usuario.Ejecutan SO y kernel completos, por lo que tardan más en iniciar y consumen más recursos.
ImplementaciónEjecuta una imagen con herramientas compatibles con Docker o usa un orquestador/plataforma administrada para muchos servicios.Crea VMs con portal, CLI, PowerShell o Windows Admin Center y automatiza flotas con infraestructura como código y plataformas de administración.
Almacenamiento persistenteSegún la plataforma, usa Disks para un solo nodo o mediante SMB para acceso compartido; conserva el estado fuera del sistema de archivos descartable.Usa discos duros virtuales administrados o recursos compartidos conectados al invitado.
RecuperaciónUna plataforma puede recrear rápidamente el contenedor en otro nodo disponible.La conmutación suele iniciar o reiniciar todo el SO invitado en otro host.
DensidadPoco overhead permite más instancias de aplicación por host.Cada invitado duplica consumo de CPU, memoria y almacenamiento.
Comparación por capas de máquinas virtuales con sistemas invitados separados y contenedores que comparten kernel.
La VM empaqueta un sistema operativo alrededor de la aplicación; el contenedor empaqueta la aplicación sobre un kernel compartido.

3. Reconoce por qué los equipos empaquetan aplicaciones en contenedores

  • Portabilidad: una imagen inmutable lleva código, runtime, herramientas, bibliotecas y configuración para promover el mismo artefacto entre entornos compatibles.
  • Velocidad: el proceso comienza sin arrancar un SO invitado, acortando implementación, escalado, pruebas y recuperación.
  • Coherencia: desarrollo, pruebas y producción ejecutan las mismas dependencias empaquetadas y reducen diferencias ambientales.
  • Eficiencia: compartir kernel aumenta la densidad y puede mejorar la utilización de infraestructura.
  • Aislamiento: aplicaciones y dependencias permanecen separadas en el mismo host, aunque el límite no equivale al de una VM.
  • Automatización: registros, definiciones declarativas, CI/CD y orquestadores vuelven repetibles la entrega y sustitución.

Un contenedor no siempre es la mejor respuesta. Prefiere una VM si la aplicación necesita acceso al host, otro kernel, entorno completo de SO, controladores, software heredado incompatible o un límite de aislamiento más fuerte. Conteneriza cuando el estado pueda externalizarse y la operación acepte sustituir instancias efímeras en vez de repararlas.

4. Comprende imágenes, registros e instancias en ejecución

Una imagen de contenedor es un paquete de solo lectura por capas. Contiene todo lo necesario por encima del kernel: aplicación, runtime, bibliotecas, herramientas, archivos, comando inicial y valores predeterminados. Un registro como Docker Hub o almacena imágenes versionadas. Descargar e iniciar una imagen crea un contenedor mutable; reemplazarlo desde una imagen conocida es más seguro que cambiar su interior sin documentación.

Cadena fiable desde la imagen hasta la ejecución.
EtapaResponsabilidad administrativa
CompilaciónUsa una imagen base mínima y compatible, fija versiones, elimina herramientas innecesarias y examina vulnerabilidades.
PublicaciónEtiqueta deliberadamente, publica en un registro de confianza y controla los permisos de extracción.
ConfiguraciónProporciona CPU, memoria, variables, secretos, comando, red, puertos, almacenamiento y reinicio fuera de la imagen cuando corresponda.
EjecuciónObserva eventos, registros, métricas, códigos de salida, salud y procedencia; sustituye instancias desde una definición controlada.
Ciclo desde código y Dockerfile hasta imagen por capas, registro, definición de implementación e instancia.
La imagen es el artefacto versionado; el contenedor es una ejecución del artefacto.

5. Usa para ejecución directa

(ACI) es el camino más rápido en desde una imagen hasta un contenedor Linux o Windows aislado, sin aprovisionar o aplicar revisiones a máquinas virtuales y sin adoptar una plataforma completa de orquestación. Microsoft opera el host y runtime; el cliente controla imagen, comportamiento, configuración, datos y diagnóstico.

Capacidades asociadas a ACI.
CapacidadQué significa
Inicio rápidoLos contenedores suelen empezar en segundos, útil para ráfagas, compilaciones, pruebas, renderizado, automatización y tareas breves.
Orígenes de imagenExtrae de registros públicos o autenticados, incluidos Docker Hub y .
Acceso públicoExpón el grupo mediante pública y etiqueta regional única que forma un FQDN; protege los protocolos de aplicación.
Acceso privadoImplementa el grupo en una para hablar con recursos conectados. La guía vigente requiere para salida compatible; un grupo en VNet no expone directamente pública o FQDN.
Sistema operativoElige Linux o Windows para el grupo; todos sus contenedores comparten ese tipo.
AlmacenamientoEl sistema grabable es efímero. Los grupos Linux pueden montar para persistencia SMB, con limitaciones documentadas de identidad, root y CIFS.
Tamaño y cuotasCPU y memoria quedan asignadas al grupo durante su vida. El ejemplo antiguo de 4 vCPU/16 GB ya no es máximo universal: Standard puede llegar a 31 vCPU y 240 GB, pero región, SO, cuota, SKU y capacidad gobiernan cada implementación.
Opciones especializadasACI también documenta contenedores confidenciales y Spot; las versiones preliminares y regiones necesitan evaluación separada para producción.

ACI no convierte automáticamente un grupo en aplicación de alta disponibilidad. Para producción, usa varios grupos detrás de un servicio de entrada o una plataforma que gestione réplicas. Si necesitas descubrimiento continuo, reparto por revisiones, escalado amplio u orquestación compleja, o suele encajar mejor.

Grupo de Azure Container Instances con IP y DNS públicos o ubicación privada en Virtual Network mediante NAT Gateway.
El público y la implementación en VNet son modos diferentes; un grupo privado no recibe también un público.

6. Trata el grupo de contenedores como límite de implementación

El grupo de contenedores es el recurso superior de ACI y se parece conceptualmente a un pod de Kubernetes. Uno o más contenedores se programan en el mismo host y comparten ciclo de vida, red local, volúmenes seleccionados y recursos asignados. La relación 1:1 es común; varios contenedores son adecuados cuando procesos estrechamente ligados deben crearse, escalarse, detenerse, reiniciarse y eliminarse juntos.

Reglas de un grupo con varios contenedores.
ÁreaRegla
RecursosACI suma solicitudes de CPU, memoria y aceleradores admitidos. Dos contenedores de una CPU requieren grupo de dos CPU.
Ciclo de vidaInicio, parada, reinicio y eliminación actúan sobre el grupo. El reinicio manual afecta a todos y puede cambiar la .
Red localLos contenedores se comunican por localhost y comparten espacio de puertos; no hay asignación por contenedor dentro del grupo.
Red externaEl grupo comparte pública, etiqueta /FQDN opcional y puertos. Un servicio se alcanza solo si el puerto se expone en el contenedor y el grupo.
AlmacenamientoLos contenedores montan volúmenes comunes o distintos. El almacenamiento externo sobrevive; la capa local grabable no.
EliminaciónEliminar el grupo libera y FQDN y descarta el estado efímero.
Límite de grupo con dos contenedores, CPU y memoria sumadas, localhost, ciclo, volúmenes, IP, DNS y puertos.
Planifica el grupo como una sola unidad programable y facturable.

7. Implementa definiciones declarativas de uno o varios contenedores

Métodos citados por el módulo.
MétodoUso apropiado
Portal, CLI o PowerShellCreación y operación rápidas de un grupo sencillo de un contenedor.
Plantilla de Recomendada cuando la misma implementación crea recursos como un recurso compartido de .
Definición nativa y concisa con tipos, IntelliSense, módulos y compilación a .
Definición centrada en contenedores conveniente para grupos múltiples; una exportación puede ser punto de partida.

Declara imagen por resumen o etiqueta controlada, credenciales/identidad del registro, solicitudes, variables, secretos, comando, política de reinicio, modo , etiqueta , puertos, volúmenes y montajes. Conserva la definición en control de versiones e implementa con privilegio mínimo.

8. Diseña red y almacenamiento del grupo

Imagina un grupo con frontal web y proceso auxiliar. Ocupa un host, obtiene etiqueta e pública y expone el puerto web. Internamente, los servicios usan localhost. Cada contenedor puede montar un recurso de distinto o ambos compartir un volumen. Un puerto interno de base de datos no necesita exposición pública.

ACI no conserva estado de forma predeterminada. Reinicios, errores, paradas o sustituciones pueden perder la capa local. Los montajes actuales de en ACI son para Linux, usan CIFS/SMB, requieren ejecución como root y no autentican el montaje SMB con . Montar sobre un directorio no vacío oculta los archivos de imagen de esa ruta mientras dure el montaje.

Contenedores web y auxiliar comparten localhost y endpoint público con montajes separados de Azure Files.
Expón solo el puerto frontal; conserva tráfico interno en la red del grupo y estado en almacenamiento externo.

9. Aplica patrones y de contenedor complementario

Patrones del módulo.
PatrónResponsabilidad complementariaPrecaución
Actualizador de contenidoObtiene o genera contenido reciente para la aplicación principal.Usa volumen compartido y actualizaciones atómicas.
de registrosRecoge registros/métricas y los envía a almacenamiento o supervisión duraderos.No dependas del pequeño búfer local como único registro.
de supervisiónSondea el proceso principal y emite señales de salud o alerta.Por sí solo no ofrece disponibilidad entre grupos ni balanceo externo.
Pareja frontal/back-endSepara presentación y proceso auxiliar mientras comparte localhost.Acopla solo si necesitan el mismo ciclo y unidad de escala.

Los grupos múltiples simplifican auxiliares ligados, pero acoplan recursos y fallos. Si los componentes deben escalar, publicarse o descubrir réplicas de forma independiente, sepáralos en ; usa cuando necesites control nativo de Kubernetes.

Aplicación principal rodeada de sidecars de contenido, registros y supervisión con ciclo compartido.
Un añade una capacidad enfocada y debe ser inseparable operacionalmente de la carga principal.

10. Ajusta la política de reinicio a la carga

Políticas de ACI.
PolíticaComportamientoUso
AlwaysReinicia los contenedores tras finalizar y es el valor predeterminado.Servicios duraderos; no para una tarea que termina correctamente.
OnFailureReinicia cuando el proceso sale con código distinto de cero.Procesos por lotes que reintentan fallos y permanecen terminados tras éxito.
NeverEjecuta cada contenedor como máximo una vez.Trabajo único cuyo reintento controla un operador o flujo externo.

Como ACI factura cómputo mientras la tarea se ejecuta, una política consciente de finalización es importante. Usa eventos, estados actual/anterior, código de salida, contador de reinicios, registros y para separar error de aplicación de evento de infraestructura. Detener el grupo desasigna recursos y facturación, sin conservar estado local.

11. Usa para aplicaciones y microservicios administrados

—también descrito en el diccionario como — es una plataforma para contenedores generales, , servicios en segundo plano, procesamiento por eventos, trabajos y microservicios. Oculta la administración del clúster y usa Kubernetes y tecnologías abiertas como KEDA, Dapr y Envoy.

Capacidades distintivas de Apps.
Capacidad administrativa
EntornoAplicaciones y trabajos comparten límite seguro, red, registros, actualizaciones, conmutación y balanceo de recursos.
Entrada y descubrimientoEntrada / administrada, descubrimiento, comunicación interna, dominios y red orientada a aplicaciones.
RevisionesVersiones inmutables permiten despliegue, reversión, acceso directo y reparto de tráfico en modo de revisiones múltiples.
EscaladoReglas , , CPU, memoria y KEDA ajustan réplicas y pueden reducir muchas cargas a cero. Sin entrada, define regla o mínimo positivo.
MicroserviciosDapr opcional aporta invocación, estado, pub/sub, enlaces, observabilidad y secretos sin exponer la del clúster.
TrabajosTareas finitas comienzan manualmente, por programación o evento; las aplicaciones continuas reinician réplicas erróneas.
Límite de controlEl cliente no accede directamente a las Kubernetes ni administra el clúster subyacente. Elige si lo necesita.
Decisión entre Azure Container Instances, Azure Container Apps y Azure Kubernetes Service.
ACI ejecuta grupos aislados; Apps administra aplicaciones ; expone control Kubernetes.

12. Selecciona ACI, Apps, o una máquina virtual

Guía práctica.
NecesidadPunto de partidaRazón
Un contenedor/grupo ligado, inicio rápido, tarea corta y sin clústerEjecución directa de imagen con recursos explícitos y mínima capa de plataforma.
, microservicios, revisiones, reparto, eventos, escala a cero o trabajosPlataforma a nivel de aplicación, sin administrar clúster.
Kubernetes, controladores, políticas, red compleja o máximo controlKubernetes administrado con responsabilidad del cliente sobre clúster y cargas.
SO completo, controladores, host, límite de kernel o legadoSistema invitado completo y amplio control de infraestructura.

Es un punto de partida. Aislamiento, disponibilidad, durabilidad, red, frecuencia, escala, habilidades, cumplimiento, regiones, cuotas y coste total pueden cambiar la selección final.

13. Practica el laboratorio de ACI

El ejercicio evalúa ACI y Docker para sustituir una aplicación web alojada en una VM local. Requiere suscripción de y estima unos 15 minutos una vez listo el entorno.

  1. Crea o selecciona grupo de recursos y región.
  2. Implementa una instancia de contenedor desde la imagen compatible con Docker indicada.
  3. Define nombre, SO, tamaño, reinicio, red, etiqueta y puerto web.
  4. Espera al estado Running e inspecciona aprovisionamiento, eventos, recursos, imagen, y FQDN.
  5. Abre el FQDN o pública y comprueba la respuesta.
  6. Revisa registros y métricas y elimina los recursos del laboratorio para detener cargos.
Flujo desde imagen a ACI, prueba del endpoint, registros, métricas y limpieza.
El laboratorio demuestra implementación y acceso observable; la limpieza forma parte del ejercicio.

14. Explica todas las respuestas de la evaluación

Respuestas y razonamiento.
PreguntaRespuesta correctaPor qué
¿Qué distingue a ACI entre las opciones?Inicio rápido sin administrar máquinas virtuales.Ejecuta la imagen en infraestructura administrada; no exige orquestador superior ni expone Kubernetes.
¿Qué método se recomienda si el grupo crea otros recursos?Plantilla de .El módulo recomienda con recursos como ; es la autoría moderna que compila a .
¿Cómo se asignan recursos a un grupo múltiple?Sumando solicitudes de todos los contenedores.El grupo recibe el total de CPU, memoria y aceleradores admitidos.
¿Por qué ACI sirve para web rápida sin VM?Inicio rápido.Elimina aprovisionamiento del invitado y administración del host.
¿Qué tecnología mejora la densidad?Contenedores.Comparten kernel y llevan solo componentes necesarios.
¿Cuándo preferir una VM?Cuando se necesita aislamiento completo del host.El invitado completo ofrece límite y control de SO más fuertes.
¿Qué reúne contenedores con recursos y ciclo compartidos?Un grupo de contenedores de .Es el límite de programación, red, recursos y ciclo de ACI.
¿Qué permite acceso externo al grupo múltiple? pública y puerto correcto expuesto en grupo y contenedor.Ambas capas deben exponerlo; no hay etiqueta separada por contenedor.
¿Por qué los contenedores usan mejor los recursos?Solo ejecutan los componentes necesarios del modo de usuario.Evitan duplicar un SO invitado completo.

15. Repaso compacto de todos los temas

Versiones breves para recordar.
TemaRecuerda
VirtualizaciónVM virtualiza hardware e inicia SO completo; contenedor comparte kernel y aísla procesos.
ValorImágenes mejoran portabilidad, rapidez, coherencia, densidad y sustitución automática.
ImagenPaquete versionado en registro; contenedor es una instancia en ejecución.
ACIEjecución directa de Linux/Windows, sin administrar VM o clúster.
Red ACI+ públicos o VNet privada; la salida privada vigente requiere .
Almacenamiento ACIEstado local efímero; Linux puede montar con límites.
GrupoUn host, ciclo, localhost, volúmenes, suma de recursos y .
ImplementaciónPortal/CLI para lo simple; , o para repetibilidad.
Ayudantes ligados para contenido, registros, supervisión o frontal/back-end.
ReinicioAlways para servicio, OnFailure para tarea reintentable, Never para una ejecución.
AppsRevisiones, entrada, KEDA, Dapr, descubrimiento, trabajos y escalado.
Úsalo cuando las Kubernetes y el control de clúster sean requisitos.
LaboratorioImplementa imagen en ACI, verifica y diagnóstico y limpia.

16. Práctica y documentación vigente

  • Dibuja una carga como VM, grupo ACI, App y y compara control y esfuerzo.
  • Escribe para dos contenedores ACI con localhost y volumen, exponiendo solo el frontal.
  • Elige Always, OnFailure o Never para servidor web, informe nocturno y migración única y predice estado y coste.
  • Diseña una revisión de Apps que reciba poco tráfico y pueda revertirse.
  • Pide a Microsoft Copilot comparar tareas ACI y trabajos de Apps y valida límites, regiones y red.