Artikel

Continuous Integration, Continuous Delivery: meer dan agile

03 januari 2019 - 4 min leestijd

Header image

Met een agile werkwijze versnellen organisaties het bouwen van software. Daarmee beschikken eindgebruikers nog niet meteen over werkende software, terwijl het juist daar om te doen is. De vertraging die voorheen optrad tussen testen en release wordt grotendeels ingehaald met Continuous Integration en Continuous Delivery: bouwen, testen en releasen in één doorlopende keten.

Organisaties zijn doorlopend bezig met digitale innovaties hun klanten beter te bedienen en de bedrijfsvoering efficiënter te maken, zegt Michiel Valk, voorheen CIO bij Randstad en nu directeur bij Yacht IT. Van IT-afdelingen vraagt het een steeds grotere inzet om de nieuwste technologische ontwikkelingen te integreren. Traditionele, lokaal geïnstalleerde oplossingen kunnen die dynamiek niet bijbenen. Met cloud-gebaseerde technologie kan dat wel.

Agile, DevOps, Continuous en Integration/Delivery

De begrippen agile, DevOps en Continuous Integration en Continuous Delivery worden daarbij vaak in één adem genoemd. Alle hebben ze tot doel de time-to-market voor nieuwe diensten te verkorten.

  • DevOps definieert hoe ontwikkelaars, beheerders en andere operationele medewerkers in de keten samenwerken.
  • Continuous Integration stelt ontwikkelaars in staat om tegelijk samen te werken aan de codebase.
  • Continuous Delivery is een werkwijze binnen DevOps die ontwikkelen, testen en delivery samenbrengt en focust op het geautomatiseerd overbrengen van software naar testomgevingen.

Het doel is om releases te versnellen, met onmiddellijke feedback van eindgebruikers.

Microsoft Azure biedt veel mogelijkheden om maximaal gebruik te maken van Continuous Integration en Continuous Delivery (CI/CD)

Nieuwe aanpak is noodzaak

Volgens Valk is het een noodzaak geworden om op die manier te gaan werken. ”Binnen IT wordt steeds meer de focus gelegd op het opvoeren van het tempo bij de ontwikkeling van toepassingen. Er wordt meer geëxperimenteerd in kortere tijd, met de bedoeling in een tijdsbestek van uren werkende software neer te zetten. Wie sneller leert kan niet alleen sneller ontwikkelen, maar ook sneller testen en deployen. Alleen wie zich snel en doorlopend aanpast, overleeft.” 

Kwaliteit prioriteit

Snelheid is goed, maar niet ten koste van alles. Valk: “Je kunt software snel in productie zetten, maar die moet wel de juiste kwaliteit hebben.” Een outage of aantasting van de uptime kunnen klanten zich anno nu niet meer veroorloven. 

De cloud maakt het mogelijk om innovatieve diensten versneld in gebruik te nemen

Consumenten weten al niet beter

Johnny de Jong, Yacht professional en Microsoft Azure cloud engineer, noemt de Continuous Integration/Continuous Delivery-methodiek ‘helemaal van deze tijd’, die in toenemende mate alledaagse praktijk wordt. Consumenten weten al niet beter, legt hij uit. “Op onze smartphones krijgen we bijna dagelijks updates voor de apps die we hebben geïnstalleerd. De gebruikers van apps lopen tegen bugs aan. Op de achtergrond zien de makers van de apps ook wat er fout gaat en zij verbeteren dat.”

Samenwerking is de sleutel

CI/CD liggen in het verlengde van agile en zijn volgens De Jong de enablers voor de zogeheten DevOps-werkwijze. Ontwikkelaars (developers) en systeembeheer (operations) werken dan nauw met elkaar samen in teams. Hun taken zijn niet meer, zoals vroeger, rigide gescheiden. De Jong: “In goed draaiende teams zie je dat developers operationele taken verrichten en dat de operationele mensen op hun beurt wat van de developers-werkzaamheden overnemen. Dat verbetert de samenwerking, maar ook het onderlinge begrip.”

Meer automatisering

Volgens Valk stapt IT af van de traditionele silo’s: “Iedereen werkt samen, vanuit zijn eigen competenties.” Menselijke interactie is daarbij belangrijk, maar ook een hoge mate van automatisering: “Er wordt zoveel mogelijk tooling ingezet die helpt om complexe processen slimmer in vullen.” Behalve een versnelling van de doorlooptijd heeft dat andere voordelen: “Er hoeft minder handmatig werk te worden uitgevoerd. Dat maakt het geheel minder foutgevoelig.”

Aanpak vraagt nieuwe mindset

Van ontwikkelaars en beheerders vraagt DevOps vooral lenigheid, aldus Valk. “Om te beginnen de mindset om mee te bewegen in de markt. En verder moet je in staat zijn om dingen klein te maken en overzichtelijk te houden. En verder een grote bereidheid om samen te werken als beheerder of als ontwikkelaar in een multidisciplinair team.”

Altijd in kleine stapjes

Bugs fixen, wijzigingsverzoeken, veranderde businessdoelen, de vraag om extra functionaliteiten: alles wordt in meteen en in één doorgaande beweging in de Continuous Integration en Continuous Delivery pijplijn gegooid. CI/CD verloopt volgens De Jong bijna altijd stapsgewijs, in kleine iteraties.

Niet meer de hele codebase wordt aangepast, maar telkens een stukje

Kleine aanpassingen on the fly

“Niet meer de hele codebase wordt aangepast, maar telkens een klein stukje. In de cloud is dat zo gedaan. Een bugfix voerden we voorheen door in maintenance-windows, om te voorkomen dat de applicatie down ging. Bij voorkeur op een vrijdagavond dus, of in het weekeinde. Kleine aanpassingen doen we nu gewoon on the fly.”

Waterval methode is verleden tijd

Het tijdperk van de ouderwetse waterval-methode is voorbij, meent Valk: “Die begon met een analyse, dan ging je ontwerpen, vervolgens programmeren, testen en pas heel veel verder kon software naar een productie-omgeving. Daarna pas kon je ervaren of wat je bedacht had ook echt had opgeleverd wat je beoogde.”

CI/CD: meerdere versies naast elkaar

Een groot nadeel van de waterval-methode was dat die nauwelijks een weg terug kende op een eenmaal ingeslagen weg, zegt hij. “Bij CI/CD is het idee juist dat je meerdere versies naast elkaar hebt lopen en snel een versie in productie kunt zetten. Werkt het niet, dan haal je hem meteen weer terug. Dat maakt IT veel flexibeler.”

De praktijk: Amazon en Randstad

Eindgebruikers, ook consumenten, profiteren daar meteen van. Als voorbeeld noemt Valk een online retailer als Amazon, maar ook de HR Dienstverlener Randstad. “Zij hebben vaak meerdere releases op een dag. Zulke bedrijven beschikken over tooling die het mogelijk maakt nieuwe versies náást elkaar laten lopen. Een oude versie gaat er dan uit, zonder dat de eindgebruiker het in de gaten heeft.” Het klinkt simpeler dan het is, erkent Valk: “Vergis je niet, hier zit veel intelligentie achter. Terwijl software live wordt gezet kan direct gemeten worden hoe de eindgebruiker de nieuwe software gebruikt.”

Denk vanuit de eindgebruiker

CI/CD vergt wel een andere attitude, zeggen De Jong en Valk. IT-mensen denken, zelfs in het tijdperk van de cloud en serverless computing, nog te weinig vanuit de scherpe concurrentie waar eindgebruikers mee te maken krijgen, dus aan de business zelf.

Maar wie om is en zich de nieuwe manier van denken eigen heeft gemaakt, krijgt veelzijdiger werk en meer autonomie, beweert Valk. “De directe feedback die je krijgt schept de ideale omstandigheden om te focussen op klantwaarde. En jij zit daar als professional  veel dichter op.”

Dat maakt werken in de IT minder abstract en afstandelijk: “Wat je vandaag bedenkt kan morgen in productie gaan. Zaken waarvan je je van tevoren niet bewust was en die je voetstoots aannam, blijken in de praktijk soms anders te liggen. Deze werkwijze brengt dus veel nieuwe inzichten. Als je graag leert, is een werkomgeving waarin Continuous Iintegration en Continuous Delivery wordt toegepast, echt heel gaaf.“

Blijf op de hoogte van relevant nieuws

Ben jij IT professional op het gebied cloud? En wil je op de hoogte blijven van relevant nieuws? Meld je dan aan voor onze community via onderstaande aanmeldformulier.

Gerelateerde artikelen & blogs

Gerelateerde evenementen

Meld je aan voor onze community