06 November 2023

Observability geobserveerd - part 1

Jan Buurman
Observability

In de wereld van IT lijkt het soms alsof we ons bezighouden met digitale magie. We werken met systemen die we niet kunnen zien of aanraken, maar die tegelijkertijd de ruggengraat vormen van moderne organisaties en zelfs onze samenleving. Het is van het grootste belang om deze digitale magie te ontrafelen. Zonder deze onthulling blijven we verrast worden door de grillige aard van deze toverij. Observability is de kunst om de magie te doorzien en te streven naar een transparante, liefst voorspelbare werking van onze IT-systemen, zonder enige hocus pocus.

Welkom bij “Observability geobserveerd.” In deze serie van drie blogs nemen we Observability onder de loep en maak je een eerste stap in het ontdekken van de geheimen van IT-onttovering. Hier is het eerste deel, over de opkomst van Observability en de eerste trend.

Observability, een modewoord voor monitoring?

Monitoring is al vanaf het begin van de IT een belangrijk begrip. We kennen allemaal wel die grote control rooms in de rekencentra. Allerlei grafieken, metertjes en getallen, waarmee we antwoord krijgen op de vraag of ons systemen het wel of niet doen. In formelen woorden: we volgen de toestand van onze systemen, zodat we in kunnen grijpen bij problemen. Meestal gaat dit over de actuele status van het systeem, aangevuld met historische metingen. Een reactieve blik dus.

Monitoring wordt gevoed door een continue verzameling van metrics en logs. Een schat aan informatie over de actuele en historische werking van de systemen. Doordat deze info uit alle componenten van het IT-landschap wordt gecombineerd, geeft dit een soort holistische blik. Werkt een systeem niet zoals het zou moeten, dan geeft monitoring inzicht in waar we het probleem moeten zoeken.

De resultaten uit monitoring worden vaak gebruikt om aan te tonen dat de dienstverlening op orde is. Er wordt verantwoording afgelegd of er voldaan wordt aan afgesproken KPI’s en SLA’s. Maar laten we eerlijk zijn, daar gaat het toch helemaal niet om. Onze systemen moeten gewoon doen wat ze moeten doen, zodat de gebruikers er optimaal mee kunnen werken.

We zien dan ook dat Observability ‘verder gaat’ dan monitoring. Observability lijkt misschien een recent modewoord, maar de term vindt zijn oorsprong tientallen jaren geleden in de controletheorie. Het gaat om het beschrijven en begrijpen van zelfregulerende systemen. Binnen deze controletheorie staat Observability voor het meten van de interne toestand en gedrag van een systeem aan de hand van de uitgangen van het systeem. Dus door de metingen van de uitgangen van het systeem doen we kennis op over het systeem. Deze kennis is gebaseerd op gedefinieerde eigenschappen en patronen, maar juist ook op het verkennen van eigenschappen en patronen die we juist niet van te voren hebben onderkend. Laat deze theorie maar even rusten.

Het gaat er dus om dat we ons richten op het begrijpen van de oorzaken van eventuele problemen en op het krijgen van een dieper inzicht in de interne werking van onze systemen. Hiervoor zetten we een combinatie van technologieën in, met als bron verzamelde data als metrics, tracing en logs. Daar waar mogelijk relateren we dit aan de bron(coding).

Het maakt toch niet uit of observability nu een modewoord is of dat het een soort van monitoring 2.0 is. We verbeteren de kwaliteit van onze systemen ermee. Daar hebben onze gebruikers wat aan.

Observability vol in de spotlight

Hoe dan ook, Observability heeft momenteel ieders aandacht. Dat is niet vreemd. Laten we eens een paar belangrijke redenen belichten:

  • We evolueren naar een moderner infrastructuur- en applicatielandschap. Hierin komen ontwikkelingen als microservices, serverless, cloud native ontwikkeling, hybride architecturen en containertechnologie tot hun recht. Deze veroorzaken een meer gedistribueerde architectuur dan dat we gewend zijn. Dat maakt het onderkennen van de status van het gehele systeem en het traceren van issues complexer.
  • Business en IT is bij veel bedrijven één geworden. Dit betekent dat IT het ‘gewoon’ moet doen. Dit betekent dat alleen monitoren dat er iets fout is gegaan of nu bijna fout aan het gaan is, niet meer voldoende is. We moeten dus van reactief monitoren naar proactief handelen toe. Daarvoor hebben diepgaandere en vanuit verschillende perspectieven belichte inzicht in de werking van onze infrastructuur, applicaties en informatieketens nodig.
  • We automatiseren onze systemen steeds meer. Allereerst geeft dit de mogelijkheid om ook steeds meer informatie te verzamelen over de werking van de systemen. Maar er is nog een tweede punt. De ultieme vorm van automation is een ‘autonomous system’. Om dit te bereiken is het gebruiken moderne observability oplossingen een absolute noodzaak.
  • De laatste reden is er eentje niet vanuit de behoefte maar vanuit de mogelijkheden bezien. We kunnen nu eenmaal meer. De technologische oplossingen hebben een steeds rijker wordende functionaliteit. De mogelijkheden nemen toe en dan willen we ze ook gebruiken. Zo zijn we nu in staat om bijvoorbeeld meer onderdelen (van de werking) van onze systemen te meten, meer informatie te verzamelen, complexere patronen te analyseren en door het automatiseren van de oplossingen veel sneller ingrijpen.

 

Observability beweegt

We kunnen wel zeggen dat we voldoende redenen zien om dit onderwerp serieus aan te pakken. En dat doet iedereen dan ook. Dit leidt er ook tot dat Observability stevig in beweging is. De behoeftes, de ideeën, de concepten en zeker ook de technologische oplossingen veranderen. Het is teveel om alles in een paar blogs weer te geven. Daarom lichten we vier trends toe en in de laatste blog geven we aan hoe je volgens hier grip op houdt.

Trend 1 – Meten van beschikbaarheid is niet meer genoeg

Traditioneel meten we met name de beschikbaarheid van systemen. Vaak is dit de optelsom van de beschikbaarheid van de losse componenten van het systeem en van de interfaces daartussen. Hier voegen we een meting van het wel of niet van buitenaf kunnen benaderen van het systeem aan toe. Het op deze manier meten van de beschikbaarheid zegt niet voldoende. Een systeem kan wel beschikbaar zijn, maar dat wil niet zeggen dat deze ook bereikbaar is, voldoende snelheid biedt en/of doet wat het moet doen. Daarom is het al gebruikelijk geworden om te meten of het systeem correct werkt.

Toch zijn we er nog niet. Sowieso willen we weten of het functioneel goed werkt. Dus heeft de gebruiker er wel wat aan. De volgende stap in deze ontwikkeling is dat we vaststellen of het systeem correct gebruikt wordt. Dit om uiteindelijk te meten of het systeem de beoogde doelen behaald. Is het systeem wel succesvol, creëert het de beoogde value? Daarmee zijn we opgeschoven van de harde techniek naar de business, van losse componenten naar geïntegreerde keten en van kale feiten naar interpretaties.

Cliffhanger

Nu heb je één trend gezien. En ik wil natuurlijk dat je ook de volgende blogs hierover gaat lezen. Je wilt toch ook de anders trends weten. Die vind je terug in de tweede blog in deze reeks.