In Short: SLI, SLO and SLA (and Error Budget)



Let's take an analogy that you are a toy-maker and you deliver toys to many customers on monthly basis. Customers want some kind of agreement of deliveries so they get confidence in your service. You agree with your customers that you will deliver at least 95 toys per month. The number 95 becomes your SLO. A service level objective (SLO), which is measurable and agreed with the customer. This agreement will be called an SLA - Service Level Agreement.

So, "SLA is an agreement with your customers that says the SLO will be met on a monthly/weekly/daily basis."

You know you can make 4 toys per day and capable of delivering 120 toys per month. This is something that is measurable on daily basis by metrics you collect from your production house. This metric is something that tells exactly about your deliverables. Thus this becomes your Service Level Indicator.

Base on the commitment you made to your customers i.e., 95 toys per month, which is 3.1 toys per day, knowing you are capable to deliver 4 toys per day. You have 0.9 toy-making hours as your error budget. Considering 8 hours of work per day, you take 2 hours to make one toy. So 0.9 toy-making hour is 1.8 hours is your error budget. So if your production house is unproductive for 1.8 hours in a day, you must be FINE with it!!!

This post is just to quickly get an idea of SLI, SLO, and SLA. There is more to it. I would recommend this post by Google to get a deeper meaning.

Comments

Popular posts from this blog

Quickly Setup Golang pprof and debugging for Memory Leak

Effectively Use "cbt" command to get Google Cloud BigTable Data

Unit testing of typescript in visual studio (mocha + chai)