how to calculate SLAs for Azure services

Animesh Kashyap 21 Reputation points
2024-05-17T03:07:11.6333333+00:00

We are using lot of Azure services in a project, working together such as

  1. App Service Environment/App Service Plan/ Web App, Function Apps. ASP are in premium tier
  2. Cosmos DB
  3. ADF, Logic Apps, Storage Account, Azure Document Intelligence

Given all the components in a solution needs to be 99/99% available. How to calculate given we have so many different components

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,421 questions
Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
7,070 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Vlad Costa 90 Reputation points
    2024-05-17T07:58:24.3866667+00:00

    I had to do something similar to an RFP. It is a manual process that demands time. To calculate the overall availability of a system composed of multiple Azure services, you need to consider the Service Level Agreement (SLA) of each individual service. The SLA defines the level of service that you can expect from Azure.

    Here's a general approach to calculating the compound availability:

    1. Serial Components: If the components are in a serial configuration (one after another), you will multiply the availability of each component together to get the total availability². For example, if you have two services, each with 99.9% availability, the total availability would be 0.999 * 0.999 = 0.998001 or 99.8%.
    2. Parallel Components: If the components are in a parallel configuration (side by side), the system is available as long as both services are not down. You would calculate the unavailability of each component (1 minus the availability), multiply the unavailability of the components, and then subtract this from 1 to get the total availability.

    Please note that these calculations assume that the failures of the individual components are independent of each other.

    In your case, you would need to examine your system's architecture and determine how the different Azure services interact with each other. Then, you can use the methods above to calculate the overall availability.

    Remember, achieving high availability often involves designing for redundancy and failover capabilities. Azure provides various features and services, such as Azure Traffic Manager, Azure Load Balancer, and Availability Zones, to help create highly available applications.

    I hope this helps!

    0 comments No comments