Simplest explanation of the 3 confusing terms in SRE :

Imagine we run a food delivery app like Zomato or Swiggy.

  • SLI = How we measure delivery performance (Is the order reaching on time?)
  • SLO = Our internal target (95% of orders should be delivered within 30 minutes)
  • SLA = Our promise to customers (99% of orders will be delivered within 45 minutes, or money back)

Ez explanation

  • SLI (Service Level Indicator) : The actual measurement like API success rate, page load time etc. We dont set this, we measure it, this is the actual performance of the service, and our reality.
  • SLO (Service Level Objective) : Our internal goal like “99.9% of API requests should succeed”. More like what we want our SLI to be.
    • Gives an error budget (how many times/how much time we can mess up): if SLO is 99.9%, you can be down for ~43 min/month
  • SLA (Service Level Agreement) : Legal promise to customers with consequences.
    • “99.9% uptime or you get credits”
    • Always we should set stricter SLO than SLA (because if our SLO == SLA, then we might not meet the SLA)

So more like this :

  • We design for SLO.
  • We commit to SLA.
  • We audit both using SLI.