DevOps Bootcamp
5-month program to start your career as a DevOps engineer 😎

Y O U R G U I D E D P R O G R A M 🚀


developer
sys admin
learnt many technologies, but
don’t know how to use them
together
don’t know how real-life examples
look like, so don’t feel confident you
can really use these tools in practice
DevOps
engineer



confidence that you will handle the DevOps tasks at your job
.png)
Why learn from me?
.png)
Thousands of students love the way how I explain complex concepts in an easy way! 💙
.png)
I'm both an educator and a practitioner. The bootcamp is based on real projects that I have worked in or consulted and from exchanging with experts in the specific fields.
.png)
Learn from a Docker Captain 🐳
Choose the right package for your needs and budget 👍
Early Bird Prices
Bootcamp Curriculum
Introduction to DevOps
- DevOps Bootcamp Overview
-
What is DevOps? -
Roles and Responsibilities of a DevOps Engineer -
How DevOps fits in the whole Software Development lifecycle
Version Control with Git
- Introduction to Version Control and Git
-
Basic Concepts of Git -
Setup git repository (remote and local) -
Working with Git (git status, git commit, git add, git push) -
Initialize Git project locally -
Concept of Branches -
Merge Requests -
Deleting Branches -
Avoiding Merge Commits (rebase) -
Resolving Merge Conflicts -
Don't track certain files (.gitignore) -
Save work-in-progress changes (git stash) -
Going back in history (git checkout) -
Undoing commits (git revert, git reset) -
Merging Branches
-
Git for DevOps
Build & Package Manager Tools
- What are Build Tools and Package Managers?
-
How to build an artifact? -
How to run the application artifact? -
How to publish the application artifact to artifact repository? -
Build Tools for Java (gradle and maven examples) -
Dependency Management in Software Development -
Package Manager in JavaScript applications - Build and run applications in JS -
Build Tools & Docker
-
Why Build Tools are relevant for DevOps Engineers?
Cloud & Infrastructure as a Service Basics
- Cloud & Infrastructure as a Service Concepts
-
Setup Server on DigitalOcean (Droplet) -
Install Java on Cloud Server -
Deploy and run an application on Cloud Server -
Create a Linux User to login to Server (instead of using Root User)
Artifact Repository Manager with Nexus
- What is an Artifact Repository Manager?
-
Install and run Nexus on Cloud Server -
Different Repository Types (proxy, hosted, etc.) explained -
Different Repository Formats (maven, docker, npm, etc.) explained -
Upload Jar File to Nexus (maven and gradle projects) -
Nexus API and Repository URLs -
Blob stores -
Browsing Components - Components vs Assets -
Cleanup Policies -
Scheduled Tasks
Containers with Docker
- What is a Container?
-
Docker Components and architecture explained -
Docker vs. Virtual Machine -
Main Docker Commands -
Debugging a Docker Container -
Demo Project Overview - Docker in Practice (Nodejs App with MongoDB and MongoExpress UI) -
Developing with Containers -
Docker Compose - Running multiple services -
Dockerfile - Building our own Docker Image -
Private Docker Repository - Pushing our built Docker Image into a private Registry on AWS -
Deploy containerized app -
Docker Volumes - Persist data in Docker -
Volumes Demo - Configure persistence for our demo project
-
Create Docker Images Repository on Nexus -
Push/Pull Docker Image from/to Nexus Repository Manager -
Install Nexus with Docker -
Configure insecure repositories in Docker Engine
Build Automation - CI/CD with Jenkins
- What is Build Automation? What is Jenkins?
-
Install Jenkins on cloud server (Docker vs Server install) -
Jenkins plugins -
Installing build tools in Jenkins -
Jenkins Basics Demo -
Create Freestyle Job -
Configure Git Repository -
Run Tests and Build Java Application
-
-
Docker in Jenkins -
Make Docker commands available in Jenkins -
Build Docker Image -
Push to DockerHub Repo -
Push to Nexus Repo
-
-
Jenkins Pipeline (Use Cases) -
Create a simple Pipeline Job -
Full Jenkinsfile Syntax Demo -
Create a full Pipeline Job -
Build Java App -
Build Docker Image -
Push to private DockerHub
-
-
Create a Multi-Branch Pipeline Job -
Credentials in Jenkins -
Jenkins Shared Library -
WebHooks - Trigger Jenkins Jobs automatically -
Versioning Application in Continuous Deployment -
Concepts of Versioning in Software Development -
Increment Application version from Jenkins Pipeline -
Set new Docker Image version from Jenkins Pipeline -
Commit Version Bump from Jenkins Pipeline
-
AWS Services
- Introduction to Amazon Web Services
-
Identity & Access Management (IAM) - User, Groups and Permissions -
Regions and Availability Zones -
Virtual Private Cloud (VPC) - Your Private Network -
Subnets -
Security Groups -
Internet Gateway -
Route Table -
CIDR Blocks
-
-
Introduction to Elastic Compute Cloud (EC2) -
Create an EC2 Instance -
Run Webapplication on EC2 using Docker
-
-
AWS Command Line Tool -
Install and configure AWS CLI -
Create EC2 -
Create Security Group -
Create key-pair -
Create IAM user with permissions
-
-
Automate deploying from Jenkins Pipeline to EC2 Intance -
using docker run -
using docker-compose
-
-
Real-life example of dynamically setting new image version in docker-compose -
SSH agent plugin and SSH credential type in Jenkins
Container Orchestration with Kubernetes
- Introduction to Kubernetes
-
Understand the main Kubernetes Components -
Node, Pod, Service, Ingress, ConfigMap, Secret, Volume, Deployment, StatefulSet
-
-
Kubernetes Architecture -
Minikube and kubectl - Local Setup -
Main Kubectl Commands - K8s CLI -
Create and debug Pod in a Minicluster
-
-
Kubernetes YAML Configuration File -
Create and Configure Deployment and Service Component
-
-
Demo Project: MongoDB and MongoExpress -
Organizing your components with K8s Namespaces -
Kubernetes Service Types -
Making your App accessible from outside with Kubernetes Ingress -
Persisting Data in Kubernetes with Volumes -
Persistent Volume -
Persistent Volume Claim -
Storage Class
-
-
ConfigMap and Secret Kubernetes Volume Types -
Deploying Stateful Apps with StatefulSet -
Deploying Kubernetes cluster on a Managed Kubernetes Service (K8s on Cloud) -
Helm - Package Manager of Kubernetes -
Helm Demo: Install a Stateful Application on Kubernetes using Helm -
Demo: Deploy App from Private Docker Registry -
Extending the Kubernetes API with Operator -
Prometheus Operator Demo with Helm: Setup Prometheus Monitoring in K8s
Kubernetes on AWS - EKS
AWS & Kubernetes
-
AWS Container Services: Overview (ECR, ECS, EKS, Fargate) -
Create an EKS cluster with AWS Management Console (UI) -
Create cluster VPC -
Create cluster Roles -
Use Cloudformation Stack -
EC2 Worker Nodes -
Fargate Profile -
Configure Austoscaler -
Configure kube context to connect to the cluster
-
-
Create an EKS cluster with eksctl (the easy way)
-
Configure kubectl inside Jenkins -
Configure kube context in Jenkins -
Install aws-iam-authenticator in Jenkins -
Complete Jenkins Pipeline - Deploy to EKS - using kubectl -
Complete Jenkins Pipeline - Build and push docker image to ECR and deploy to EKS -
Complete Jenkins Pipeline - Deploy to LKE using Kubernetes CLI plugin and kubeconfig file
Infrastructure as Code with Terraform
- What is Terraform? How it works
-
Architecture -
Providers -
Resources & Data Sources -
Variables & Output Values -
Environment variables in Terraform -
Terraform commands -
Terraform State -
Provisioners -
Modules -
Remote State
-
Create Security Group -
Create VPC -
Create Subnet -
Create Route Table -
Create Internet Gateway -
Create key-pair -
Provision EC2 server -
Modularize the demo project
-
Use existing modules from Terraform Registry -
Create VPC -
Provision EKS cluster
-
Configure Terraform in Jenkins -
Automate provisioning EC2 instance from Jenkins pipeline and deploy the application with docker-compose
Content will be updated regularly!
Existing Modules, but also new ones coming 👇🏻
Upcoming Modules
included!
We have a roadmap of next Modules we will create and add to the Bootcamp.
.png)
Frequently asked questions
What to do if I miss the LIVE session? (Package 3)
Only for Package 3 relevant:
Can I work beside the bootcamp?
Yes! The bootcamp is created with working participants in mind, because our participants are often already working as a SysAdmin or Developer transitioning to DevOps.
How do I get most out of this program?
For a successful completion of the programm, it's important to watch ALL the supplied resources each week and do ALL the demo's that I show you in the videos. Work at your own pace and take time to really understand and practice one module before moving to the next.
What are the pre-requisites?
Good question!
How often are the live Q&A Calls (Package 3)
Only for Package 3 relevant:
What happens after 5 months?
After 5 months you should be ready for your first DevOps job and be done with the bootcamp :) However, you will still have access to all the videos, if you want to look something up or freshen up your knowledge later.
What if I am unhappy with the bootcamp?
Generally if something is unclear or you have problems with the bootcamp, we will try to support you immediately to answer all your questions. We are also happy to hear your feedback or criticism immediately, so we can fix it for you.
Still having questions?
I gathered all the questions and answered them in this video
.png)
