A curated, raodmap-based collection of free DevOps labs, challenges, and projects. This repo follows the DevOps Roadmap but primarily focuses only on doing, not reading.
π§°π οΈ Stop reading, Start building
- DevOps is a set of practices. It is a culture within a team or company. Many people are quick to define DevOps by lsiting off a laundry list of technologies but that's not correct at all. DevOps is the practice and those technologies are the tools that help us achieve a DevOps Environment.
- It is a combination of thing's, it's a mix of the practices and tools used to increase the delivery and deployment of software. A DevOps team tries to simplify and automate each step in the software lifecycle just to make everything faster and give developers peace of mind during lifecycle steps.
- Collaboration across teams (Devs, QA, etc.)
- Improved delivery
- Security
- Speed
- Scale
- Reliability
- Automated development cycle
- Ease of use
- Markup costs for companies on finding bugs early on
- π§± Core Foundations
- π Prerequisites (Programming & Git)
- π Linux Fundamentals & Scripting
- π Networking & Security
- π Containers
- βοΈ CI/CD Tools
- π οΈ IaC (Infrastructure as Code)
- βοΈ Cloud & Monitoring
- βΈοΈ Container Orchestration
- DevOps Roadmap - Dedicated DevOps roadmap through guided DevOps projects
- iximiuz Labs - DevOps focused problems to help hone your skills
- DevOps Foundational Project - Create a complete application from the ground up.
- DevOps Event Driven Architecture - Build a serverless, event-driven system on AWS and Terraform
- For this learning path, I want to keep up with the current demands of common programming languages for a DevOps/SRE role. I narrowed the options down to Python and Go, and since I'm already familiar with Python, I have decided to learn Go throughout this learning path.
- Go Bootcamp
- Tour of Go - An interactive tour of Go that covers the most important features like the basics, methods and interfaces, generics, and concurrency.
- Learn Git Branching - An interactive Git practice.
- ohmygit (Game) - Learn Git through an interactive game.
π― Learning Objectives - Linux fundamentals & File navigation, process & resource monitoring, ownerships & permissions, logs & health checks, shell scripting/automation, networking
Linux Upskill Challenge - 20-days hands-on
- It was a no brainer choosing Linux (Ubuntu) as the OS for my learning path, mainly because it supports a more user-friendly experience, and a focus on ease of use specifically for system administration tasks.
- OverTheWire - An interactive game to practice security concepts
- Learn Bash Scripting - Learn the basics of Bash scripting
- Linux Command Lind CTF Challenge - A set of progressive Capture the flag challenges to test Linux command skills
- SadServers - Interactive SSH-basehd challenges where you fix real networking + security issues on remote Linux machines
- TryHackMe - Beginner-Friendly Networking + Security Labs
- HackTheBox - Intro to Networking & Linux Challenges
π― Learning Objectives - Docker, images, volumes, Dockerfiles, registries, container security basics
- KodeKloud Docker Labs - Hands-on interactive Docker lab platform
- Play With Docker - Spin up real Docker nodes online and run full clusters
- Docker Curriculum - Learn to build and deploy your distributed applications easily to the cloud with Docker
- GitHub Actions - Complete your first CI/CD pipeline
- Jenkins - Build a Java app with Maven
π― Learning Objectives - Terraform, IaC, configuration management(Ansible), automation, provisioning
- HCP Terraform - HashiCorp official Terraform Labs
- KodeKloud - Interactive browser labs
- Cloud is Free - Deploy a static website, create a serverless sending application, and create and manipulate databases using containers
- Learn to Cloud - Understand the fundamentals of cloud computing
- AWS Workshops - Hands-on events, labs, and projects on AWS
- Prometheus - Getting Started Lab - You learn by running Prometheus locally
- Prometheus + Grafana Stack - A prebuilt monitoricing solution for Docker hosts and containers with Prometheus, Grafana, etc
- Datadog - Free, official hands-on Datadog workship with interactive labs
- Datadpg Synthetic Monitoring - A proactive monitoring solution enabling you to monitor end-to-end user flows with browser tests
π― Learning Objectives - Package applications into containers, deploy, manage, and scale containers across a cluster of machines
- Kubernetes The Hard Way - Tutorial to walk you through setting up Kubernetes the hard way
- KillerKoda - Interactive Kubernetes with free scenarios and real clusters
- Play With Kubernetes - Spin up ephemeral Kubernetes clusters in your browser in seconds
- Kubernetes Goat - An interactive Kubernetes security learning playground