Skip to content

Repository files navigation

DevOps Engineering: Core Practices

LabsExamDuration

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

WeekLabTopicKey Technologies
11Web Application DevelopmentPython/Go, Best Practices
22ContainerizationDocker, Multi-stage Builds
33Continuous IntegrationGitHub Actions, Snyk
44Infrastructure as CodeTerraform, Cloud Providers
55Configuration ManagementAnsible Basics
66Continuous DeploymentAnsible Advanced
77LoggingPromtail, Loki, Grafana
88MonitoringPrometheus, Grafana
99Kubernetes BasicsMinikube, Deployments, Services
1010Helm ChartsTemplating, Hooks
1111Secrets ManagementK8s Secrets, HashiCorp Vault
1212Configuration & StorageConfigMaps, PVCs
1313GitOpsArgoCD
1414Progressive DeliveryArgo Rollouts
1515StatefulSetsPersistent Storage, Headless Services
1616Cluster MonitoringKube-Prometheus, Init Containers
Exam Alternative Labs
1717Edge DeploymentFly.io, Global Distribution
1818Decentralized Storage4EVERLAND, IPFS, Web3

Grading

Grade Composition

ComponentWeightPoints
Labs (16 required)80%160 pts
Final Exam20%40 pts
Bonus TasksExtra+40 pts max
Total100%200 pts

Exam Alternative

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

LabTopicPoints
Lab 17Fly.io Edge Deployment20 pts
Lab 184EVERLAND & IPFS20 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
GradePointsPercentage
A180-200+90-100%
B150-17975-89%
C120-14960-74%
D0-1190-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, 4EVERLAND/IPFS

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
ToolPurpose
GitVersion control
DockerContainerization
kubectlKubernetes CLI
HelmK8s package manager
MinikubeLocal K8s cluster
TerraformInfrastructure as Code
AnsibleConfiguration 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.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages