When you talk about service levels to a software team or a consumer of the software, they always tend to assume it as Service Level Agreement (SLA). But, not all services have a SLA. Also, there are two other key concepts to understand which are more important – Service Level Indicator (SLI) and Service Level Objective (SLO). I will explain all the three keywords in this post.
What is a Service Level Indicator (SLI)?
SLI is a metric of a system that can be measured and representative of user experience. SLIs are always objective, unambiguous and something that is visible to be user.
E.g., Time taken by the shop to prepare your favorite ice cream is a SLI
What is a Service Level Objective (SLO)?
SLO is the target objective of a system measured in SLI. One or more SLI can be used to define the SLO of a system. As with SLI, this must relate to user experience and clearly visible.
E.g., 90% of time (at least 9 out of 10 times) you can get your favorite ice cream within 2 minutes is a SLO
Be aware that not all services expose their SLO for fear of complaints or dissatisfaction with users.
What is a Service Level Agreement (SLA)?
SLA is a stronger version of SLO where the service provider must compensate the user for unacceptable user experience. This is normally used only in mission-critical applications that can cause serious business or human implications. Almost always, this include some level of compensation back to the user.
E.g., If the preparation time of your favorite ice cream is greater than 5 minutes, then you get it for free.
SLI is a metric that indicates user experience of the system. SLO is the target objective that the system must satisfy to be usable, measured in SLI. SLA is a stringent version of SLO in which the service provider offers a commitment and almost always agrees to compensate in case of violation.
So next time someone talks to you about Service Levels, you know what to say – right?