Skip to content

Stop reading. Start shipping.

Every lab is a complete, copy-pasteable exercise: objective, architecture, real commands, expected output, troubleshooting and cleanup. Laptop-friendly — kind, minikube and free tiers.

beginner ~60 min

CI/CD with GitHub Actions

Create a GitHub Actions workflow that tests a Node.js app on every push and publishes a Docker image to GHCR on merges to main.

GitHub ActionsNode.jsDockerGitHub Container Registry

$ run lab

beginner ~45 min

Docker Build and Push

Build a multi-stage, multi-architecture Docker image with buildx and publish it to Docker Hub with semantic tags.

DockerDocker BuildxDocker HubPython

$ run lab

beginner ~60 min

Kubernetes Deployment with Helm

Install, upgrade, and roll back an application on a local Kubernetes cluster using Helm charts and custom values files.

KubernetesHelmkindkubectl

$ run lab

beginner ~60 min

SonarQube Code Scan

Stand up SonarQube locally, analyze a project with sonar-scanner including test coverage, and make the build fail on a quality gate breach.

SonarQubesonar-scannerDockerPython

$ run lab

beginner ~75 min

Terraform AWS EC2

Provision and destroy a Free Tier EC2 instance with a security group using Terraform, and read its public IP from an output.

TerraformAWS EC2AWS CLIHCL

$ run lab

beginner ~45 min

Trivy Container Scan

Use Trivy to find vulnerabilities and secrets in a container image, fix them by changing the base image, and fail builds on HIGH or CRITICAL findings.

TrivyDockerSBOMCycloneDX

$ run lab

intermediate ~90 min

Argo CD GitOps Deployment

Deploy an application via Argo CD from a Git repository with automated sync and self-healing enabled, then observe drift correction.

Argo CDKuberneteskindGitOps

$ run lab

intermediate ~90 min

LLM RAG Application Basics

Implement document chunking, embedding, vector search, and grounded answer generation in a small Python RAG application backed by Chroma.

PythonChromaDBSentence TransformersAnthropic API

$ run lab

intermediate ~90 min

MLOps Pipeline Basics

Train and compare scikit-learn models with MLflow tracking, promote the best run to the Model Registry, and serve it for real-time predictions.

MLflowscikit-learnPythonpandas

$ run lab

intermediate ~75 min

OpenTelemetry Tracing

Auto-instrument a Flask app with OpenTelemetry, route spans through an OTel Collector pipeline, and view the resulting traces in Jaeger.

OpenTelemetryJaegerPythonFlask

$ run lab

intermediate ~90 min

Prometheus and Grafana Monitoring

Stand up Prometheus, Grafana, and Alertmanager on a local cluster and build one PromQL query, one dashboard panel, and one firing alert.

PrometheusGrafanaAlertmanagerHelm

$ run lab

advanced ~90 min

Chaos Engineering Experiment

Install Chaos Mesh, run a pod-kill experiment against a replicated NGINX service under load, and prove availability holds via a steady-state check.

Chaos MeshKuberneteskindHelm

$ run lab