Recent hebben we onze vijfde Cloud Architectuur-rondetafel in Nederland gehouden: avonden waarin we met vakgenoten een open dialoog hebben, iedere keer vanuit een andere invalshoek. De vijfde editie had als onderwerp ‘Continuous Delivery en DevOps’, en draaide om het spanningsveld tussen snel veranderingen kunnen doorvoeren, maar wel op een zorgvuldige en betrouwbare manier.
DevOps – een samenvoeging van ontwikkelaar (developer) en beheerder (operations) – maakt het op basis van de juiste tools en processen mogelijk om dit zoveel mogelijk op een geautomatiseerde en herhaalbare manier te doen. Waarom nu DevOps? Deden we dat twintig jaar geleden niet al? Waarschijnlijk wel, maar de it-wereld zag er toen nog anders uit. De hoeveelheid en diversiteit van applicaties is significant toegenomen, we hebben rollen en verantwoordelijkheden tussen domeinen als business, applicatie, infrastructuur opgesplitst – met als doel optimalisatie binnen deze domeinen, maar als gevolg ook ‘schuttingen’ tussen die domeinen gebouwd.
Bovendien is business inmiddels it! Het aantal van it afhankelijke bedrijfsprocessen is groot en groeiend. It is onlosmakelijk verbonden met de organisatie. In de jaren tachtig spraken we van business en it-alignment: manieren om het gat tussen IT-diensten en de bedrijfsvoering te dichten. Tegenwoordig is it niet meer ondersteunend aan de bedrijfsvoering, de bedrijfsvoering is steeds vaker it! Dat geldt overigens niet voor alle interne it-diensten. We moeten onderscheid maken tussen hoog-veranderlijke en laag-veranderlijke diensten.
Onderscheid
Tijdens de rondetafel kwam een mooie quote voorbij die deze gedachte onderschrijft: ‘De gloeilamp is niet uitgevonden door het continu verbeteren van de kaars.’ Innovatie komt dus niet (alleen) voort uit het uitbouwen van bestaande oplossingen, maar juist door een betere oplossing te bouwen voor het probleem. Sommige it-diensten moeten we laten voor wat ze zijn, voor andere kan het echter lonen om van de grond af aan een betere oplossing te bouwen. We maken daarbij onderscheid tussen ‘klaar voor cloud’ – veelal de interne kern-it van grote ondernemingen, en ‘geboren in de cloud’ – veelal dynamische applicaties voor klanten van ondernemingen.
Die laatste categorie is in volle ontwikkeling sinds de opkomst van de cloud. Diensten kun je zelfstandig afroepen wanneer je ze nodig hebt, zolang je ze nodig hebt, en betalen doe je alleen voor het gebruik. Deze categorie heeft verandering als kernwaarde van een oplossing, in plaats van verandering te behandelen als lastig en risicovol. Snel maar stabiel wijzigingen kunnen doorvoeren om gelijk op marktveranderingen in te kunnen spelen. En juist daar bewijzen Continuous Delivery en DevOps hun nut: kleine teams van ontwikkelaars die ook het beheer doen (en vice versa), ondersteund door tools die het mogelijk maken geautomatiseerd nieuwe functionaliteit toe te voegen aan it-diensten, en gehost op clouddiensten met een afrekenmechanisme waarbij je betaalt voor gebruik. Lang leve verandering!