{"id":3568,"date":"2025-10-07T17:01:40","date_gmt":"2025-10-07T15:01:40","guid":{"rendered":"https:\/\/staging.ict-improve.nl\/training\/delivering-modern-cloud-native-software-en\/delivering-modern-cloud-native-software\/"},"modified":"2025-10-12T07:46:50","modified_gmt":"2025-10-12T05:46:50","slug":"delivering-modern-cloud-native-software","status":"publish","type":"training","link":"https:\/\/staging.ict-improve.nl\/en\/training\/delivering-modern-cloud-native-software-en\/delivering-modern-cloud-native-software\/","title":{"rendered":"Delivering Modern Cloud Native Software"},"content":{"rendered":"","protected":false},"excerpt":{"rendered":"<p>A Practical Guide to CI\/CD, Desired State, and GitOpsThis training introduces the mindset of modern software delivery: moving from executing steps to describing a desired state. We start with the timeless principle &#8220;Everything is a file&#8221;. We use files to build a version-controlled and auditable workflow (Using tools like GitHub actions or Azure DevOps). You will learn why frequent deployments are key to reducing risk and how to build a pipeline that enables this. We then explore how to manage your infrastructure declaratively using the powerful &#8220;reconciliation loop&#8221; concept behind tools like Kubernetes and Terraform. At the end we combine this into an example that uses GitOps to deliver new software.<br \/>\nAfter this training, you will:<br \/>\n\u2022\tUnderstand why frequent, automated deployments reduce risk and how to measure your team&#8217;s success with DORA metrics.<br \/>\n\u2022\tExplain the crucial concept of a &#8220;desired state&#8221; and a &#8220;reconciliation loop&#8221;.<br \/>\n\u2022\tApply the &#8220;Everything is a file&#8221; philosophy to create a version-controlled workflow.<br \/>\n\u2022\tDesign a CI pipeline that builds, versions, and pushes containerized artifacts.<br \/>\n\u2022\tUnderstand the core concepts behind Kubernetes&#8217; success and how to get started.<br \/>\n\u2022\tImplement a GitOps workflow to declaratively manage application state in Kubernetes.<br \/>\nIn modern software engineering, it\u2019s not only about writing code, but delivering it reliably, securely, and at speed. The key is to make deployments small, frequent, and automated. This is a proven way to reduce risks. This course provides a blueprint for that process, built on two timeless principles: the control systems concept of a &#8220;reconciliation loop&#8221; and philosophy of &#8220;Everything is a file&#8221;.<br \/>\nWe demystify complex topics like Kubernetes operators by comparing them to real-world control systems, like the software that keeps a robot in balance. You will not just learn some commands; you will understand the fundamental principles of declarative systems. This enables you to design more resilient and elegant solutions, and understand the &#8220;why&#8221; behind the industry shift towards cloud-native technologies.<br \/>\nThis course is for builders and maintainers of software systems. No prior Kubernetes knowledge is required.<br \/>\n\u2022\tSoftware Developers &#038; Engineers who want to understand what it looks like to build and deliver applications in a cloud native way.<br \/>\n\u2022\tArchitects and Engineers considering a move to Kubernetes, who want to learn the core concepts and the reasons for its industry-wide adoption.<br \/>\n\u2022\tDevOps and Platform Engineers responsible for creating and managing CI\/CD infrastructure.<br \/>\n\u2022\tTechnically-skilled Test Engineers who want to deepen their understanding of the underlying platform they interact with.<br \/>\nDay 1: The Foundation &#8211; Why We Automate and How<br \/>\n\u2022\tModule 1: The Goal: High-Velocity, Low-Risk Deployments<br \/>\no\tWhy deploying frequently is safer than deploying rarely.<br \/>\no\tIntroduction to the four key DORA metrics as our measure of success.<br \/>\no\tThe mindset shift: From executing steps to describing a Desired State.<br \/>\n\u2022\tModule 2: The &#8220;Everything is a File&#8221; Principle in Practice<br \/>\no\tThe Linux philosophy and its application to modern DevOps.<br \/>\no\tWhy your Git repos are the single source of truth for code, tests, and infrastructure.<br \/>\no\tHands-on Lab: Creating a GitHub Actions workflow that builds and pushes a versioned container image, proving the &#8220;file to artifact&#8221; concept.<br \/>\n\u2022\tModule 3: Ephemeral Environments as a Quality Gate<br \/>\no\tThe power of dynamic, on-demand preview environments for every pull request.<br \/>\no\tHow to run a full suite of tests (integration, end-to-end) against a real, production-like environment.<br \/>\no\tLive Demo: Blocking a pull request from being merged to main until all tests have passed in its own ephemeral environment.<br \/>\nDay 2: The Delivery Engine &#8211; Desired State &#038; Reconciliation<br \/>\n\u2022\tModule 4: Describing Desired State with Kubernetes<br \/>\no\tA practical introduction to the core concepts for developers, starting from scratch.<br \/>\no\tDefining your application&#8217;s desired state using Kubernetes objects (Deployments, Services, ConfigMaps).<br \/>\no\tHands-on Lab: Manually applying a desired state to a cluster.<br \/>\n\u2022\tModule 5: Understanding the Reconciliation Loop<br \/>\no\tThe &#8220;Balancing Robot&#8221; analogy: Understanding control loops.<br \/>\no\tHow a Kubernetes operator works: The power of continuous reconciliation.<br \/>\no\tHow Terraform uses the same principle to manage infrastructure.<br \/>\n\u2022\tModule 6: GitOps: The Ultimate Reconciliation Workflow<br \/>\no\tGitOps as the perfect implementation of the &#8220;desired state&#8221; principle.<br \/>\no\tHands-on Lab: Using a tool like ArgoCD to connect your Git repository to Kubernetes and achieve a fully declarative, self-healing deployment.<br \/>\no\tClosing &#8220;the loop&#8221;: from a desired state change in Git to a reconciled state in production.<br \/>\nYour starting point to CNCF Certification<br \/>\nThe Cloud Native Computing Foundation (CNCF) is the vendor-neutral home of foundational open-source projects like Kubernetes. Their certifications are the global standard for cloud-native expertise.<br \/>\nWhile this course is not a dedicated exam preparation, it provides the conceptual understanding that forms the foundation for pursuing certifications. After this training, you will be prepared to start studying for the CKAD (Certified Kubernetes Application Developer) exam.<br \/>\n\u2022\tDuration: 2 Days<br \/>\n\u2022\tLanguage: English \/ Dutch<br \/>\n\u2022\tPrerequisites: Solid understanding of Git. Some familiarity with container concepts (Docker) and the command line is expected. No prior Kubernetes knowledge is required.<br \/>\n\u2022\tWhat to bring: A laptop with a container runtime (e.g., Docker Desktop), VSCode, and a personal GitHub account.<br \/>\nAs a software engineer and entrepreneur, Simon Koudijs focuses on a practical goal: building quality software that is delivered reliably. His background in Electrical Engineering taught him to measure and solve problems in small steps; a skillset he has applied everywhere, from embedded programming and small startups to large companies like the pension fund PGGM.<br \/>\nIn his daily work, he builds a software product. He uses modern AI tools to get the job done, but isn&#8217;t one to be fooled by the hype. This training is based on that hands-on experience. You\u2019ll learn the practical skills and the &#8220;why&#8221; behind them, so you can confidently apply these methods to build better software, faster.<br \/>\nno<\/p>\n","protected":false},"featured_media":0,"parent":3550,"menu_order":20260330,"template":"","meta":{"_acf_changed":true,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"class_list":["post-3568","training","type-training","status-publish","hentry"],"acf":{"start_date":"20260330","duration":"March 30, 31, 2026","price":"\u20ac 1.295,- Excl. VAT","early_bird_price":"","early_bird_tot":null,"location":"Eindhoven","location_type":"Classroom","theme":["Architecture","Software Engineering"],"training_language":"English","session":"yes","startgarantie":false,"nog_enkele_plaatsen_beschikbaar":false,"uitvoeringscode":"192efe2a-fab1-441f-94e9-1c6f94173bd5"},"_links":{"self":[{"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/training\/3568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/training"}],"about":[{"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/types\/training"}],"version-history":[{"count":0,"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/training\/3568\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/training\/3550"}],"wp:attachment":[{"href":"https:\/\/staging.ict-improve.nl\/en\/wp-json\/wp\/v2\/media?parent=3568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}