Software is er om het leven van gebruikers en processen makkelijker en efficiënter te maken. Automatiseren in het algemeen, en specifiek methodes als DevOps, zijn er om dit waar te maken. CI/CD (= Continuous Integration/Continuous Delivery of Deployment) is hier een belangrijk onderdeel van: het geautomatiseerd bouwen, testen, controleren en opleveren van software. Vanaf de aanpassing door de Developer in code, tot het daadwerkelijk in gebruik nemen op productie.
Waar CI/CD enkele jaren geleden vooral draaide om automatisering en snelheid, zien we tegenwoordig ook steeds meer AI-ondersteuning binnen ontwikkelprocessen. Denk aan automatische code reviews, testgeneratie, security checks en deployment workflows met tooling zoals GitHub Actions, Azure DevOps en GitHub Copilot.
Er is niet één manier om CI/CD in de praktijk toe te passen. Software wordt namelijk in een enorm breed scala aan organisaties ontwikkeld en uitgerold. Van bedrijven die nog veel handmatig uitvoeren tot platformen zoals Amazon, waar meerdere deployments per seconde plaatsvinden. Maar waarom moeten we eigenlijk CI/CD in de praktijk uitvoeren?
“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.” – Donovan Brown.
Door Anthony Alberto, Software Consultant bij Innvolve
Snel schakelen
Laten we beginnen met een voorbeeld. De afgelopen jaren hebben we gezien hoe belangrijk flexibiliteit en snelheid zijn geworden binnen organisaties. Grote veranderingen, zoals tijdens de pandemie maakten duidelijk dat bedrijven snel moesten kunnen schakelen. Als processen of dienstverlening van de ene op de andere dag veranderen, wil je niet afhankelijk zijn van handmatige deployments of langdurige releaseprocessen.
Het is daarom belangrijk dat je platform is ingericht op flexibiliteit, zodat aanpassingen snel én gecontroleerd kunnen worden uitgevoerd. Processen die dagen of zelfs langer duren om software live te brengen, passen daar simpelweg niet meer bij. En precies daar komt CI/CD om de hoek kijken: sneller kunnen leveren, met behoud van kwaliteit en betrouwbaarheid. Organisaties spreken tegenwoordig steeds vaker over Digital Resilience: het vermogen om snel en veilig mee te bewegen met verandering.
Sidenote: Met omgeving(en) bedoelen we in deze context test-, acceptatie- en productieomgevingen.
Developers en Operations
Veel enterprise-organisaties zijn historisch zo gegroeid dat Developers en Operations gescheiden werken. Dat geldt vaak ook voor Security. Een Developer die software schrijft voor bijvoorbeeld een bank, hoeft geen rechten te hebben voor kritieke productiehandelingen.
Vóór de brede adoptie van CI/CD zag een releaseproces er vaak heel anders uit. Developers maakten een wijziging, bouwden de software en plaatsten deze in een pakket waarin versie- en configuratiebestanden werden bijgehouden. Vervolgens pakte het Operations-team dit op om de software handmatig naar een omgeving te deployen. Daarna was het vooral hopen dat alles werkte, inclusief de nieuwe wijziging.
Het probleem van deze aanpak? Operations weet vaak weinig over de inhoudelijke werking van de software. Als er fouten optreden, zijn zij afhankelijk van Developers om problemen op te lossen. Andersom kunnen Developers vaak niet direct zien wat er misgaat op een omgeving, omdat zij daar geen toegang toe hebben. Het resultaat: vertraging, extra overdrachtsmomenten en foutgevoelige processen.
Zelfs wanneer een release in één keer goed gaat, blijft het vaak een kostbaar proces qua tijd en resources. We zagen in de praktijk regelmatig dat er minimaal één werkdag zat tussen het opleveren van software door Developers en het daadwerkelijk live zetten ervan.
CI/CD in de praktijk
Om precies die uitdagingen op te lossen, is DevOps ontstaan met CI/CD als belangrijk onderdeel daarvan. Om een praktijkvoorbeeld te geven, kijken we naar een livegang waarbij gebruik werd gemaakt van Azure DevOps voor het automatisch builden, testen, controleren en deployen van software.
In deze case moesten maar liefst vijf verschillende softwareonderdelen live worden gezet. Volgens het traditionele proces zou dit een behoorlijke operatie zijn geweest. Er zou continu afstemming nodig zijn tussen Developers en Operations, waarbij deployments volgens een uitgebreid draaiboek uitgevoerd moesten worden.
Developers én Operations moesten exact weten welke stappen uitgevoerd moesten worden, omdat er op veel plekken fouten konden ontstaan. En zoals we allemaal weten uit de praktijk: waar iets fout kán gaan, gebeurt het vaak ook.
Waar Azure DevOps Pipelines enkele jaren geleden voor veel enterprise-organisaties de standaard was, zien we tegenwoordig dat teams steeds vaker hybride werken met platformen zoals GitHub Actions, GitLab CI/CD en Azure DevOps. Daarnaast speelt AI inmiddels een grote rol binnen moderne CI/CD-processen. Tools zoals GitHub Copilot ondersteunen Developers bijvoorbeeld bij het schrijven van pipelines, infrastructuurcode, tests en deploymentscripts. Hierdoor verschuift de rol van CI/CD steeds meer van puur automatiseren naar slim ondersteunen en versnellen van software delivery.
CI/CD Pipelines
De oplossing? We bouwden CI/CD Pipelines voor deze softwareonderdelen.
Developers beheerden de volledige CI/CD-flow: van build en automatische kwaliteitscontroles tot security scanning, testen, configuratietransformaties en deployments naar meerdere omgevingen, inclusief productie. Moderne CI/CD-platformen ondersteunen hierbij steeds vaker pipeline as code: workflows die als code worden opgeslagen, beheerd en versieerbaar zijn.
Daarnaast maken veel teams tegenwoordig gebruik van herbruikbare templates, policy checks en AI-ondersteuning voor het genereren en optimaliseren van pipelines. Dat zorgt niet alleen voor snelheid, maar ook voor meer standaardisatie en betrouwbaarheid binnen software delivery.
Natuurlijk vergde dit aanvankelijk inspanning van zowel Developers als Operations. Developers hebben nog steeds niet zomaar toegang tot productieomgevingen, en dat is ook logisch. In deze aanpak is de CI/CD-pipeline het proces dat rechten heeft om deployments gecontroleerd uit te voeren.
Volgens het afgesproken proces konden Developers vervolgens zelfstandig software opleveren. Letterlijk minutenwerk.
Tijdens deze livegang trad er bij één softwareonderdeel een configuratiefout op. In de oude situatie zou Operations dit eerst moeten signaleren en terugkoppelen aan Development. Daarna zouden meerdere teams gezamenlijk moeten onderzoeken waar het probleem zat, waarna Developers een nieuwe versie moesten aanleveren voor een nieuwe deployment.
Met de CI/CD-aanpak konden Developers de fout direct zelf analyseren, herstellen en opnieuw deployen via de pipeline. Binnen enkele minuten was het opgelost.
Het mooiste voorbeeld van de impact? Een gebruiker die jarenlang complexe livegangen had meegemaakt, zat tijdens deze release naast mij en zei letterlijk:
“Dit hadden we nooit zó snel en zó goed op de oude manier kunnen doen.”
AI en moderne software delivery
Een belangrijke ontwikkeling sinds 2022 is de opkomst van AI binnen softwareontwikkeling en CI/CD. Tools zoals GitHub Copilot helpen teams sneller code, tests en pipelineconfiguraties te schrijven. Ook worden AI-functionaliteiten steeds vaker ingezet voor code-analyse, security scanning en incidentonderzoek.
Tegelijkertijd ontstaan hierdoor nieuwe vraagstukken rondom governance, security en kostenbeheer. Zeker nu AI-functionaliteiten steeds vaker usage-based worden afgerekend, kijken organisaties kritischer naar hoe AI verantwoord binnen ontwikkel- en deploymentprocessen wordt ingezet.
De rol van CI/CD verschuift daarmee verder dan alleen automatiseren. Moderne pipelines helpen teams niet alleen sneller software te leveren, maar ondersteunen ook bij kwaliteit, compliance en besluitvorming.
Conclusie
Dit was een praktijkvoorbeeld van de voordelen van CI/CD en DevOps. Natuurlijk zijn zowel CI/CD als DevOps veel groter dan wat ik hier op papier heb kunnen zetten. Maar één ding is voor mij door de jaren heen alleen maar duidelijker geworden: moderne CI/CD-processen geven Developers meer verantwoordelijkheid én meer mogelijkheden.
Dankzij automatisering, pipeline as code en AI-ondersteuning kunnen teams sneller en betrouwbaarder software opleveren dan ooit tevoren. Daarmee blijft de kern van DevOps onveranderd: zo efficiënt mogelijk waarde leveren voor gebruikers, met kwaliteit, snelheid en flexibiliteit als belangrijke pijlers.

About the author
Anthony is software consultant en maakt complexe vraagstukken simpel en werkbaar met een betrokken en praktische aanpak.

