Een simpel experiment: vraag eens aan een manager welke IT-technologieën worden gebruikt in de organisatie en hoe deze precies werken. Het antwoord zal waarschijnlijk vrij abstract zijn. Het is namelijk onwaarschijnlijk dat een manager een specifiek proces kan uitleggen via een beschrijving van de gebruikte IT-oplossingen. Niet omdat hij/zij incompetent is, maar omdat het aantal IT-oplossingen enorm groot is, zelfs in kleine bedrijven.
Ook IT-professionals hebben last van deze overdreven complexiteit en fragmentatie. Zo begrijpen applicatie-ontwikkelaars niet (en zijn vaak ook niet geïnteresseerd in) wat er met technische infrastructuur gebeurt en is het onwaarschijnlijk dat degenen die verantwoordelijk zijn voor de netwerkinfrastructuur, database-beheerders tegenkomen in hun dagelijkse werkzaamheden. Deze complexiteit heeft ertoe geleid dat IT’ers niet genoeg kennis hebben om bepaalde problemen op te lossen, waarbij hun rol steeds vaker gereduceerd wordt tot doorgeefluik naar specialisten.
Complexe IT-omgevingen
Als we dit probleem verder induiken, zien we twee opvallende maar ook tegengestelde, trends. Op applicatiesoftwareniveau blijft applicatie-ontwikkeling en de link met bijbehorende technologie complex. Zo is het tegenwoordig niet voldoende als een ontwikkelaar slechts één of twee programmeertalen kent; hij moet er meerdere kennen om effectief te kunnen werken.
Daarnaast ontwikkelt DevOps zich in hoog tempo. Bedrijven blijven vaak weg bij de gestandaardiseerde oplossingen en bouwen complexe en unieke IT-platformen voor hun kritieke processen. Dit is niet verrassend want applicatiesoftware is de basis van veel digitale platformen en business-modellen. Een goed opgezet IT-platform kan dan ook leiden tot concurrentievoordeel.
Op IT-infrastructuur niveau is een andere trend merkbaar, namelijk de vereenvoudiging van zowel de IT-architectuur als beheer-mechanismen. Het is nog niet zo lang geleden dat gepredikt werd dat ‘iedere fatsoenlijke applicatie zijn eigen eigen IT-infrastructuur moet hebben’, wat geleid heeft tot enorm uitgebreide legacy-systemen. Het gevolg is een opeenstapeling van heterogene servers, storage- en netwerksystemen. Het ondersteunen van deze systemen wordt lastiger naarmate er meer oplossingen gebruikt worden van verschillende leveranciers.
Op de server- en storage-markt zijn veel grote spelers actief die ieder de klant aan zich willen binden. Dit doen zij door een breed scala aan oplossingen te bieden met ingebouwde functionaliteiten. Integraties met oplossingen van andere leveranciers vereisen echter vaak oplossingen van derde partijen voor beheer en monitoring. Zodoende eindigen bedrijven ook nog eens met een zwaar, functioneel overbodig en niet compatibel beheerplatform.
De eerste stap naar vereenvoudigd IT-beheer
Virtualisatie, hyper-convergence en cloud-technologieën hebben een verwoestende klap uitgedeeld aan deze verouderde manier van werken. De snelle en universele transitie naar de x86-architectuur leidde echter tot een onverwacht resultaat: iedereen begon computing te zien als service. Je zou deze ontwikkeling kunnen vergelijken met de auto-industrie. Ooit was de aanwezigheid van ABS (Anti Blokkeer Systeem) in auto’s een uitzondering. Deze technologie werd maar door een of twee leveranciers aangeboden. Tegenwoordig worden er geen auto’s meer geproduceerd zonder deze technologie.
Hetzelfde geldt voor IT – iets wat voorheen optioneel was, is nu de standaard. De focus verschuift daarbij naar de gebruiker en het beheer, waardoor logischerwijs standaardisatie en vereenvoudiging van procedures plaatsvinden.
Vereenvoudiging van IT-beheer heeft zich in korte tijd snel ontwikkeld. Zo is het creëren van een virtuele machine tegenwoordig net zo ‘makkelijk’ als contactloos betalen. De actie zelf lijkt zo simpel, maar die eenvoud is misleidend. Achter één simpele actie gaat een complex proces schuil, waarin systemen automatisch met elkaar communiceren en protocollen veelal gestandaardiseerd zijn. Zo kan het proces achter bijvoorbeeld contactloos betalen plaatsvinden zonder onze directe participatie.
Het is daarom een logische volgende stap om routinematige processen verder te automatiseren. Dit kunnen bijvoorbeeld updates zijn, firmware lifecycle-management, de inzet van virtuele machines, betrouwbare monitoring en zelfs automatische bug fixes. Deze mogelijkheden zijn beschikbaar via ingebouwde machine learning of geautomatiseerde besluitvormingscomponenten. Het automatiseren van bepaalde processen verkleint bovendien het risico op menselijke fouten.
Een hoog automatiseringsniveau stelt bedrijven in staat meer service te bieden voor IT-gebruikers. Dit kan bijvoorbeeld erg belangrijk zijn voor DevOps-teams, wier verzoeken vaak dynamisch zijn en krappe deadlines hebben. In dat geval zou de interactie er als volgt uit kunnen zien: Het infrastructuur-team genereert en publiceert een lijst met beschikbare servers op een serviceportaal. Een ontwikkelaar die een virtuele server wil gebruiken voor, bijvoorbeeld, de release van een nieuwe bedrijfsapplicatie, bezoekt de portal, selecteert de gewenste dienst en dient een verzoek in. Het verzoek wordt vervolgens automatisch uitgevoerd, waarbij ook configuraties, setups en toegang direct worden meegenomen. Dit alles met minimale menselijke tussenkomst (of zelfs volledig zonder menselijke tussenkomst). Dit heet ook wel ‘infrastructure as code’.
Het automatiseren van routinematige processen, vereenvoudiging van beheer en de implementatie van een servicegerichte aanpak zullen uiteindelijk leiden tot een branchebrede benadering van de IT-infrastructuur. Een infrastructuur die geavanceerd genoeg is om hoge prestaties en betrouwbaarheid te leveren, en tegelijkertijd gemakkelijk te beheren is en onzichtbaar werkt – zelfs voor beheerders.