Configuración de Azure Container Apps
En esta unidad, aprenderá a crear un entorno de Azure Container Apps y una base de datos de Azure for PostgreSQL mediante la CLI de Azure. Después, configurará la aplicación Quarkus para que se conecte a la base de datos remota en lugar de a la local.
Hay varios destinos disponibles para implementar una aplicación Quarkus en Azure, desde IaaS a FaaS. Azure Container Apps se sitúa entre PaaS y FaaS. Por un lado, se parece más a PaaS porque no le obliga a entrar en un modelo de programación específico y puede controlar las reglas de escalado y reducción horizontal. Por otro lado, tiene algunas características sin servidor, como el escalado a cero, el escalado controlado por eventos o un modelo de precios por segundo.
Container Apps se basa en Azure Kubernetes Service (AKS). Incluye una integración profunda con KEDA (escalabilidad automática controlada por eventos para Kubernetes), Dapr (entorno de ejecución de aplicaciones distribuidas) y Envoy (un proxy de servicio diseñado para aplicaciones nativas de nube). La complejidad subyacente se abstrae, por lo que no es necesario configurar el servicio Kubernetes, ni los manifiestos de implementación, entrada o volumen. Consigue una API y una interfaz de usuario sencillas para configurar la aplicación contenedorizada. Debido a esta simplificación, tiene menos control que con AKS.
En Azure Container Apps, las aplicaciones deben empaquetarse en un contenedor Docker. Container Apps admite contenedores Docker creados con Dockerfiles o con Jib. El contenedor debe estar disponible en un registro de contenedor. Azure Container Apps admite Azure Container Registry, Docker Hub y GitHub Container Registry. Una vez que la imagen de aplicación está disponible en un registro, Azure Container Apps admite la implementación desde Azure Portal, la CLI de Azure, Acciones de GitHub y Azure DevOps.
Container Apps proporciona las siguientes características.
- Revisiones: control de versiones automático que ayuda a administrar el ciclo de vida de las aplicaciones contenedoras.
- Control de tráfico: capacidad de dividir el tráfico HTTP entrante entre varias revisiones para implementaciones azul/verde y pruebas A/B.
- Entrada: configuración de entradas HTTPS sencillas. No es necesario preocuparse por el DNS o los certificados.
- Escalado automático: desencadenadores de escalado admitidos por KEDA para escalar la aplicación en función de métricas externas.
- Secretos: secretos que se comparten entre contenedores, reglas de escalado y sidecars Dapr.
- Supervisión: los flujos de errores y salidas estándar se escriben automáticamente en Log Analytics.
- Dapr: integración de Dapr con las aplicaciones contenedoras. Habilite esta integración mediante una marca sencilla.
En el ejercicio siguiente, se le presentarán los conceptos siguientes.
- Entorno: un límite de seguridad mejorado en torno a un grupo de aplicaciones contenedoras. Las aplicaciones se implementan en una sola red virtual, pueden intercomunicarse fácilmente entre sí y escribir registros en un único área de trabajo de Log Analytics. Un entorno puede compararse con un espacio de nombres de Kubernetes.
- Aplicación contenedora: un grupo de contenedores (un pod) que se implementa y se escala conjuntamente. Comparten un solo espacio en disco y una red.
- Revisión: una instantánea inmutable de una aplicación contenedora. Las nuevas revisiones se crean automáticamente y son valiosas para las estrategias de redireccionamiento del tráfico HTTP, como las pruebas A/B.
Ahora creará un entorno de Container Apps para ver cómo funcionan estos elementos.