Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los espacios aislados de Azure Container Apps proporcionan entornos aislados para ejecutar código. Cada entorno aislado se ejecuta en una máquina virtual ligera (microVM) que se inicia en menos de un segundo y puede conservar su estado en memoria cuando se suspende. El servicio garantiza la fiabilidad de las cargas de trabajo del entorno aislado mediante capacidades que usted configura y capacidades que la plataforma gestiona por usted.
Cuando se usa Azure, la confiabilidad es una responsabilidad compartida. Microsoft proporciona una variedad de capacidades para apoyar la resiliencia y la recuperación. Es responsable de comprender cómo funcionan esas funcionalidades dentro de todos los servicios que usa y de seleccionar las funcionalidades que necesita para cumplir los objetivos empresariales y los objetivos de tiempo de actividad.
En este artículo se describe cómo hacer que los entornos aislados de Container Apps sean resistentes a fallos transitorios, fallos en zonas de disponibilidad, fallos que afecten a toda una región y tareas de mantenimiento del servicio. También se describen las opciones de copia de seguridad y restauración y la información clave sobre el acuerdo de nivel de servicio (SLA).
Recomendaciones de implementación de producción para la confiabilidad
En el caso de las cargas de trabajo de producción, se recomienda que usted:
Almacene datos duraderos fuera de la memoria del espacio aislado y elija una opción de redundancia de almacenamiento que coincida con los objetivos de recuperación. Use volúmenes de espacio aislado para los datos que deben conservarse cuando se detenga un espacio aislado. Para lograr resistencia a un error en toda la región, use un almacén de datos externo que replique los datos en otra región.
Cuando se usa Azure Blob Storage, el almacenamiento con redundancia geográfica (GRS) replica los datos en una región emparejada. En el caso de las regiones no emparejadas, implemente cuentas de almacenamiento independientes y configure un método de replicación compatible, como la replicación de objetos para blobs en bloques. Para obtener más información, consulte Soluciones multiregión personalizadas para Azure Blob Storage.
Implemente grupos aislados independientes en múltiples regiones si una implementación en una sola región no puede cumplir el objetivo de disponibilidad. Para obtener más información, consulte Resilience to region-wide failures (Resistencia a errores en toda la región).
Introducción a la arquitectura de confiabilidad
En esta sección se describen algunos de los aspectos importantes de cómo funciona el servicio que es más relevante desde una perspectiva de confiabilidad. En la sección se presenta la arquitectura lógica, que incluye algunos de los recursos y características que se implementan y usan. También se describe la arquitectura física, que proporciona detalles sobre cómo funciona el servicio en segundo plano.
Arquitectura lógica
Azure Container Apps proporciona distintas opciones de proceso para aplicaciones, trabajos, sesiones dinámicas y espacios aislados. Los grupos de sandbox no requieren un entorno de Container Apps. Para más información sobre la confiabilidad de otros componentes de Container Apps, consulte Confiabilidad en Azure Container Apps.
Los recursos principales de los espacios aislados de Container Apps son:
Grupo de entorno aislado: Un grupo de entorno aislado es el límite regional de administración de nivel superior para los entornos aislados y usa el tipo de recurso
Microsoft.App/sandboxGroups. Todos los entornos aislados, las imágenes de disco, las instantáneas, los volúmenes y los valores de configuración confidenciales (secrets) pertenecen al ámbito de un grupo de entornos aislados.Espacio aislado: Cada espacio aislado es una microVM ligera y aislada que se ejecuta desde una imagen de disco o una instantánea y tiene su propia CPU, memoria, disco local y límite de red.
Una imagen de disco es una imagen de contenedor de la Open Container Initiative (OCI) convertida para usarse como sistema de archivos raíz de una zona protegida.
Una instantánea es una captura en un momento determinado del estado completo de un sandbox que persiste independientemente del sandbox de origen.
El estado de un entorno aislado puede ser en ejecución o detenido. Cuando un espacio aislado se detiene, ya sea automáticamente o a petición, libera sus recursos de proceso. Modo de memoria conserva la imagen completa de la memoria y el disco local del espacio aislado. El modo de disco solo conserva el disco local, por lo que la microVM y sus procesos se reinician al reanudar el entorno aislado.
Volúmenes: El disco local pertenece a un sandbox individual. Un volumen sandbox proporciona almacenamiento persistente que existe de forma independiente de un sandbox individual. Puede montar volúmenes de Azure Blob Storage en varios entornos aislados al mismo tiempo, mientras que los volúmenes de disco de datos respaldados por Azure Disk Storage solo se pueden montar en un único entorno aislado a la vez. El servicio de almacenamiento de respaldo determina las opciones de durabilidad y recuperación de los datos de volumen.
Para obtener más información sobre la arquitectura y los recursos del espacio aislado, consulte Azure Container Apps Información general sobre los espacios aislados.
Arquitectura física
Los entornos aislados se ejecutan en varios clústeres de computación independientes que opera Microsoft. Usted es responsable de configurar los grupos de entornos aislados, los entornos aislados y otros recursos que implemente. Microsoft es responsable de la implementación, configuración, administración de capacidad, supervisión de estado y mantenimiento del clúster. No selecciona, implementa, configura ni administra los clústeres. El servicio programa nuevos entornos aislados y reinicia los entornos aislados detenidos en clústeres en buen estado, y dirige las asignaciones evitando los clústeres no saludables.
Microsoft mantiene almacenes de estado redundantes para la configuración del servicio, los metadatos del espacio aislado y los artefactos, como las imágenes de disco y las instantáneas.
Resistencia a errores transitorios
Los errores transitorios son errores breves e intermitentes en los componentes. Se producen con frecuencia en un entorno distribuido como la nube y son una parte normal de las operaciones. Los errores transitorios se corrigen después de un breve período de tiempo. Es importante que las aplicaciones puedan controlar errores transitorios, normalmente mediante el reintento de solicitudes afectadas.
Todas las aplicaciones hospedadas en la nube deben seguir las instrucciones de control de errores transitorios de Azure cuando se comunican con cualquier API, bases de datos y otros componentes hospedados en la nube. Para más información, vea Recomendaciones para gestionar errores temporales.
Cuando use los entornos aislados de Container Apps, tenga en cuenta los errores transitorios en las siguientes partes de su solución:
Operaciones de administración del entorno aislado: Cuando la automatización administre grupos de entornos aislados, entornos aislados o recursos relacionados, vuelva a intentar las solicitudes que fallen debido a errores transitorios y use retroceso exponencial. Limite el número de reintentos y vuelva a intentar solo las operaciones que son seguras para repetirse.
Código que se ejecuta en un espacio aislado: Implemente el control de errores transitorios para las llamadas a API externas, bases de datos y otros servicios. Siga las instrucciones de reintento para cada dependencia porque el comportamiento de reintento y las operaciones que son seguras para repetir varían según el servicio.
Resistencia a errores de zona de disponibilidad
Los entornos aislados de Container Apps no admiten la implementación en una zona de disponibilidad específica ni la redundancia de zona para un grupo de entornos aislados. Para que la carga de trabajo sea resistente a errores de zona de disponibilidad, implemente grupos de espacio aislado independientes en varias regiones. Para obtener más información, consulte Resilience to region-wide failures (Resistencia a errores en toda la región).
Resistencia a errores en toda la región
Container Apps Sandboxes es un servicio de una sola región. Si la región deja de estar disponible, los grupos de entornos aislados y los entornos aislados que contienen también dejan de estar disponibles. El servicio no replica grupos de entornos aislados ni entornos aislados entre regiones, ni realiza una conmutación por error automáticamente a otra región. Sin embargo, puede desplegar grupos de entorno aislado independientes en varias regiones. Eres responsable de garantizar que las dependencias estén disponibles en cada región y de gestionar la distribución de cargas de trabajo y la conmutación por error. Para obtener más información, consulte Soluciones de varias regiones personalizadas para la resistencia.
Durante un fallo que afecte a toda una región, es posible que pierda cualquier estado almacenado únicamente en la memoria de un entorno aislado en ejecución. Los grupos de sandbox, los sandboxes y los artefactos gestionados por el servicio en la región afectada seguirán sin estar disponibles hasta que la región se recupere.
Los volúmenes de sandbox proporcionan almacenamiento que se mantiene más allá del ciclo de vida de un sandbox individual. Durante un error en toda la región, la disponibilidad del volumen y la recuperación dependen del servicio de almacenamiento de respaldo y su configuración. Los entornos aislados de Container Apps no proporcionan replicación entre regiones ni conmutación por error para los datos de los volúmenes. En su lugar, el servicio de almacenamiento de respaldo proporciona esas funcionalidades cuando se configuran. Por ejemplo, para obtener información sobre los volúmenes de Azure Blob Storage, consulte Confiabilidad en Azure Blob Storage.
Soluciones de varias regiones personalizadas para la resistencia
Los espacios aislados de Azure Container Apps no coordinan implementaciones en varias regiones ni replican grupos de espacios aislados, espacios aislados ni sus recursos relacionados entre regiones. Para crear una solución de varias regiones personalizada, tiene las siguientes responsabilidades:
Despliegues y dependencias regionales: Implemente un grupo de pruebas aislado independiente en cada región que tenga previsto utilizar. Mantenga la configuración, las imágenes de disco, los secretos y otras dependencias disponibles en cada región.
Detección de errores y recuperación de cargas de trabajo: Configure la aplicación o la capa de orquestación para detectar cuándo una región no está disponible, dirigir la creación de espacio aislado y el procesamiento de cargas de trabajo a una región correcta y determinar cómo reiniciar el trabajo interrumpido.
Enrutamiento del tráfico: Si los clientes se conectan a través de puntos de conexión específicos de la región que expone la aplicación, use un servicio global de equilibrio de carga, como Azure Front Door o Azure Traffic Manager, para enrutar el tráfico a un punto de conexión correcto.
Replicación y recuperación de datos: Almacene cualquier estado necesario después de la conmutación por error en un almacén de datos externo que admita la replicación y recuperación entre regiones. Si un servicio de almacenamiento de respaldo proporciona replicación entre regiones para los datos de volumen, ese servicio determina el comportamiento de la replicación y la conmutación por error. Los entornos aislados de Azure Container Apps no replican ni realizan la conmutación por error de los datos de los volúmenes entre regiones.
Copias de seguridad y restauración
No use memoria de espacio aislado ni disco local como único almacén de datos duradero. Suspender un espacio aislado conserva su disco local y, en modo de memoria, su estado de memoria. También puede crear instantáneas que se conserven de forma independiente del espacio aislado de origen. El estado suspendido y las instantáneas siguen limitados al grupo de entorno aislado regional y no son copias de seguridad entre distintas regiones.
Utilice un volumen de espacio aislado para los datos que deban persistir más allá del ciclo de vida de un espacio aislado individual. El servicio de almacenamiento de respaldo y su configuración determinan las funcionalidades de copia de seguridad y restauración de los datos de volumen. En el caso de los almacenes de datos externos que administra, es responsable de configurar la copia de seguridad y la recuperación entre regiones para cumplir los objetivos de durabilidad y recuperación.
Para volver a crear el despliegue del entorno de pruebas tras una eliminación accidental o una caída generalizada en la región, almacene la configuración del grupo de entornos de pruebas en plantillas de infraestructura como código con control de versiones, como Bicep o Terraform. Mantenga las imágenes de disco de origen en un registro que cumpla los requisitos de recuperación.
Resistencia al mantenimiento del servicio
Microsoft aplica periódicamente actualizaciones de servicio y realiza otro mantenimiento. La plataforma Azure controla estas actividades automáticamente, lo que garantiza que el mantenimiento sea transparente y sin problemas. Durante las operaciones de mantenimiento, es posible que observe breves interrupciones. Normalmente, estas interrupciones duran unos segundos. Asegúrese de que las aplicaciones cliente están configuradas para controlar errores transitorios para que sean resistentes a interrupciones breves.
Cuando el mantenimiento afecta a un sandbox en ejecución, la plataforma conserva su estado, lo traslada a una capacidad de cómputo en buen estado y reanuda su ejecución automáticamente. En los entornos aislados que utilizan modo de memoria, la plataforma conserva la memoria y el estado del disco local. En el caso de los espacios aislados que usan el modo de disco, la plataforma solo conserva el estado del disco local.
Acuerdo de nivel de servicio
Azure Container Apps Sandboxes no ofrece un acuerdo de nivel de servicio (SLA) de disponibilidad. Los servicios de almacenamiento que respaldan los volúmenes de espacio aislado y los almacenes de datos externos usados por la solución pueden tener acuerdos de nivel de servicio independientes. Para obtener más información, consulte Contratos de nivel de servicio para Online Services.