Design for reliability
Reliable applications should maintain a pre-defined percentage of uptime (availability). They should also balance between high resiliency, low latency, and cost (High Availability). Just as important, applications should be able to recover from failures (resiliency).
How have you designed your applications with reliability in mind?
- Define availability and recovery targets to meet business requirements.
- Build resiliency and availability into your apps by gathering requirements.
- Ensure that application and data platforms meet your reliability requirements.
- Configure connection paths to promote availability.
- Use Availability Zones where applicable to improve reliability and optimize costs.
- Ensure that your application architecture is resilient to failures.
- Know what happens if the requirements of Service Level Agreements are not met.
- Identify possible failure points in the system to build resiliency.
- Ensure that applications can operate in the absence of their dependencies.
- Azure Front Door
- Azure Traffic Manager
- Azure Load Balancer
- Azure Virtual Network NAT
- Service Fabric
- Kubernetes Service (AKS)
- Azure Site Recovery
- Deploy highly available network virtual appliances
- Failure Mode Analysis for Azure applications
- Minimize coordination