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
Por João Ricardo Dutra••Contenido original completo
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.
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ón
Contenedores
Máquinas virtuales
Aislamiento
Procesos 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 operativo
Comparten 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ón
Ejecuta 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 persistente
Segú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ón
Una 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.
Densidad
Poco overhead permite más instancias de aplicación por host.
Cada invitado duplica consumo de CPU, memoria y almacenamiento.
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.
Etapa
Responsabilidad administrativa
Compilación
Usa una imagen base mínima y compatible, fija versiones, elimina herramientas innecesarias y examina vulnerabilidades.
Publicación
Etiqueta deliberadamente, publica en un registro de confianza y controla los permisos de extracción.
Configuración
Proporciona CPU, memoria, variables, secretos, comando, red, puertos, almacenamiento y reinicio fuera de la imagen cuando corresponda.
Ejecución
Observa eventos, registros, métricas, códigos de salida, salud y procedencia; sustituye instancias desde una definición controlada.
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.
Capacidad
Qué significa
Inicio rápido
Los contenedores suelen empezar en segundos, útil para ráfagas, compilaciones, pruebas, renderizado, automatización y tareas breves.
Orígenes de imagen
Extrae de registros públicos o autenticados, incluidos Docker Hub y .
Acceso público
Expón el grupo mediante pública y etiqueta regional única que forma un FQDN; protege los protocolos de aplicación.
Acceso privado
Implementa 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 operativo
Elige Linux o Windows para el grupo; todos sus contenedores comparten ese tipo.
Almacenamiento
El sistema grabable es efímero. Los grupos Linux pueden montar para persistencia SMB, con limitaciones documentadas de identidad, root y CIFS.
Tamaño y cuotas
CPU 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 especializadas
ACI 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.
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.
Área
Regla
Recursos
ACI suma solicitudes de CPU, memoria y aceleradores admitidos. Dos contenedores de una CPU requieren grupo de dos CPU.
Ciclo de vida
Inicio, parada, reinicio y eliminación actúan sobre el grupo. El reinicio manual afecta a todos y puede cambiar la .
Red local
Los contenedores se comunican por localhost y comparten espacio de puertos; no hay asignación por contenedor dentro del grupo.
Red externa
El 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.
Almacenamiento
Los contenedores montan volúmenes comunes o distintos. El almacenamiento externo sobrevive; la capa local grabable no.
Eliminación
Eliminar el grupo libera y FQDN y descarta el estado efímero.
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étodo
Uso apropiado
Portal, CLI o PowerShell
Creació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.
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ón
Responsabilidad complementaria
Precaución
Actualizador de contenido
Obtiene o genera contenido reciente para la aplicación principal.
Usa volumen compartido y actualizaciones atómicas.
de registros
Recoge 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ón
Sondea 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-end
Separa 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.
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ítica
Comportamiento
Uso
Always
Reinicia los contenedores tras finalizar y es el valor predeterminado.
Servicios duraderos; no para una tarea que termina correctamente.
OnFailure
Reinicia cuando el proceso sale con código distinto de cero.
Procesos por lotes que reintentan fallos y permanecen terminados tras éxito.
Never
Ejecuta 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
Entorno
Aplicaciones y trabajos comparten límite seguro, red, registros, actualizaciones, conmutación y balanceo de recursos.
Entrada y descubrimiento
Entrada / administrada, descubrimiento, comunicación interna, dominios y red orientada a aplicaciones.
Revisiones
Versiones inmutables permiten despliegue, reversión, acceso directo y reparto de tráfico en modo de revisiones múltiples.
Escalado
Reglas ,, CPU, memoria y KEDA ajustan réplicas y pueden reducir muchas cargas a cero. Sin entrada, define regla o mínimo positivo.
Microservicios
Dapr opcional aporta invocación, estado, pub/sub, enlaces, observabilidad y secretos sin exponer la del clúster.
Trabajos
Tareas finitas comienzan manualmente, por programación o evento; las aplicaciones continuas reinician réplicas erróneas.
Límite de control
El cliente no accede directamente a las Kubernetes ni administra el clúster subyacente. Elige si lo necesita.
ACI ejecuta grupos aislados; Apps administra aplicaciones ; expone control Kubernetes.
12. Selecciona ACI, Apps, o una máquina virtual
Guía práctica.
Necesidad
Punto de partida
Razón
Un contenedor/grupo ligado, inicio rápido, tarea corta y sin clúster
Ejecución directa de imagen con recursos explícitos y mínima capa de plataforma.
, microservicios, revisiones, reparto, eventos, escala a cero o trabajos
Plataforma a nivel de aplicación, sin administrar clúster.
Kubernetes, controladores, políticas, red compleja o máximo control
Kubernetes administrado con responsabilidad del cliente sobre clúster y cargas.
SO completo, controladores, host, límite de kernel o legado
Sistema 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.
Crea o selecciona grupo de recursos y región.
Implementa una instancia de contenedor desde la imagen compatible con Docker indicada.
Define nombre, SO, tamaño, reinicio, red, etiqueta y puerto web.
Espera al estado Running e inspecciona aprovisionamiento, eventos, recursos, imagen, y FQDN.
Abre el FQDN o pública y comprueba la respuesta.
Revisa registros y métricas y elimina los recursos del laboratorio para detener cargos.
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.
Pregunta
Respuesta correcta
Por 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.
Tema
Recuerda
Virtualización
VM virtualiza hardware e inicia SO completo; contenedor comparte kernel y aísla procesos.
Valor
Imágenes mejoran portabilidad, rapidez, coherencia, densidad y sustitución automática.
Imagen
Paquete versionado en registro; contenedor es una instancia en ejecución.
ACI
Ejecución directa de Linux/Windows, sin administrar VM o clúster.
Red ACI
+ públicos o VNet privada; la salida privada vigente requiere .
Almacenamiento ACI
Estado local efímero; Linux puede montar con límites.
Grupo
Un host, ciclo, localhost, volúmenes, suma de recursos y .
Implementación
Portal/CLI para lo simple; , o para repetibilidad.
Ayudantes ligados para contenido, registros, supervisión o frontal/back-end.
Reinicio
Always para servicio, OnFailure para tarea reintentable, Never para una ejecución.
Apps
Revisiones, entrada, KEDA, Dapr, descubrimiento, trabajos y escalado.
Úsalo cuando las Kubernetes y el control de clúster sean requisitos.
Laboratorio
Implementa 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.