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).

Checklist

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 services

Reference architecture

Next step