Beschikbaarheid is voor ieder bedrijf een cruciaal aandachtspunt. Een bekende term op dit gebied is de Service Level Agreement (SLA), een overeenkomst met garanties omtrent beschikbaarheid waarvan alle bekende Kubernetes providers gebruik maken. Steeds vaker komen ook de termen Service Level Indicator (SLI) en Service Level Objective (SLO) voorbij. Wat is een SLO en SLI en hoe verhouden deze begrippen zich tot de SLA? En wat maakt hen van belang voor bedrijven die cloud-native technologie omarmen?
Wat is een SLA?
Steeds meer bedrijven brengen hun kritieke systemen, applicaties en gegevens onder bij externe providers. De aard van deze systemen en data kan zeer divers zijn. Denk hierbij aan gevoelige klantgegevens of betaalinformatie, maar ook aan ERP-systemen, CRM-applicaties en oplossingen voor klantcontact. Het uitbesteden hiervan kan belangrijke voordelen bieden. Zo hebben bedrijven zelf minder, of geen, omkijken naar de onderliggende infrastructuur en het beheer hiervan. Tegelijkertijd zijn zij afhankelijk van een externe partij voor het hosten van componenten van de IT-infrastructuur waarvan zij afhankelijk zijn voor hun dagelijkse bedrijfsvoering.
Een SLA helpt door het wegnemen van zorgen op het gebied van beschikbaarheid. Zo omvat een SLA alle gemaakte afspraken met betrekking op beschikbaarheid en biedt garanties op dit gebied. Welk percentage uptime mag je bijvoorbeeld verwachten van de provider? En hoeveel concrete downtime brengt dit in de praktijk met zich mee? Indien kritieke applicaties of cruciale data niet beschikbaar zijn, kan dit financiële impact hebben op jouw organisatie. In een SLA is daarom ook vastgelegd wat er precies gebeurt indien een provider onverhoopt niet aan zijn beloftes voldoet en de beloofde beschikbaarheid niet waarmaakt. Denk hierbij aan financiële sancties zoals krediet.
Lees ook: Wat is High Availability en hoe werkt het?
Welke prestaties zijn minimaal nodig?
Een nieuwe term die eveneens gerelateerd is aan beschikbaarheid en steeds meer wordt omarmd is de SLO. Deze waarde legt vast wat de minimale beschikbaarheid is die noodzakelijk is voor een specifieke microservice. Dit is afhankelijk van onder meer de aard van de microservice en de wijze waarop de organisatie hiervan gebruik maakt. De beschikbaarheid van een betaalfunctionaliteit waarmee klanten in een webshop de producten in hun winkelwagen kunnen afrekenen is bijvoorbeeld van kritiek belang. Aan een intern systeem voor onkostendeclaraties worden echter wellicht minder strenge eisen gesteld.
Lees ook: Microservices: waarom inzetten voor je applicatie?
Op het eerste oog lijkt een zo hoog mogelijke SLO voor iedere microservice of functionaliteit wellicht aantrekkelijk. In dat praktijk is dat echter zeker niet het geval. Zo vraagt een hogere beschikbaarheid om hogere eisen aan de onderliggende hardware, wat extra kosten met zich meebrengt. Je betaalt dus in de praktijk meer voor een hogere beschikbaarheid. Stem de SLO daarom af op de noodzakelijk beschikbaarheid van de specifieke microservice, zodat je de juiste balans tussen beschikbaarheid en kosten behoudt.
De prestaties in de praktijk meten
Een SLO is alleen van waarde indien je kunt meten in hoeverre deze doelstelling daadwerkelijk is behaald. Een SLI maakt dit mogelijk. Een SLI is een meetwaarde die inzicht geeft in de prestaties van een microservice in de praktijk. Met behulp van de SLI maak je dan ook inzichtelijk of de beschikbaarheid van een applicatie in lijn is met de noodzakelijke beschikbaarheid. Zo kunnen onder meer latentie, foutmeldingen en reactietijd hierop van invloed zijn.
Zakt de SLI onder de SLO? Dan is dit een duidelijk teken dat de beschikbaarheid van de microservice niet op peil is en actie nodig is. Zo kan een te lage SLI duiden op configuratieproblemen of capaciteitstekort. Kijk bij het opstellen van een SLI kritisch naar de waarden die je wilt meten. Meet vooral niet te veel, aangezien dit voor extra complexiteit zorgt. Indien te veel meetwaarden worden gemonitord, kan dit ertoe leiden de waarden die écht van belang zijn onvoldoende aandacht krijgen.
SLI versus SLO versus SLA
Een SLI en SLO vullen een SLA dus aan. Zo geeft een SLA inzicht in de garanties die een externe provider je biedt wat betreft beschikbaarheid. Met behulp van een SLO weet je precies welke prestaties minimaal nodig zijn voor een specifieke microservice of applicatie. De SLI geeft je vervolgens inzicht in de prestaties in de praktijk. Met de SLI kun je nagaan of de prestaties aan het minimum voldoen en of je provider de beloofde beschikbaarheid in de praktijk levert.