<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="29648" language="fr" source="https://portal.flane.ch/swisscom/fr/xml-course/training-clrhk" lastchanged="2025-10-20T09:26:48+02:00" parent="https://portal.flane.ch/swisscom/fr/xml-courses"><title>Cloud Ready Hackathon</title><productcode>CLRHK</productcode><vendorcode>FL</vendorcode><vendorname>Fast Lane</vendorname><fullproductcode>FL-CLRHK</fullproductcode><version>1.0</version><objective>&lt;p&gt;&lt;strong&gt;Learning Outcomes&lt;/strong&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;This Hackathon encompasses the modern software development toolbox &amp;ndash; from source control, across testing tools to continuous integration and deployment. Each engineer working with software needs to have experience with these to be successful in the modern, cloud-native world.Every attendee will build the following technical skills:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fluency with the basic set of bash commands necessary to work in a Linux/Unix based environment&lt;/li&gt;&lt;li&gt;Experience with Git commands to be able to successfully participate in development teams, both from the command line and chosen IDE&lt;/li&gt;&lt;li&gt;Familiarity with software testing process, both the writing and executing tests&lt;/li&gt;&lt;li&gt;Experience with Docker (creating and running custom images, pushing images to private docker repository)&lt;/li&gt;&lt;li&gt;Experience with Kubernetes (running a cluster, deploying, running, and upgrading a microservice app)&lt;/li&gt;&lt;li&gt;Working knowledge of chosen CI/CD automation tool (either Jenkins or GitHub actions)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Attendees will also explore the concepts of test-driven development, infrastructure as code, microservice architecture and service mesh.&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Cloud Ready Hackathon builds on the concept of learning-by-doing in a highly interactive environment. Solving the real world problem without being told directly what to do will enable attendees to apply acquired skills immediately 
on their job&lt;/p&gt;</objective><contents>&lt;p&gt;&lt;strong&gt;Challenges&lt;/strong&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;The challenges are connected &amp;ndash; each of them builds on top of the previous one. The attendees will be given a repo containing the source code of the demo application consisting of several microservices developed using node.js. This 
application will be used throughout the Bootcamp, and each challenge will present a piece of the puzzle towards the story of continuous delivery into the Kubernetes environment. Challenges are briefly described below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Challenge 1: Hello Linux&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A lap around Linux basics (most common bash commands, grep, vi/vim, writing scripts)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 2: To get or Git the code&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Git concept of source control. Tasks include cloning repos, committing, pushing, branching, etc.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 3: Test, test, test&amp;hellip; and then code&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implement Unit tests for the existing code with Jest.&lt;/li&gt;&lt;li&gt;Introducing Test-Driven Development. Implement new functionalities in a test-driven manner (first test, then code).&lt;/li&gt;&lt;li&gt;Create a code-coverage report using SonarQube.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 4: Pack it and send it to the dock&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to containers with Docker.&lt;/li&gt;&lt;li&gt;Creating Dockerfile, building images and pushing to Docker registry.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 5: Let the orchestration begin!&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Kubernetes.&lt;/li&gt;&lt;li&gt;Creating the first cluster using Google Kubernetes Engine. Deploying first container images to Kubernetes cluster.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 6: Let&amp;rsquo;s automate the packaging&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to CI/CD tools. Creating the continuous integration pipeline with unit testing, branch protection, code-quality gates, and creating and pushing container images.&lt;/li&gt;&lt;li&gt;The attendee teams will be able to choose between Jenkins and GitHub Actions &amp;ndash; whichever works for them&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 7: Putting it all together&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating deployment pipeline for Continuous Delivery using Jenkins or GitHub Actions. Zero-downtime deployment using Helm.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 8: Coding the infrastructure&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Terraform. Creating the infrastructure-as-code scripts for deploying the K8s and other services on GCP or Azure.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 9: What&amp;rsquo;s up with my application?&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implementing monitoring solution leveraging Prometheus and Graphana. Deploying a &amp;ldquo;dirty&amp;rdquo; application and monitoring the status of the cluster.&lt;/li&gt;&lt;li&gt;Implementing resource limitations for containers.&lt;/li&gt;&lt;li&gt;Implementing alerting.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Challenge 10: Now, let&amp;rsquo;s mesh it up!&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction of Istio as service mesh platform for Kubernetes. Implementing advanced microservices scenarios (advanced routing, retries with exponential backoff, circuit breaker, health checks, mutual TLS, &amp;hellip;).&lt;/li&gt;&lt;li&gt;Canary deployment&lt;/li&gt;&lt;/ul&gt;</contents><objective_plain>Learning Outcomes


This Hackathon encompasses the modern software development toolbox – from source control, across testing tools to continuous integration and deployment. Each engineer working with software needs to have experience with these to be successful in the modern, cloud-native world.Every attendee will build the following technical skills:



- Fluency with the basic set of bash commands necessary to work in a Linux/Unix based environment
- Experience with Git commands to be able to successfully participate in development teams, both from the command line and chosen IDE
- Familiarity with software testing process, both the writing and executing tests
- Experience with Docker (creating and running custom images, pushing images to private docker repository)
- Experience with Kubernetes (running a cluster, deploying, running, and upgrading a microservice app)
- Working knowledge of chosen CI/CD automation tool (either Jenkins or GitHub actions)
Attendees will also explore the concepts of test-driven development, infrastructure as code, microservice architecture and service mesh.


Cloud Ready Hackathon builds on the concept of learning-by-doing in a highly interactive environment. Solving the real world problem without being told directly what to do will enable attendees to apply acquired skills immediately 
on their job</objective_plain><contents_plain>Challenges


The challenges are connected – each of them builds on top of the previous one. The attendees will be given a repo containing the source code of the demo application consisting of several microservices developed using node.js. This 
application will be used throughout the Bootcamp, and each challenge will present a piece of the puzzle towards the story of continuous delivery into the Kubernetes environment. Challenges are briefly described below:

Challenge 1: Hello Linux



- A lap around Linux basics (most common bash commands, grep, vi/vim, writing scripts)
Challenge 2: To get or Git the code



- Introduction to Git concept of source control. Tasks include cloning repos, committing, pushing, branching, etc.
Challenge 3: Test, test, test… and then code



- Implement Unit tests for the existing code with Jest.
- Introducing Test-Driven Development. Implement new functionalities in a test-driven manner (first test, then code).
- Create a code-coverage report using SonarQube.
Challenge 4: Pack it and send it to the dock



- Introduction to containers with Docker.
- Creating Dockerfile, building images and pushing to Docker registry.
Challenge 5: Let the orchestration begin!



- Introduction to Kubernetes.
- Creating the first cluster using Google Kubernetes Engine. Deploying first container images to Kubernetes cluster.
Challenge 6: Let’s automate the packaging



- Introduction to CI/CD tools. Creating the continuous integration pipeline with unit testing, branch protection, code-quality gates, and creating and pushing container images.
- The attendee teams will be able to choose between Jenkins and GitHub Actions – whichever works for them
Challenge 7: Putting it all together



- Creating deployment pipeline for Continuous Delivery using Jenkins or GitHub Actions. Zero-downtime deployment using Helm.
Challenge 8: Coding the infrastructure



- Introduction to Terraform. Creating the infrastructure-as-code scripts for deploying the K8s and other services on GCP or Azure.
Challenge 9: What’s up with my application?



- Implementing monitoring solution leveraging Prometheus and Graphana. Deploying a “dirty” application and monitoring the status of the cluster.
- Implementing resource limitations for containers.
- Implementing alerting.
Challenge 10: Now, let’s mesh it up!



- Introduction of Istio as service mesh platform for Kubernetes. Implementing advanced microservices scenarios (advanced routing, retries with exponential backoff, circuit breaker, health checks, mutual TLS, …).
- Canary deployment</contents_plain><duration unit="d" days="5">5 jours</duration><pricelist><price country="SI" currency="EUR">3650.00</price><price country="GR" currency="EUR">3650.00</price><price country="MK" currency="EUR">3650.00</price><price country="HU" currency="EUR">3650.00</price><price country="NL" currency="EUR">3745.00</price><price country="BE" currency="EUR">3745.00</price><price country="GB" currency="GBP">3300.00</price></pricelist><miles/></course>