|
| 1 | +# Calculating Solution Service Level Agreement |
| 2 | + |
| 3 | +The requirement for the Contoso Fiber CAMS application is that the combined service level agreement for all components in the hot path is greater than 99.9%. The components in the hot path comprise of any service that is used in fulfilling a web request from a user. |
| 4 | + |
| 5 | +## Development |
| 6 | + |
| 7 | +With a development environment, network isolation is not used. The following services are considered: |
| 8 | + |
| 9 | +| Service | Azure SLA | |
| 10 | +|:-------------------------------|----------:| |
| 11 | +| Azure Front Door | 99.990% | |
| 12 | +| Entra ID | 99.990% | |
| 13 | +| Azure App Service | 99.950% | |
| 14 | +| Azure Container Apps | 99.950% | |
| 15 | +| Azure Container Registry | 99.900% | |
| 16 | +| Azure Cache for Redis | 99.900% | |
| 17 | +| Azure Postgres Flexible Server | 99.990% | |
| 18 | +| Azure Storage | 99.900% | |
| 19 | +| Azure Key Vault | 99.990% | |
| 20 | +| App Configuration | 99.900% | |
| 21 | +| Azure Service Bus | 99.900% | |
| 22 | +| **Combined SLA** | **99.362%** | |
| 23 | + |
| 24 | +## Production - Single Region |
| 25 | + |
| 26 | +When operating in production, network isolation is used. We do not consider the availability of the hub resources or VNET peering. |
| 27 | + |
| 28 | +| Service | Azure SLA | |
| 29 | +|:--------------------------|------------:| |
| 30 | +| Azure Front Door | 99.9900% | |
| 31 | +| Front Door Private Link | 99.9900% | |
| 32 | +| Entra ID | 99.9900% | |
| 33 | +| Private DNS Zone | 100.000% | |
| 34 | +| Azure Key Vault | 99.9900% | |
| 35 | +| Key Vault Private Link | 99.9900% | |
| 36 | +| Azure Container Registry* | 99.9999% | |
| 37 | +| **Combined global SLO** | **99.9499%** | |
| 38 | + |
| 39 | +* Note that the Azure Container Registry is deployed in two regions which allows its usual 99.9% SLA to increase to 99.9999% in total. For more information, see [Azure Container Registry Geo-replication](https://learn.microsoft.com/azure/container-registry/container-registry-geo-replication#considerations-for-using-a-geo-replicated-registry). |
| 40 | + |
| 41 | +| Service | Azure SLA | |
| 42 | +|:----------------------|----------:| |
| 43 | +| Azure App Service | 99.950% | |
| 44 | +| - Private Link | 99.990% | |
| 45 | +| Azure Container App | 99.950% | |
| 46 | +| - Private Link | 99.990% | |
| 47 | +| Azure Cache for Redis | 99.900% | |
| 48 | +| - Private Link | 99.990% | |
| 49 | +|Azure Postgres Flexible Server | 99.990% | |
| 50 | +| - Private Link | 99.990% | |
| 51 | +| Azure Storage | 99.900% | |
| 52 | +| - Private Link | 99.990% | |
| 53 | +| App Configuration | 99.900% | |
| 54 | +| - Private Link | 99.990% | |
| 55 | +| Azure Service Bus | 99.900% | |
| 56 | +| **Combined regional SLO** | **99.4215%** | |
| 57 | + |
| 58 | +### Total production SLO |
| 59 | + |
| 60 | +Because there are two redundant regions, the *total* regional SLO for the two regions combined is calculated as `1 - (1 - SLO)^2` where SLO is the SLO for a single regional spoke deployment. This gives us a total combined regional service SLO of **99.9967%**. |
| 61 | + |
| 62 | +This total regional SLO is combined with the global SLO to give the total SLO for the production environment: **99.9467%**. |
| 63 | + |
| 64 | +By having redundant resources in two regions, the total SLO for the production environment (99.9467%) exceeds the requirement of 99.9%. |
| 65 | + |
| 66 | +For more information on how to calculate effective SLO, please refer to [the Well Architected Framework](https://learn.microsoft.com/azure/well-architected/reliability/metrics). |
0 commit comments