De bijeenkomsten over DevOps vliegen om je oren. De term DevOps wordt sinds 2009 gebruikt door voorttrekkers als Patrick Debois. In Nederland zie je in de grote/enterprise omgevingen ook steeds meer aandacht hiervoor komen. Een van de grote banken heeft zelfs de stap gemaakt om deze denkwijze breed toe te passen.
De vraag komt dan toch snel: is dit weer een nieuwe hype of iets waar we serieus aandacht aan mogen besteden? Die is snel te beantwoorden: DevOps is zeker geen hype voor organisaties waar software ontwikkeld en beheerd wordt.
Wat DevOps in mijn optiek interessant maakt is dat we hiermee het Agile denken/ werken organisatie breed oppakken. De afgelopen jaren hebben we in ons vakgebied geleerd dat Agile werkwijze voor software ontwikkeling grote voordelen oplevert. De betrokkenheid naar elkaar veel groter is geworden. Software ontwikkeling vindt veel meer gefocust plaats, waardoor de functionele waarde voor een onderneming veel sneller wordt bereikt.
Vanuit ontwikkelperspectief zijn we ook concreet aan de slag gegaan met de integratie van de code. Continuous Integration kwam om de hoek. Wat we later veel omvattender in Continuous Delivery terug zien komen. In de praktijk zien we dat door het beoefenen van deze aanpak de kwaliteit van de op oplossingen omhoog gaat. Goed dat we daarmee software ontwikkeling naar een hoger niveau brengen.
Kijken we dan weer naar bestaande “wetten” dan weten we dat minimaal 60% van de kosten van software niet gemaakt wordt in ontwikkeling, maar juist tijdens beheer. Dan wordt het van belang dat we veel meer naar de hele software levenscyclus gaan kijken. Dan moeten we ontwikkeling en operations veel meer als een beschouwen.
Leuk gezegd, maar operations en ontwikkeling als één beschouwen: we zetten de twee gewoon bij elkaar en klaar. Nee, dat is niet waar DevOps over gaat. Het gaat veel meer over het intensief laten samenwerken van Dev en Ops. Of zoals Matthew Skelton het onlangs verwoorden: Devops = Highly effective communication. Daarbij kan het dus handig zijn om bij elkaar te zitten. Belangrijker is dat we in onze sprints elkaar weten te vinden. Gezamenlijk een beeld vormen over hoe de code die geschreven wordt naar productie kan. Wat daar dan de impact van is. Hoe we de code op een traceerbare manier in productie nemen.
Ik vond Dan North het onlangs op de DevOps summit in London heel mooi verwoorden. In DevOps an Ops-engineer does not have root access on production.
Daarmee zegt hij dat een Ops engineer niet zelf de packages/code op een productie omgeving neerzet. Dit doet een Ops engineer door een script te schrijven waarin opgenomen wordt wat, waar moet komen staan, met welke credentials.
Dus voor de Dev-engineers: niet alleen meer gebruik maken van een Jenkins om de build en eventuele deployment naar Test en Acceptatie Test te doen. Ook een geautomatiseerde deploy naar productie.
Door ook het deployen naar productie te automatiseren krijgen we meer grip over de omgeving. Daarnaast wordt de herhaalbaarheid verhoogd, waardoor we vaker en sneller kunnen deployen.
Al met al is het begrijpelijk dat DevOps veel aandacht krijgt op dit moment. Een onderwerp om meer ervaringen in te delen.