Azure — Combined (Composite) SLA
Solutions in the cloud are often made up of multiple resources (Web Apps, Databases, load balancers etc), each of which has individual SLA’s associated with each service.
An example would be a business who has a web app which connects to a database but both have a different SLA …
To find out the combined SLA of you will need to multiply each of the individual SLA. 99.95 x 99.99 = 99.94
When we combined SLA’s from different services/resources, the combined SLA is referred to as a “Composite SLA”. The Combined/Composite SLA is lower than each of the individual SLA because an application that relies on multiple services has multiple points of failure.
You can improve the Composite SLA by adding independent (to the SQL Database) fallback path. So in our example, we add a queue to the solution which has SLA of 99.9. In the event of a failure of the Database, the Web App will record the transactions in the “Queue”
To work out the new Composite SLA use the following calucation
Database or Queue = 1.0 - (0.0001 x 0.001) = 99.99999Web app and (database or queue) 99.95 x 99.99999 = 99.95 ish (99.94999)
But it is worth noting in the above example we have to consider the application logic is more complex, the cost increases for an additional queue and trying to process transactions after recovering the Database in my experience has never been straight forward.