I looked at How do you calculate the compound Service Level Agreement (SLA) for cloud services? and am still not sure how topography affects SLA. Suppose a request...
- passes through one instance of Service A, where all Services have SLA
- resulting in concurrent work items on Kafka topics K1 and K2, where Kafka has SLA
- which get consumed concurrently by Services B1 and B2 respectively (B1 consumes K1; B2 consumes K2)
- which both send their results via a third Kafka topic K3
- and all 3 services (A, B1, B2) read and write a common DB with SLA
Suppose this is all in the same availability zone. Here are some questions I have:
- Does the SLA for Kafka only figure into the calculation once? I'm guessing Kafka is either up or down for the entire AZ, so it doesn't matter how many Kafka topics I use, connecting however many components.
- Does the SLA for AWS ECS microservices figure into the calculation as many times as they appear on my execution path according to the SLA question referenced above which explains how to calculate for serial and parallel paths?
- Does the SLA for the DB appear along each execution path separately like in #2 above for the microservices? Or is it more like Kafka, affecting the entire AZ?