Compartir a través de


Administración y operaciones para Azure Container Apps: acelerador de zonas de aterrizaje

Revise las características y los servicios de Azure Container Apps disponibles para ayudarle a diseñar y mantener la aplicación para el estado y la estabilidad a largo plazo.

  • Comprenda los límites de Container Apps.

  • Considere la posibilidad de aislar las cargas de trabajo en el nivel de red, proceso, supervisión o datos.

  • Comprenda las maneras de controlar el consumo de recursos por parte de las cargas de trabajo.

  • Use sondeos de estado para ayudar a notificar y recuperarse del deterioro del estado de la aplicación.

  • Use Dapr para establecer conexiones seguras a servicios externos.

  • Use el registro y la supervisión para proporcionar información sobre los problemas asociados a las aplicaciones.

  • Use alertas durante eventos críticos de aplicación y sistema para asegurarse de que el personal de operaciones puede tomar medidas rápidas en los errores de la aplicación de eventos.

  • Defina una estrategia de escalado para garantizar la capacidad suficiente disponible para controlar el tráfico a la aplicación, al tiempo que minimiza la capacidad sin usar. Los desencadenadores de escalado incluyen el uso de CPU o memoria, junto con cualquier escalador compatible con KEDA.

  • Familiarícese con Envoy, ya que Azure Container Apps lo usa como proxy de red.

  • Tenga en cuenta los requisitos del objetivo de tiempo de recuperación (RTO) y del objetivo de punto de recuperación (RPO) en torno a la continuidad empresarial y la recuperación ante desastres. Defina un Acuerdo de Nivel de Servicio (SLA) para la infraestructura y la aplicación. Obtenga información sobre el Acuerdo de Nivel de Servicio de para Azure Container Apps. Consulte la sección Detalles del Acuerdo de Nivel de Servicio para obtener información sobre los cálculos de tiempo de actividad mensual.

  • En función de los requisitos específicos de la aplicación, es posible que tenga que usar medidas de alta disponibilidad para garantizar el funcionamiento continuo si hay problemas con la plataforma Azure subyacente. En Azure, las distintas zonas y regiones le permiten crear soluciones para lograr una alta disponibilidad:

    • Las Availability Zones son construcciones de aislamiento de errores en el diseño del centro de datos de Azure. Cada zona tiene su propia potencia, red y refrigeración para minimizar la posibilidad de interrupciones que se propagan entre zonas. Para usar Availability Zones, cada recurso de Azure se puede implementar en una zona específica ("zonal") o en todas las zonas ("redundancia de zona").

    • Las soluciones de varias regiones proporcionan el mayor nivel de aislamiento de errores y la mayor confiabilidad, pero a menudo son más difíciles de implementar debido a la mayor latencia entre las regiones geográficas. Esta latencia puede provocar retrasos en la replicación de datos. Para más información sobre el diseño de varias regiones, consulte la documentación de Azure Mission Critical.

  • Considere la posibilidad de usar Azure DevOps y GitHub para proporcionar formas automatizadas de administrar procesos de desarrollo, compilación e implementación.

Recomendaciones

  • Aislar por entorno: cree distintos entornos de Container Apps para el aislamiento completo de los recursos. Evite usar revisiones para crear aplicaciones de contenedor específicas del inquilino. Para más información, consulte Azure Container Apps en una solución multiinquilino.

  • Uso de límites para calcular recursos: use contenedores CPU y solicitudes de recursos de memoria para administrar los recursos de proceso y memoria dentro de un entorno. Los límites predeterminados del contenedor son 2 vCPU y 4 GiB para el proceso y la memoria, respectivamente.

  • Uso de sondeos de estado: agregue sondeos de estado a las aplicaciones de contenedor. Asegúrese de que las revisiones contienen livenessProbe, readinessProbe y startupProbe. Para más información, consulte Sondeos de estado de Azure Container Apps.

  • Configuración correcta de sondeos de estado: el sondeo de estado es responsable de realizar llamadas a un punto de conexión y espera recibir un código de estado correcto, normalmente en el intervalo HTTP 2xx, cuando el sistema está en estado correcto. Se recomienda que este punto de conexión realice comprobaciones no solo en el estado del sistema, sino también en el estado de los componentes críticos de bajada, como bases de datos, almacenamiento y servicios de mensajería. Para evitar una cascada continua de comprobaciones de estado, es importante implementar el almacenamiento en caché de las respuestas de mantenimiento de bajada durante un breve período de tiempo.

  • Registro amplio: cree consultas de Log Analytics para buscar advertencias, errores y mensajes críticos.

    • Los registros de aplicaciones se generan mediante mensajes de salida de consola de contenedores (stdout/stderr). Cuando Dapr está habilitado, la salida de la consola contiene el contenedor de aplicaciones y los mensajes sidecar de Dapr. Consulte Supervisión de registros para obtener más información sobre cómo consultar registros mediante Log Analytics.

    • Los registros del sistema se generan mediante Azure Container Apps.

  • Habilitación del seguimiento visual: al habilitar Dapr, configure el "DaprAIInstrumentationKey" en el nivel de entorno de ACA para visualizar el seguimiento distribuido de aplicaciones de contenedor en el mapa de aplicaciones de Azure Application Insights.

  • Uso del SDK de Application Insights: El uso del SDK de Application Insights para los datos de aplicación como agente de autoinstrumentación aún no se admite.

  • Uso de zonas de disponibilidad: cuando necesite alta disponibilidad, use Availability Zones en todos los recursos. Asegúrese de que no solo Container Apps tiene redundancia de zona, sino también los servicios adyacentes necesarios para cumplir las solicitudes, como bases de datos, almacenamiento y servicios de mensajería.

  • Uso de replicación distribuida: para fines de recuperación ante desastres (DR), asegúrese de que los datos de la aplicación y el código fuente estén disponibles en más de una región de Azure. Por ejemplo, las cuentas de Azure Storage permiten el almacenamiento con replicación geográfica y Azure SQL Databases permite colocar réplicas de lectura en otras regiones.

  • Automatización de compilaciones: use la automatización de un extremo a otro para compilar e implementar las aplicaciones de Azure Container Apps.

  • Use un registro de contenedor: almacene las imágenes de contenedor en Azure Container Registry y replique geográficamente el registro en cada región de ACA.

  • Prueba del plan de recuperación ante desastres: cree y pruebe un plan de recuperación ante desastres con regularidad mediante escenarios de errores clave. Para obtener más información, consulte Prueba de copia de seguridad y recuperación ante desastres.