Este contenido está desactualizado. Esta versión de Well-Architected Framework se encuentra ahora en: https://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/reliability.html

REL 10: Cómo utilizar el aislamiento de errores para proteger su carga de trabajo

Los límites del aislamiento de errores restringen los efectos de un error dentro de la carga de trabajo a una cantidad limitada de componentes. Los componentes que se encuentren por fuera de los límites no se ven afectados por el error. La implementación de varios límites de aislamiento de errores le permite restringir el impacto de los errores en su carga de trabajo.

Recursos

AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
AWS re:Invent 2019: Innovation and operation of the AWS global network infrastructure (NET339)
What is AWS Outposts?
Global Tables: Multi-Region Replication with DynamoDB
AWS Local Zones FAQ
AWS Global Infrastructure
The Amazon Builders' Library: Workload isolation using shuffle-sharding

Prácticas recomendadas:

Plan de mejora

Implemente la carga de trabajo en varias ubicaciones

  • Utilice varias zonas de disponibilidad y regiones de AWS: Distribuya los datos y los recursos de la carga de trabajo en varias zonas de disponibilidad o, cuando sea necesario, en distintas regiones de AWS. Estas ubicaciones pueden ser tan variadas como se necesite.
  • Si su carga de trabajo debe implementarse en varias regiones, elija una estrategia de varias regiones: La mayoría de las necesidades de confiabilidad se pueden satisfacer dentro de una sola región de AWS mediante una estrategia de múltiples zonas de disponibilidad. Use una estrategia de varias regiones cuando sea necesario para satisfacer sus necesidades comerciales.
    AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
  • Evalúe AWS Outposts para su carga de trabajo: Si su carga de trabajo requiere baja latencia en su centro de datos en las instalaciones o tiene requisitos locales de procesamiento de datos. Ejecute los servicios y la infraestructura de AWS en las instalaciones por medio de AWS Outposts
    What is AWS Outposts?
  • Determine si AWS Local Zones lo ayuda a brindar servicio a sus usuarios: Si tiene requisitos de baja latencia, vea si AWS Local Zones se encuentra cerca de sus usuarios. En caso afirmativo, úselo para implementar cargas de trabajo más cercanas a esos usuarios
    AWS Local Zones FAQ
  • Automatice la recuperación de componentes restringidos a una sola ubicación

  • Implemente la autoreparación: Implemente sus instancias o contenedores con el escalado automático cuando sea posible. Si no puede usar el escalado automático, use la recuperación automática para instancias EC2 o implemente la automatización de autoreparación basada en eventos del ciclo de vida del contenedor de Amazon EC2 o ECS.
  • Utilice la recuperación automática de instancias EC2 para cargas de trabajo que requieren una única dirección de ID de instancia, dirección IP privada, dirección IP elástica y metadatos de instancia.
    Recover your instance.
  • Utilice los eventos del ciclo de vida de la instancia EC2 o los eventos de ECS para automatizar la autoreparación cuando no se pueda utilizar el escalado automático o la recuperación de EC2.
    EC2 Auto Scaling lifecycle hooks
    Amazon ECS events
  • Utilice arquitecturas de mamparo

  • Utilice arquitecturas de mamparo: Al igual que los mamparos de un barco, este patrón garantiza que un error sea contenido dentro de un pequeño subconjunto de solicitudes o usuarios para que el número de las solicitudes dañadas sea limitado y la mayoría de ellas continúe sin errores. Los mamparos para datos generalmente se denominan particiones, mientras que los mamparos para servicios se conocen como células
    Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
    AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
  • Evalúe la arquitectura basada en células para su carga de trabajo: En una arquitectura basada en células, cada célula es una instancia completa e independiente del servicio y tiene un tamaño máximo fijo. A medida que aumenta la carga, las cargas de trabajo aumentan al agregar más células. Se utiliza una clave de partición en el tráfico entrante para determinar qué celda procesará la solicitud. Cualquier error se contiene en la celda individual en la que se produce, de manera que la cantidad de solicitudes dañadas se limita mientras que las otras celdas continúan funcionando sin errores. Es fundamental identificar la clave de partición adecuada para minimizar las interacciones entre las celdas y evitar la necesidad de involucrar servicios complejos de mapeo en cada solicitud. Los servicios que requieren una asignación compleja terminan simplemente trasladando el problema a los servicios de asignación, mientras que los servicios que requieren interacciones entre las células reducen la independencia de las células (y, por lo tanto, las supuestas mejoras de disponibilidad al hacerlo).