‘Continuous delivery’, een prachtige marketingterm maar in de praktijk komt daar nog niet heel veel van terecht. De meeste bedrijven en instellingen die zich aan ci/cd (continuous integration/continuous delivery) wagen, hebben nog een lange weg te gaan.
Dit blijkt uit het State of Continuous Delivery Report dat de Continuous Delivery Foundation (CDF), een open source-stichting met prominente leden uit de software-industrie, onlangs publiceerde. De ci/cd-methode voor het vergaand automatiseren van het ontwikkelproces blijkt ondanks al het marketinglawaai nauwelijks van de grond te zijn gekomen. Zelfs de CDF, gelieerd aan de Linux Foundation, erkent dat de resultaten na ruim tien jaar tromgeroffel niet bepaald overhouden.
Dynamische wereld
Doel van het onderzoek onder ontwikkelaars in de CDF-community was inzicht te krijgen in de huidige stand van zaken. Het vermogen om meerdere keren per dag kleine veranderingen in software door te voeren wordt als een cruciale competentie gezien in de dynamische wereld van vandaag.
Behalve bij een ‘bovenlaag’ van pioniers als Netflix, CapitalOne, Dell, eBay, HSBC en JPMorgan Chase loopt ci/cd traag. Dat geldt met name voor de ‘delivery’ (cd). Continuous integration (ci) is vaak verder gevorderd.
SlashData
Uit onderzoek van SlashData blijkt dat de devops-adoptie van ‘continuous delivery’ nog maar in de kinderschoenen staat. Veel ontwikkelteams slagen er hooguit in om wat sneller applicaties te leveren aan klanten, maar het meerdere keren per dag uitrollen van softwarecode in een productieomgeving komt weinig voor. Slechts één op de tien developers in de CDF-community lukt het ‘on demand’ af te leveren. Tel je daar het percentage (3,5 procent) bij op dat ten minste één keer per dag iets uitrolt dan kom je tot nog geen 15 procent die dagelijks wat aflevert.
Een op de zes ontwikkelaars (16,5 procent) zegt een frequentie van een dag tot een week te bereiken. Iets minder dan een derde (31,3 procent) haalt een frequentie van één keer per week tot één keer per maand. Ruim een kwart doet daar veel langer over: van één keer per maand tot één keer in de zes maanden. Meer dan 10 procent haalt zelfs geen frequentie van één keer in het half jaar.
Stabiliteit zit goed
SlashData onderzocht ook hoe lang duurt voordat vastgelegde code succesvol in productie loopt. Bijna twee derde van de ontwikkelaars zegt dat de doorlooptijd ten minste één week duurt. Wel een sterk punt van ci/cd is dat de helft van de ontwikkelaars storingen na een nieuwe uitrol snel weet te verhelpen. Bij hen duurde het minder dan een dag voordat het systeem na de ongeplande uitval gerestaureerd was. Met de stabiliteit zit het dus wel goed.
Interessant ook zijn de verschillen tussen bedrijfstakken. De onderzoekers keken daarbij naar de snelheid (uitrol-frequentie en lead time voor veranderingen) en de stabiliteit (tijd voor herstel van diensten). Glansrijk winnaar is dan de retail. Ook toerisme en software/saas scoren hoog. Snel zijn business intelligence- en non-profit organisaties, maar deze sectoren presteren laag qua stabiliteit. Heel stabiel presteren energie, financiële diensten en overheid, maar deze sectoren behoren niet tot de snelsten. Het traagst werkt de vliegtuigbouw, maar die sector kan zich uiteraard geen uitglijders veroorloven. Telecommunicatie hobbelt ook achteraan.
Best presterende programmeertalen
De best presterende programmeertalen vanuit ci/cd perspectief zijn Shell Scripting Languages, Go/Golang, Javascript, PHP, Scala, Dart, C#, Ruby, Python en Java. De voornaamste reden waarom ‘continuous delivery’ zich zo langzaam ontwikkelt, is dat elk platform waarop een applicatie moet worden uitgerold, unieke kenmerken en eigenaardigheden heeft.
Volgens Tracy Miranda, directeur van de CDF, leidt dat ertoe dat de geautomatiseerde ‘aflevering’ over meerdere platformen lastig is te bereiken. Toch blijft ‘continuous delivery’ volgens de CDF de sleutel tot innovatie, zeker nu de veranderingen snel gaan. De CDF telt onder meer Amazon Web Services, CloudBees, Fujitsu, GitLab, Google, Huawei, Netflix, Oracle, Rancher, Red Hat en SAP als vooraanstaande leden.
Dat de telecom “achteraan hobbelt” is volgens mij ook niet verbazingwekkend. Op het moment dat de telecommunicatie-infrastructuur hapert of eruit ligt staat het binnen de kortste keren met chocoladeletters in de krant (en opeens ligt heden ten dage de economie ook grotendeels stil met al dat thuiswerken).
Wat ik zou willen weten is de onderliggende reden voor het geconstateerde achterblijven van meer regelmatige opleveringen. Niet alle omgevingen lenen zich voor meerdere opleveringen per dag.
En (ook niet onbelangrijk): niet alle organisaties hebben leiders (m/v) die de ballen hebben om dit (meerdere leveringen naar productie) toe te staan.