Course Overview
The Cloud Ready Hackathon prepares the engineers of all flavours for cloud-native development and deployment. It's focus is to give attendees a hands-on experience of working with Linux, Git, Docker, Kubernetes, popular DevOps tools such as GitHub Actions, Jenkins and Terraform. Attendees will work in teams completing a set of gated challenges that will take them on a journey to becoming the stars of today’s modern, cloud-native application world.
Prerequisites
Familiarity with software development practices Some experience with Linux/Bash
Course Objectives
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.
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.
Course Content
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: Pack it and send it to the dock
- Introduction to containers with Docker. Creating Dockerfile, building images and pushing to Docker registry.
Challenge 2: Let the orchestration begin!
- Introduction to Kubernetes. Creating the first cluster using Kubernetes Engine. Deploying first container images to Kubernetes cluster.
Challenge 3: 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 4: Putting it all together
- Creating deployment pipeline for Continuous Delivery using Jenkins or GitHub Actions. Zero-downtime deployment using Helm.