Om hoge uptime en snelle hersteltijden te realiseren, lijken self-healing systems met AI essentieel, volgens AIOps-artikelen dan. Belangrijker is echter een solide fundament voor observability met context, noodzakelijk voor effectieve AI-integratie. ‘Human intelligence’ speelt hierin een cruciale rol. Geavanceerde AIOps-tools monitoren systemen, grijpen zelfstandig in bij onregelmatigheden en voeren self-healing acties uit. Hoewel dit indrukwekkend is, is de implementatie ervan complexer dan het lijkt.
AIOps werkt alleen goed met ‘Human intelligence’
Observe, Engage en Act
AIOps is op te splitsen in drie onderdelen: Observe, Engage en Act.
- Observe gaat over het verzamelen van informatie. Traditioneel ook wel bekend als monitoring van logs en metrieken. Echter wordt daar in cloud native omgevingen tegenwoordig ook distributed tracing aan toegevoegd om te kunnen achterhalen hoe verschillende softwarecomponenten (vaak microservices) met elkaar interacteren.
- Engage betreft het signaleren van mogelijke problemen. Idealiter vindt deze signalering geautomatiseerd plaats. Bijvoorbeeld door het aanmaken van een Service Request die door Ops afgehandeld kan worden.
- Act gaat over het ondernemen van correctieve of preventieve acties. Ook dit kan op een automatische of handmatige manier plaatsvinden.
Uitdagingen bij Observe
Bij ‘Observe’ gaat het vaak al fout. Je mag verwachten dat een AIOps-tool automatisch softwareservices en infrastructuurcomponenten in kaart brengt, maar je mag niet verwachten dat deze automatisch context geeft hieraan. Deze context kan bijvoorbeeld een model zijn wat duidelijk maakt welke services samen een systeem vormen. En welke services goed moeten functioneren om een (onderdeel van) een bedrijfsproces goed te laten functioneren.
Vervolgens kunnen deze processen weer gekoppeld worden aan de dienstverlening van de organisatie. Om dit alles te kunnen correleren is het ook van belang dat software-services die de observability informatie goed ingericht zijn en bijvoorbeeld naamgevingsconventies volgen die het ook mogelijk maken om de data op de juiste manier te aggregeren.
Uitdagingen bij ‘Engage’
Op basis van contextuele informatie wordt het mogelijk om de businessimpact van een verstoring te duiden en is het ook mogelijk om issues te prioriteren. Deze kennis zit nu vaak in hoofden van mensen en niet in een digitaal systeem. Door die missende informatie kan een AIOps-systeem niet de juiste conclusies trekken of prioriteiten stellen. Natuurlijk kun je een AI-systeem door de tijd heen deze verbanden laten ontdekken, maar dat kost flink wat tijd omdat een AI-systeem veel voorbeelden nodig heeft van oorzaken en gevolgen voordat er automatisch verbanden worden gelegd. Het is daarom veel efficiënter om de kennis die er al is over het IT-landschap in een model vast te leggen, zodat het AIOps systeem hier direct gebruik van kan gaan maken. Daarnaast is er ook contextuele informatie die van buiten de organisatie komt, waarbij het voor mensen logisch is dat dit impact gaat hebben op de IT, maar voor een AI-systeem is dat niet zichtbaar.
Een passend voorbeeld komt van een bedrijf waarbij consumenten online boodschappen kunnen bestellen. Tijdens de coronaperiode merkten IT-medewerkers van dit bedrijf steeds een flinke toename in bestellingen tijdens persconferenties waarbij Rutte een nieuwe lockdown aankondigde. Initieel had het bedrijf AI ingeregeld om automatisch op te schalen als het drukker werd op de systemen. Echter, als de belasting op het systeem heel sterk toeneemt, kost het te veel tijd om de opschaling uit te voeren. Tegen de tijd dat de AI automatisch had opgeschaald, stond iedereen daar virtueel al in de file. Operations engineers konden het moment van opschalen beter bepalen; zij zagen: uiterlijk twee uur voor de persconferentie moeten wij de boel opschalen. Door kennis van de context, won het gewone boerenverstand het van AI. Dit betekent niet dat AI heeft gefaald; dit betekent dat de tool onvoldoende is voorzien van input en context.
Context kaderen
Als het gaat om het geven van context, dan wil je je algoritme een zo goed mogelijk beeld geven van de omgeving waarin het opereert. Dit betekent dat je ook context moet creëren door kaders te scheppen als grenswaarden. Als de CPU bijvoorbeeld de 80 of 90 aantikt, dan moet je weten of dat een probleem is. Als jij bijvoorbeeld weet dat het systeem daar de hele dag op blijft, dan wil je daar geen alarm voor krijgen van je AI. In dit geval heb je je resources volop benut en het systeem goed neergezet. Geen vuiltje aan de lucht. Maar dat weet jij. Je algoritme kan door die hoge percentages wél panikeren en alarm slaan. Jij moet je AI-tool leren in welke processen die hoge percentages acceptabel zijn en in welke niet. Verder geldt dat een tool zonder context mogelijk verbanden legt die niets met elkaar te maken hebben. Een correlatie betekent niet altijd causaliteit (oorzaak-gevolg).
Uitdagingen bij ‘Act’
Het uitvoeren van herstelmaatregelen kan in principe automatisch plaatsvinden. Dat is een goede optie om korte hersteltijden te krijgen. Bijvoorbeeld als een service meer geheugen gaat gebruiken dan is toegestaan, is vaak het herstarten ervan de oplossing. Hier kleeft ook een gevaar aan. Door automatisch pleisters te plakken is er een significant risico dat het onderliggende probleem (root cause) te weinig aandacht krijgt. Wellicht is er in dit voorbeeld een softwarebug die ervoor zorgt dat het geheugen volloopt. Op lange termijn is het dan veel efficiënter om die bug te verhelpen in plaats van steeds opnieuw automatisch op te starten waardoor je het probleem slechts tijdelijk verhelpt. Daarnaast moet je bepalen in hoeverre een AI-tool autonoom mag handelen, daarvoor moet je het algoritme begrenzen. Als een tool automatisch opschaalt zijn daar kosten aan verbonden. En als dit ’s nachts gebeurt kun je dat niet monitoren. Een regel zou dan kunnen zijn: Een AI-tool mag zelfstandig opschalen tot maximaal 500 euro per uur.
Hoe begin je met AIOps?
Wanneer je met AIOps aan de slag wil, moet je eerst vaststellen wat je huidige maturity is van IT Operations-systemen en -processen. Om geautomatiseerde acties mogelijk te maken (Act), dient eerst de automatische signalering op orde te zijn (Engage). En om dit mogelijk te maken dient de Observability (Observe) goed op orde te zijn. Om te weten op welk niveau je organisatie zich bevindt en hoe je hierin kan groeien, heeft Info Support het Observability Maturity model ontwikkeld. Dit model onderscheidt vijf niveaus van IT-volwassenheid. Bij de laagste niveaus kun je AI inzetten voor bijvoorbeeld detecteren van afwijkingen en het herkennen van patronen. Een AI die kan voorspellen en proactief is, is pas realiseerbaar vanaf de twee hoogste niveaus.
AIOps kan dus ontzettend veel meerwaarde bieden aan een organisatie. Veel tools zijn hier klaar voor, veel organisaties nog niet. Daarvoor moet eerst een hogere mate van ‘volwassenheid’ worden bereikt. Kijk eerst wat AIOps kan bieden en welke verwachtingen er zijn. Een goede invulling van Observability is hiermee fundamenteel en vereist dus ‘Human intelligence’ om de contextuele informatie in te richten. Dat is cruciaal om investering in AIOps tools terug te verdienen.