Contenido del curso

Microsoft Azure Fundamentos

Máquinas virtuales, containers y functions en Azure

Resumen

Los recursos de cómputo en Azure son los protagonistas del día a día de cualquier desarrollador porque ahí corren las aplicaciones, las APIs y los sitios web que los usuarios finales terminan viendo. Aquí aprendes a desplegar tres tipos distintos: máquinas virtuales, Container Apps y Function Apps, todo desde la línea de comandos con Azure CLI.

¿Qué recursos de cómputo puedes desplegar en Azure?

Dentro de la categoría de cómputo conviven varios servicios que cubren necesidades muy distintas. Algunos te dan control total sobre el sistema operativo, otros te abstraen casi por completo de la infraestructura.

  • Máquinas virtuales: control completo del sistema operativo, ideales cuando necesitas instalar software específico.
  • Container Apps: para desplegar contenedores sin la complejidad de Kubernetes.
  • Function Apps: modelo serverless para ejecutar código bajo demanda.

¿Cuándo usar Container Apps en vez de Kubernetes? Usa Container Apps cuando solo necesitas desplegar unos cuantos contenedores. Kubernetes queda como último recurso por su alta complejidad, costo y curva de aprendizaje y administración.

¿Cómo crear una máquina virtual desde Azure CLI?

Antes de cualquier recurso necesitas un grupo que los contenga. Con az group create armas el contenedor lógico donde vivirán todos tus despliegues de esta práctica.

Luego, para la máquina virtual el comando es directo: az vm create recibe el nombre, el grupo de recursos, la imagen del sistema operativo, el usuario administrador y la contraseña. El despliegue toma bastante más tiempo que crear un grupo, porque Azure aprovisiona disco, red y cómputo en segundo plano.

¿Qué pasa si no defines un workspace de Log Analytics?

Cuando creas un environment de Container Apps con az containerapp env create, Azure CLI te avisa si no especificaste un workspace de Log Analytics. La herramienta no falla: lo crea por ti automáticamente con un nombre tipo workspace-grupo-recursos-computo. Es una buena oportunidad para mejorar tu comando y, en la siguiente iteración, crear primero tu propio espacio de Log Analytics y pasarlo como parámetro.

¿Cómo desplegar un contenedor con Container Apps?

El flujo tiene dos pasos. Primero creas el ambiente de trabajo con az containerapp env create, indicando nombre del environment, grupo de recursos y ubicación. Ese ambiente es el espacio donde vivirán tus aplicaciones contenedoras.

Después creas la aplicación con az containerapp create. Aquí defines:

  • El nombre de la container app.
  • El grupo de recursos.
  • La imagen de Docker que vas a jalar (puede venir directo desde Docker Hub).
  • El environment creado en el paso anterior.
  • El tipo de ingress, que en este caso es external para que cualquiera la pueda acceder.
  • El puerto de acceso, normalmente el 80.

Una vez desplegada, Azure te entrega una URL pública. En la práctica, una imagen de Docker del proyecto final del curso de fundamentos de Docker termina expuesta como un sitio web funcional con un mensaje tipo "Bienvenido a NG Next".

¿Qué es el ingress en una Container App? Es la configuración que define quién puede acceder al contenedor. Si lo pones como external, tu aplicación queda disponible públicamente desde internet a través de una URL.

¿Cómo crear una Function App con Azure CLI?

Las Function Apps pertenecen al modelo serverless en cuanto a infraestructura, pero se clasifican dentro de cómputo porque ejecutan código y pueden hospedar sitios web. Antes de crearlas necesitas una cuenta de almacenamiento, porque la function app la usa como base para guardar estado, archivos y metadatos.

El comando az storage account create te deja lista la cuenta. Con esa cuenta a la mano, ejecutas az functionapp create pasando:

  • Grupo de recursos.
  • Plan de consumo (consumption plan), que es el modelo pay per use.
  • Ubicación.
  • Nombre de la función.
  • La cuenta de almacenamiento recién creada.
  • El runtime, por ejemplo .NET.

Si no especificas una versión de Azure Functions, la CLI elige por defecto la más reciente, que es la versión 4. Cuando termina, recibes una URL donde se confirma que la aplicación está lista y preparada para recibir tu código.

¿Por qué una Function App necesita una cuenta de almacenamiento?

La cuenta de almacenamiento no se usa de forma aislada: funciona como soporte obligatorio para que la function registre logs, gestione triggers y conserve archivos de configuración. Sin ella, la función no puede operar.

¿Puedes mezclar despliegues por CLI con cambios en el portal?

Sí, y esa es una de las ventajas más prácticas. Desplegar desde la línea de comandos no excluye que después modifiques el recurso desde el portal de Azure. Solo necesitas tener claridad sobre qué cambios estás haciendo en cada lado para evitar inconsistencias.

Desde el portal puedes refrescar la lista de grupos de recursos y ver aparecer todo lo creado: la máquina virtual, el environment de Container Apps, la container app con su URL pública, la cuenta de almacenamiento y la function app con su propia URL.

Un detalle clave para tu bolsillo: en el repositorio del curso hay un archivo llamado Eliminar recursos que borra todo lo que creaste en la práctica. Ejecútalo al terminar para no acumular costos innecesarios. ¿Qué recurso de cómputo vas a probar primero?

      Máquinas virtuales, containers y functions en Azure