| Modern en snel integreren met CI/CD, GitOps en Kubernetes. Deze training introduceert de denkwijze van moderne software levering: van het uitvoeren van stappen naar het beschrijven van een gewenste toestand.. We beginnen met het klassieke principe “Alles is een bestand”. Je leert waarom frequente implementaties cruciaal zijn voor het verminderen van risico’s en hoe je een CI-pipeline bouwt die dit mogelijk maakt. Daarna onderzoeken we hoe je je infrastructuur declaratief kunt beheren met behulp van het krachtige “reconciliation loop”-concept achter tools als Kubernetes en Terraform. Uiteindelijk komt dit allemaal samen in een GitOps practicum waarbij we snel en soepel nieuwe software opleveren. |
Delivering Modern Cloud Native Software NL
Doelstellingen
Omschrijving
Doelgroep
Programma
Praktisch
Docent
Na deze training ben je in staat om:
• Te begrijpen waarom frequente, geautomatiseerde implementaties risico’s verminderen en hoe je succes kunt meten met DORA metrics.
• Het cruciale concept van een “gewenste toestand” en een “reconciliation loop” uit te leggen.
• De “Alles is een bestand”-filosofie toe te passen om een versiebeheerde workflow te creëren.
• Een CI-pipeline te ontwerpen die artefacts bouwt, van versie voorziet en in je container register plaatst.
• De kernconcepten achter het succes van Kubernetes te begrijpen en hoe je aan de slag kunt gaan.
• Een GitOps-workflow te implementeren om de applicatie in Kubernetes declaratief te installeren (en beheren).
In moderne software-engineering gaat het niet alleen om het schrijven van code, het gaat ook om betrouwbaar, veilig en snel opleveren. Automatiseren is de enige manier om dit meerdere keren per dag te doen. Teams die vaak integreren krijgen sneller feedback van de klant en kunnen daardoor beter inspelen op behoeftes. Deze cursus biedt een blauwdruk voor een moderne ontwikkelstraat die gebaseerd is op twee tijdloze principes: “Alles is een bestand” en een feedback loop op de “Gewenste toestand” (ook wel “reconciliation loop”).
We verkennen ook complexere onderwerpen zoals Kubernetes-operators door ze te vergelijken met embedded software: zoals de software die een robot in balans houdt. Je leert niet alleen maar tools: je leert de fundamentele principes van declaratieve systemen kennen. Dit stelt je in staat om elegantere oplossingen te ontwerpen en het “waarom” achter Cloud Native uit te leggen.
Affiniteit met techniek en programmeren is nodig, ook moet je de basis van git begrijpen. Geen voorkennis van Kubernetes is vereist.
Bijvoorbeeld:
• Softwareontwikkelaars & Engineers die willen begrijpen hoe het eruitziet om applicaties op een cloud-native manier te bouwen en te leveren.
• Architecten en Engineers die een overstap naar Kubernetes overwegen en de kernconcepten en de redenen voor de industriële adoptie ervan willen leren.
• DevOps en Platform Engineers die verantwoordelijk zijn voor het creëren en beheren van CI/CD-infrastructuur.
• Technisch onderlegde Test Engineers die hun begrip van het onderliggende platform waarmee ze werken willen verdiepen.
Dag 1: Software bouwen: waarom we automatiseren en hoe
• Module 1: Het Doel: Hoge-Snelheid, Laag-Risico Implementaties
o Waarom frequent implementeren veiliger is dan zelden implementeren.
o Introductie van de vier belangrijkste DORA-metrics als onze maatstaf voor succes.
o De mindsetverandering: Van het uitvoeren van stappen naar het beschrijven van een gewenste toestand.
• Module 2: “Alles is een bestand” toepassen in de praktijk
o De Linux-filosofie en de toepassing ervan op DevOps.
o Git als de enige bron van waarheid voor voor code, tests en infrastructuur.
o Praktijk Lab: Het creëren van een GitHub Actions-workflow die een containerimage bouwt en pusht.
• Module 3: Ephemeral Environments als kwaliteitsborging
o Dynamische, on-demand preview-omgevingen voor elke pull request.
o Hoe je een volledige reeks tests (integratie, end-to-end) uitvoert tegen een echte, productie-like omgeving.
o Live Demo: Het blokkeren van een pull request om te voorkomen dat fouten in productie terecht komen.
Dag 2: Software integreren: Gewenste Toestand & Reconciliation
• Module 4: Desired State beschrijven met Kubernetes
o Kernconcepten uitgelegd.
o Het definiëren van de gewenste toestand van je applicatie met behulp van Kubernetes-objecten (Deployments, Services, ConfigMaps).
o Praktijk Lab: Software draaien in een Kubernetes cluster
• Module 5: De Reconciliation Loop begrijpen
o De “Balancing Robot”-analogie: Het begrijpen van control loops.
o Hoe een Kubernetes-operator werkt: De kracht van continue reconciliatie.
o Hoe Terraform hetzelfde principe gebruikt om infrastructuur te beheren.
• Module 6: GitOps: De Ultieme Reconciliation Workflow
o GitOps als de perfecte implementatie van het “desired state”-principe.
o Praktijk Lab: Het gebruik van een tool zoals ArgoCD om je Git-repository te verbinden met Kubernetes en een volledig declaratieve, zelfherstellende implementatie te bereiken.
o Het sluiten van “de loop”: van een gewenste toestandsverandering in Git naar een gereconcilieerde toestand in productie.
Jouw startpunt voor CNCF-certificering
De Cloud Native Computing Foundation (CNCF) is de leverancieronafhankelijke thuisbasis van fundamentele open-source projecten zoals Kubernetes. Hun certificeringen zijn de wereldwijde standaard voor cloud-native expertise.
Hoewel deze cursus geen speciale examenvoorbereiding is, biedt het het conceptuele begrip dat de basis vormt voor het behalen van certificeringen. Na deze training ben je voorbereid om te beginnen met studeren voor het CKAD (Certified Kubernetes Application Developer) examen.
• Duur: 2 Dagen
• Taal: Engels of Nederlands
• Vereisten: Basis kennis van Git en programmeren (programmeertaal maakt niet uit). Geen voorkennis van Kubernetes is vereist.
• Wat mee te nemen: Een laptop met een container runtime (bijv. Docker Desktop), VSCode en een GitHub-account waarmee we samen (simpel) gaan bouwen tijdens de cursus.
Als ondernemende software engineer richt Simon Koudijs zich op een praktisch doel: het bouwen van kwalitatieve software die betrouwbaar wordt geleverd. Zijn achtergrond in Elektrotechniek heeft hem geleerd om te meten en problemen op te lossen in kleine stappen; vaardigheden die hij overal heeft toegepast, van embedded programming en kleine startups tot grote bedrijven zoals pensioenfonds PGGM.
In zijn dagelijkse werk bouwt hij aan een softwareproduct. Daarbij gebruikt hij moderne AI tools om het werk gedaan te krijgen, maar laat zich daarbij niks op de mouw spelden. Zijn trainingen zijn gebaseerd op die praktijkervaring. Je leert de praktische vaardigheden en het ‘waarom’ erachter, zodat je deze methodes vol vertrouwen kunt toepassen om sneller betere software te bouwen.
How can ICT Improve help you?
Make an appointment with one of our experts via 040 202 18 03 or via our Contact page.