SLOs, SLIs, SLAs
Objectives, Indicators, and Agreements. What’s the difference, who do they apply to, and why should you care?
The Objective is the vision you share (with your customers). It’s what you want to do. It’s how things would look in a (realistic) perfect world.
The Indicator is how you know what’s really going on. How you define your indicators is critical, because if the don’t measure and report on your objective your setting yourself (and your customers) up for failure.
The Agreement is the contract you have with your customers. It’s the promise you make about how close to your SLO you’re guaranteeing, and what you’re going to do if you don’t get there.
And before we get to far along, I want to respond to that mumbled comment in the back row about this not applying because “I don’t have any customers”. Yes, you do have customers. Unless you’re doing some side project that impacts no-one and you never tell anyone anything about, you have customers. From the obvious things like a service guaranteeing to respond within X ms, to a single number in a weekly verbal status report, someone is looking at the information and functionality you’re providing. That person is your customer. The person could be on your team, could be on a elated team, could be a data scientist pulling data out of the data lake, or even, one day soon, a person on the side of the rode that pushed a button and expects a care to show up. We ALL have customers.
Now that that’s out of the way, back to the SL’s. You care because they impact everything you do. You design for your Objectives. You monitor your Indicators, and you operate to your Agreements. And you don’t just care when you miss your SLAs. Your SLA’s can help you way before that.
Remember when you started to design that system and you had to cut something? How did you know what to cut? How did you know what could wait until the next release? You used priorities. And where did those priorities come from? They didn’t appear fully developed and delivered by a PM as holy writ. They started with the Objectives and Agreements. What do you need to do, what do you want to do, what can you not do, and when do they need to be done by? That’s why you care about SLOs and SLAs you write the first line of code.
As for the SLIs, you get what you measure. SLIs don’t just wake you up in the middle of the night. If they’re done right they let you sleep in peace because you know things are going to be OK. They let you know when things get close to a red line before they get there so you can do something about it (and sleep peacefully). They do the same for your customers. They know that they can rely on you and can focus on their value add. They can tell when a problem is theirs and not bother you.