Skip to content

🚀Production-grade DevOps course: 18 hands-on labs covering Docker, Kubernetes, Helm, Terraform, Ansible, CI/CD, GitOps (ArgoCD), monitoring (Prometheus/Grafana), and more. Build real-world skills with progressive delivery, secrets management, and cloud-native deployments.

Notifications You must be signed in to change notification settings

inno-devops-labs/DevOps-Core-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DevOps Engineering: Core Practices

Labs Exam Duration

Master production-grade DevOps practices through hands-on labs. Build, containerize, deploy, monitor, and scale applications using industry-standard tools.


Quick Start

  1. Fork this repository
  2. Clone your fork locally
  3. Start with Lab 1 and progress sequentially
  4. Submit PRs for each lab (details below)

Course Roadmap

Week Lab Topic Key Technologies
1 1 Web Application Development Python/Go, Best Practices
2 2 Containerization Docker, Multi-stage Builds
3 3 Continuous Integration GitHub Actions, Snyk
4 4 Infrastructure as Code Terraform, Cloud Providers
5 5 Configuration Management Ansible Basics
6 6 Continuous Deployment Ansible Advanced
7 7 Logging Promtail, Loki, Grafana
8 8 Monitoring Prometheus, Grafana
9 9 Kubernetes Basics Minikube, Deployments, Services
10 10 Helm Charts Templating, Hooks
11 11 Secrets Management K8s Secrets, HashiCorp Vault
12 12 Configuration & Storage ConfigMaps, PVCs
13 13 GitOps ArgoCD
14 14 Progressive Delivery Argo Rollouts
15 15 StatefulSets Persistent Storage, Headless Services
16 16 Cluster Monitoring Kube-Prometheus, Init Containers
Exam Alternative Labs
17 17 Edge Deployment Fly.io, Global Distribution
18 18 Reproducible Builds Nix, Deterministic Builds, Flakes

Grading

Grade Composition

Component Weight Points
Labs (16 required) 80% 160 pts
Final Exam 20% 40 pts
Bonus Tasks Extra +40 pts max
Total 100% 200 pts

Exam Alternative

Don't want to take the exam? Complete both bonus labs:

Lab Topic Points
Lab 17 Fly.io Edge Deployment 20 pts
Lab 18 Reproducible Builds with Nix 20 pts

Requirements:

  • Complete both labs (17 + 18 = 40 pts, replaces exam)
  • Minimum 16/20 on each lab
  • Deadline: 1 week before exam date
  • Can still take exam if you need more points for desired grade
📊 Grade Scale
Grade Points Percentage
A 180-200+ 90-100%
B 150-179 75-89%
C 120-149 60-74%
D 0-119 0-59%

Minimum to Pass: 120 points (60%)

📈 Grade Examples

Scenario 1: Labs + Exam

Labs: 16 × 9 = 144 pts
Bonus: 5 labs × 2.5 = 12.5 pts
Exam: 35/40 pts
Total: 191.5 pts = 96% (A)

Scenario 2: Labs + Exam Alternative

Labs: 16 × 9 = 144 pts
Bonus: 8 labs × 2.5 = 20 pts
Lab 17: 18 pts
Lab 18: 17 pts
Total: 199 pts = 99.5% (A)

Lab Structure

Each lab is worth 10 points (main tasks) + 2.5 points (bonus).

  • Minimum passing score: 6/10 per lab
  • Late submissions: Max 6/10 (within 1 week)
  • Very late (>1 week): Not accepted
📋 Lab Categories

Foundation (Labs 1-2)

  • Web app development
  • Docker containerization

CI/CD & Infrastructure (Labs 3-4)

  • GitHub Actions
  • Terraform

Configuration Management (Labs 5-6)

  • Ansible playbooks and roles

Observability (Labs 7-8)

  • Loki logging stack
  • Prometheus monitoring

Kubernetes Core (Labs 9-12)

  • K8s basics, Helm
  • Secrets, ConfigMaps

Advanced Kubernetes (Labs 13-16)

  • ArgoCD, Argo Rollouts
  • StatefulSets, Monitoring

Exam Alternative (Labs 17-18)

  • Fly.io, Nix Reproducible Builds

How to Submit

# 1. Create branch
git checkout -b lab1

# 2. Complete lab tasks

# 3. Commit and push
git add .
git commit -m "Complete lab1"
git push -u origin lab1

# 4. Create TWO Pull Requests:
#    PR #1: your-fork:lab1 → course-repo:master
#    PR #2: your-fork:lab1 → your-fork:master
📝 Submission Checklist
  • All main tasks completed
  • Documentation files created
  • Screenshots where required
  • Code tested and working
  • Markdown validated (linter)
  • Both PRs created

Resources

🛠️ Required Tools
Tool Purpose
Git Version control
Docker Containerization
kubectl Kubernetes CLI
Helm K8s package manager
Minikube Local K8s cluster
Terraform Infrastructure as Code
Ansible Configuration management
📚 Documentation Links

Core:

CI/CD:

Observability:

Advanced:

💡 Tips for Success
  1. Start early - Don't wait until deadline
  2. Read instructions fully before starting
  3. Test everything before submitting
  4. Document as you go - Don't leave it for the end
  5. Ask questions early - Don't wait until last minute
  6. Use proper Git workflow - Branches, commits, PRs
🔧 Common Issues

Docker:

  • Daemon not running → Start Docker Desktop
  • Permission denied → Add user to docker group

Minikube:

  • Won't start → Try --driver=docker
  • Resource issues → Allocate more memory/CPU

Kubernetes:

  • ImagePullBackOff → Check image name/registry
  • CrashLoopBackOff → Check logs: kubectl logs <pod>

Course Completion

After completing all 16 core labs (+ optional Labs 17-18), you'll have:

✅ Full-stack DevOps expertise ✅ Production-ready portfolio with 16-18 projects ✅ Container and Kubernetes mastery ✅ CI/CD pipeline experience ✅ Infrastructure as Code skills ✅ Monitoring and observability knowledge ✅ GitOps workflow experience


Ready to begin? Start with Lab 1!

Questions? Check the course Moodle page or ask during office hours.

About

🚀Production-grade DevOps course: 18 hands-on labs covering Docker, Kubernetes, Helm, Terraform, Ansible, CI/CD, GitOps (ArgoCD), monitoring (Prometheus/Grafana), and more. Build real-world skills with progressive delivery, secrets management, and cloud-native deployments.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published