SLO v. SLA
SLO: how to define and measure a Service Level Objective and an SLA.
APImetrics is a tool for monitoring the performance and quality of APIs. There are lots of good reasons why you should do that, but one particularly important one is to see if an API meets its Service Level Agreement (SLA). But as a team of Google engineers point out in their O’Reilly book Reliability Engineering: How Google Runs Production Systems, an SLA is actually a legal document (or, in the case of an internal API, a formal agreement between business units).
So, the whole SLA places a legal wrapper around one of more Service Level Objectives (SLOs). For an API, examples of SLOs might be:
- 99.9% availability
- a median latency less than 300 ms from all cloud locations
- always returning a payload with a size greater than 25 kB
Or you could use the APImetrics CASC score, as this provides a blended quality measure that takes into account a number of different metrics. Thus, another example of an SLO might be a weekly CASC score greater than 750.
API monitoring systems are not yet in the business of determining whether or not a contract has been fully honored in the legal sense. But they are very good at measuring the metrics associated with SLOs. Now, measuring API metrics is a non-trivial thing to do. In a situation in which there is a formal SLA in place, you don’t want to be doing it yourself with a cURL script and cronjob.
Using a third-party product like APImetrics doesn’t only mean that there is an independent arbiter providing the information to decide whether or not an SLO has been met. It also means that you are using the state of the art API performance and quality monitoring technology. APImetrics even has a special latency SLA feature built in. The use of APImetrics to determine where SLOs have been met could be specified in the SLA.
Something else that can be done with APImetrics is to determine SLOs. If you are API provider, you want to know how your API performs in order to determine what kind of SLO might be reasonable to agree to. And just as a provider doesn’t want to agree to an SLO that is too onerous, an API consumer can use APImetrics to make sure that an SLO isn’t too lax.
APIs are increasingly the glue of digital age. More and more companies on depending on APIs they expose and consume to enable time-sensitive mission-critical business activities. With organizations relying on APIs, SLAs become a necessity.
APImetrics allows companies to understand what reasonable SLOs might go in the SLA, and to avoid finger-pointing when it comes whether or not the SLOs have been met.