DevOps is een relatief nieuwe term voor een ouder concept: het samenvoegen van onafhankelijke teams die daardoor sneller en frequenter meer betrouwbare resultaten kunnen opleveren. Bij steeds meer organisaties wordt dit dé cultuur.
Ik had het geluk mijn carrière te kunnen beginnen in een DevOps-cultuur, nog voor de term gemeengoed werd. Toen ik begon als ontwikkelaar bij Bloomberg in 2001 stond het bedrijf al bekend om zijn streven naar kortere time-to-market, iteratieve ontwikkelingscycli, en het feit dat ontwikkelaars verantwoordelijk waren voor onderhoud aan systemen die ze opleverden. Als nieuwe ontwikkelaar kwam ik er snel achter hoe het was om om vier uur ’s ochtends (wanneer de beurs in Londen opende) problemen op te lossen. Die nachtelijke ervaringen motiveerden zeer om onze systemen minder foutgevoelig te maken.
DevOps implementeren op de DevOps manier
Voor startups is DevOps een logische keuze, omdat het voor kleinere bedrijven makkelijk te organiseren is. Maar voor grotere bedrijven, die met een fors technisch budget en monolithische architecturen risico’s liever vermijden, kan zo’n onderneming intimiderend zijn.
Het goede nieuws: dat hoeft het niet te zijn. Bedrijven die een DevOps-cultuur willen invoeren raad ik aan dit op de DevOps-manier te doen: begin met kleine projecten, itereer, leer, en verbeter. Ik raad hen aan om strategieën te implementeren die door de gehele organisatie geaccepteerd worden, en te wennen aan het idee dat, wanneer bepaalde processen geautomatiseerd worden, ze gerust kunnen worden gedecentraliseerd en toevertrouwd aan teams die onderhouden wat ze bouwen.
Toen ik nog cio was bij Dow Jones, voerden we DevOps-praktijken met een klein team uit – vier of vijf medewerkers – en dat was genoeg om een groot aantal projecten op te starten. Dat was echter niet het doel. Wat we echt wilden realiseren, was een verandering in de bedrijfscultuur. Door frameworks te implementeren en uit te vinden, en door best practices in te voeren en alles te automatiseren wisten we DevOps als motor van innovatie en accelerator van productontwikkeling te benutten. We begonnen met kleine projecten, en gebruiken de resultaten om te laten zien hoe we een steeds groter wordend aantal projecten konden uitvoeren met hetzelfde model. Langzaam maar zeker leverden we meer functionaliteit op – en verbeterden we gelijk onze time-to-market. Dinsdag en donderdagavond, de standaard release-momenten waarop alles vaak misliep, kwamen te vervallen: ontwikkelaars voerden gewoon gedurende de hele week tientallen veranderingen door.
DevOps inzetten voor jouw bedrijf
Wie opziet tegen invoering van DevOps, kan de volgende drie plekken als uitgangspunt nemen:
1) Wees servicegericht naar medewerkers. Bedrijven moeten hun medewerkers als klanten beschouwen. Of ze nou op de marketingafdeling, als productmanager of als ontwikkelaar werken: elk individu en elke groep heeft technologie nodig om zijn of haar werk te kunnen doen. Teams die deze behoeften op de eerste plaats stellen voorkomen dat hun klanten terugvallen op eigen oplossingen (schaduw it), behalen sneller betere en goedkopere resultaten, en hebben blije klanten. Een gebrek aan goede service kan ervoor zorgen dat gebruikers niet met, maar om je heen gaan werken.
2) Automatiseer alles. Automatisering stelt organisaties in staat om agressiever te zijn met implementatie van veranderingen. Als je een fout maakt, kun je snel terugkeren naar een eerdere toestand. Andere voordelen zijn meer efficiëntie, betere beveiliging, en het gemak waarmee audits kunnen worden uitgevoerd.
3) Draai wat je bouwt. Dit is vaak waar ik it’ers zenuwachtig zie worden. In het traditionele model wordt het onderhoud van een applicatie of dienst soms uitgevoerd door ontwikkelaars die niet betrokken waren bij de ontwikkeling. Er is een aantal redenen om dit te doen, maar ik zou durven stellen dat dit er steeds minder worden. Cloudtechnologie draagt zorg voor het zware it-werk, en veel kan worden geautomatiseerd. Ontwikkelaars zijn bekend met de software, en dus is er minder reden om verantwoordelijkheden voor taken te verdelen. Daar komt ook de term DevOps vandaan: aangezien developers de nuances van systemen kennen, zullen zij problemen ook het snelst kunnen oplossen. En door het gebruik van automatisering, is het een stuk makkelijker om veranderingen methodisch door te voeren of juist terug te draaien voordat klanten er last van krijgen.
Werken verandert
Wie interesse heeft gekregen om de temperatuur van het water te voelen: nu is het moment. Begin klein, en wees tevreden met kleine verbeteringen. Culturele veranderingen vinden niet van de ene op de andere dag plaats. Door deze veranderingen in het hele portfolio door te voeren, zal de manier van werken langzaam maar zeker veranderen. Naarmate je meer ervaring opdoet en een steeds groter deel van het portfolio wordt geautomatiseerd, zullen de resultaten verbeteren.