REL 8. How does your system withstand component failures?
Do your applications have a requirement, implicit or explicit, for high availability and low mean time to recovery (MTTR)? If so, architect your applications for resiliency and distribute them to withstand outages. To achieve higher levels of availability, this distribution should span different physical locations. Architect individual layers (e.g., web server, database) for resiliency, which includes monitoring, self-healing, and notification of significant event disruption and failure.
Best practices:
ï‚· Load Balancing Use a load balancer in front of a pool of resources.
ï‚· Multi-AZ /Region Distribute applications across multiple Availability Zones /regions.
ï‚· Auto Healing Use automated capabilities to detect failures and perform an action to remediate.
ï‚· Monitoring Continuously monitor the health of your system.
ï‚· Notification Plan to receive notifications of any significant events.