Flusso vertelt over CI/CD op Jenkins Days



Vorige week dinsdag was collega Wiebe de Roos gastspreker op de Jenkins Days in Amsterdam, de lokale variant van het Jenkins World-congres dat eerder dit jaar in de VS plaatsvond. Het event in Amsterdam is georganiseerd door Amazic en stond bol van de (technische) workshops en presentaties met betrekking tot Jenkins. Flusso gebruikt de tool met name voor CI/CD-oplossingen. In deze blog lees je het laatste nieuws over Jenkins en de mogelijkheden die dat biedt voor CI/CD volgens Wiebe.


De presentaties van o.a. Cloudbees (de eigenaar van Jenkins), Accenture en ons (in naam van onze opdrachtgever ABN-AMRO) gaven een inkijkje in de meest recente mogelijkheden van de tool. Jenkins is populair op het gebied van Continuous Integration / Continuous Delivery en Flusso gebruikt de (gratis) open source variant van Jenkins bij software-ontwikkelprocessen.


Architectuur van gedistribueerde pipelines om business risks te verkleinen

Belangrijkste highlights Jenkins Days

Naast mijn eigen presentatie heb ik een aantal sessies bijgewoond waarvan dit de belangrijkste highlights zijn:

  • De nieuwe declarative pipelines syntax helpt om pipelines nog gestructureerder te programmeren.
  • Distributed pipeline architecture waarbij er diverse oplossingen worden aangeboden om “business risks” te verkleinen.
  • Besteed niet alleen aandacht aan de technische aspecten met betrekking tot de samenwerking van teams waarin zowel developers als operators (DevOps) werken. Denk ook aan de organisatorische aspecten, aangezien de rollen van de teamleden in DevOps teams veranderen.


Waardevolle ervaring bij ABN AMRO

Momenteel werk ik samen met een aantal collega’s van Flusso intern bij ABN-AMRO. We zijn onderdeel van een CI/CD team op de afdeling IT-Solutions. De werkzaamheden die we uitvoeren bestaan voornamelijk uit het bedenken, implementeren en (laten) handhaven van standards en guidelines op het gebied van software-ontwikkeling. Denk hierbij aan de wijze waarop Jenkins-pipelines worden geprogrammeerd. Ook houden we ons bezig met de modernisatie van de CI gerelateerde tools zoals Jenkins. Momenteel loopt er een groot project om Jenkins binnen de Public Cloud (AWS) onder te brengen. Flusso zet hiervoor de kaders uit, bedenkt de architectuur en werkt aan de risk assessment.

In mijn presentatie zoomde ik in op de volgende onderwerpen:

  • De huidige uitdagingen ten aanzien van de huidige CI tools binnen de bank (ondercapaciteit, configuratie complexiteiten en automatisering).
  • Het moderniseren van de CI omgeving (Jenkins Enterprise) middels het gebruik van Docker-technologie en verdere automatisering.
  • Het inzetten van AWS Public Cloud infrastructuur binnen de context van de CI tools met name om een antwoord te bieden voor een wisselende vraag naar capaciteit (bijv. het opvangen van piek vraag)
  • Het gebruik van standaard pipelines ten behoeve van alle development teams.


Meer kennis zorgt voor verbetering CI/CD-oplossingen

De kennis die Flusso bij externe klanten op doet, gebruiken we ook voor de projecten die in house worden ontwikkeld. We helpen bij het analyseren van de huidige CI/CD-processen, we doen verbetervoorstellen hiervoor en we bouwen samen met de klant aan de technische architectuur om deze processen concreet in te richten. Daarnaast verspreiden we de principes en uitgangspunten van CI/CD die helpen om organisaties volwassener te maken bij de inzet van CI/CD-processen.

 

De belangrijkste voordelen van CI/CD:

  • Medewerkers van klanten worden getraind in de CI/CD-mindset: deze is nodig om de processen te kunnen begrijpen en hiernaar te handelen.
  • Moderne architectuur ondersteunt de CI/CD-processen, waardoor nieuwe features in applicaties sneller worden opgeleverd. Dit levert ook sneller feedback op: de klant kan sneller testen. Bugs komen sneller aan het licht en er worden zo minder fouten in de productiefase geïntroduceerd.
  • Het levert standaardisatie van de software ontwikkel lifecycle-processen op, zodat iedereen een uniforme werkwijze hanteert. Hiermee wordt voorkomen dat ontwikkelaars het wiel opnieuw uitvinden: men kan leren van elkaar en men doet (gezamenlijke) kennis op, waarmee het menselijk kapitaal groeit.