You support a high-traffic web application with a microservice architecture. The home page of the application displays multiple widgets containing content such as the current weather, stock prices, and news headlines. The main serving thread makes a call to a dedicated microservice for each widget and then lays out the homepage for the user. The microservices occasionally fail; when that happens, the serving thread serves the homepage with some missing content. Users of the application are unhappy if this degraded mode occurs too frequently, but they would rather have some content served instead of no content at all. You want to set a Service Level Objective (SLO) to ensure that the user experience does not degrade too much. What Service Level Indicator (SLI) should you use to measure this?
A. A quality SLI: the ratio of non-degraded responses to total responses.
B. An availability SLI: the ratio of healthy microservices to the total number of microservices.
C. A freshness SLI: the proportion of widgets that have been updated within the last 10 minutes.
D. A latency SLI: the ratio of microservice calls that complete in under 100ms to the total number of microservice calls.
Disclaimer
This is a practice question. There is no guarantee of coming this question in the certification exam.
Answer
A
Explanation
A. A quality SLI: the ratio of non-degraded responses to total responses.
(Quality as an SLI. Quality is a helpful SLI for complex services that are designed to fail gracefully by degrading when dependencies are slow or unavailable. The SLI for quality is defined as follows: The proportion of valid requests served without degradation of service.
An SLI (Service Level Indicator) is a metric that is used to measure the performance of a service against a specific SLO (Service Level Objective). To measure the user experience of the web application, which is the main concern in this scenario, the most appropriate SLI would be a quality SLI: the ratio of non-degraded responses to total responses. This will give you a clear indication of how often users are experiencing a degraded mode of the web application, and it will allow you to set a specific SLO for the percentage of non-degraded responses that you want to achieve.
https://cloud.google.com/architecture/adopting-slos)
B. An availability SLI: the ratio of healthy microservices to the total number of microservices.
(An availability SLI would measure the availability of the microservices, not the user experience of the web application.)
C. A freshness SLI: the proportion of widgets that have been updated within the last 10 minutes.
(A freshness SLI would measure the freshness of the content, not the user experience of the web application.)
D. A latency SLI: the ratio of microservice calls that complete in under 100ms to the total number of microservice calls.
(A latency SLI would measure the speed of the microservices, not the user experience of the web application.)