Observability is het vermogen om te begrijpen wat er binnen een systeem gebeurt, puur door te kijken naar de signalen die het van buitenaf afgeeft. Een systeem is observeerbaar als de logs, metrics en traces je genoeg informatie geven om bijna elke vraag over zijn gedrag te beantwoorden, zelfs vragen die je vooraf niet had bedacht.
Vergelijk het met een arts met goede diagnostiek. Een simpele controle vertelt je of je temperatuur normaal is. Maar een volledige reeks onderzoeken (bloedwaarden, scans, een hartmonitor) laat de arts een gloednieuw symptoom onderzoeken en terugleiden naar de oorzaak. Observability geeft je ontwikkelaars diezelfde diagnostische diepte voor software.
Het rust op drie pijlers die samenwerken. Metrics laten zien dat er iets veranderde, logging legt in detail uit wat er gebeurde, en distributed tracing volgt één aanvraag langs elke dienst die hij raakte. Het doel is niet alleen weten dat een systeem plat ligt, maar snel begrijpen waarom.
De behoefte groeide met de overstap naar veel kleine services in plaats van één groot programma. Als een afrekenpagina traag wordt en de aanvraag onderweg langs een stuk of tien losse services gaat, vertelt één logbestand niet meer het hele verhaal. Tracing rijgt die stappen aan elkaar, zodat je precies ziet welke stap de vertraging toevoegde. De keerzijde zijn de kosten: elk signaal van een druk systeem verzamelen en bewaren loopt op, dus teams nemen steekproeven en snoeien in plaats van alles te bewaren.
Goede observability gaat ook samen met alerting, zodat een mens van een probleem hoort voordat klanten gaan klagen.
Bij TopDevs bouwen we observability in de systemen die we opleveren, zodat je team bij een storing snel de oorzaak kan vinden en oplossen in plaats van blind te werken.