π
DevOps for Python L4 PRO Β· 104 lessons Docker, CI/CD, observability, deploys, incident response
104 lessons across 6 modules: Docker + containers, CI/CD + GitHub Actions, Kubernetes + orchestration, observability + logging, cloud + IaC + secrets + cost, plus the modern stack (Helm, ArgoCD GitOps, Vault, Argo Rollouts, chaos engineering, FinOps).
β
Before you start
Β· You've shipped at least one Python app (FastAPI, Flask, Django β anything that runs). Β· Terminal comfort: cd, ls, grep, ssh. We assume bash basics Β· A free-tier account on AWS / GCP / Fly.io / Render β we deploy to one of these in module 5 βΉοΈ Heads-up on the format: These lessons are concept explanations + quizzes + predict-the-output exercises. The code samples don't execute in your browser because Pyodide can't spin up an HTTP server / database / TCP socket. To run them, copy snippets into your own machine β or pair this track with Foundations (which DOES run live in-browser via Skulpt).
πΊ Map π Curriculum
π GitHub Actions for Python CI
π Infrastructure as Code (Terraform)
π Health checks and readiness probes
π Backups and disaster recovery
π Capstone: ship a Python service to production
π Kubernetes basics for Python
π Helm charts β packaging k8s apps
π Horizontal Pod Autoscaler (HPA)
π π― Review: DevOps module 1 recap
π PersistentVolumes for stateful services
π StatefulSets vs Deployments
π Distributed tracing with OpenTelemetry
π Sentry for error tracking
π Log aggregation: ELK and Loki
π Blue-green vs canary deploys
π Database migrations in production
π Zero-downtime deploys with PostgreSQL
π Capstone: design a CI/CD pipeline from scratch
π Kubernetes operators and CRDs
π GitOps with ArgoCD and Flux
π HashiCorp Vault for secrets at scale
π AWS IRSA: IAM roles for service accounts
π NetworkPolicy: default-deny east-west
π π― Review: DevOps module 3 recap
π Resource requests and limits tuning
π NodeSelectors, taints, and affinity
π Karpenter vs Cluster Autoscaler
π Kubecost / OpenCost dashboards
π SLO, SLI, and error budgets
π PagerDuty / Opsgenie alert routing
π PgBouncer and connection pooling
π AWS Lambda cold-start optimization for Python
π Modern PaaS comparison: Fly, Render, Railway, Cloud Run
π Multi-stage Dockerfile with BuildKit cache mounts
π Bazel basics for monorepos
π Capstone: zero-downtime monolith to microservices
π eBPF basics β kernel observability without sidecars
π OpenTelemetry deep β exemplars and sampling
π Prometheus federation β multi-cluster metrics
π Loki vs ELK β log aggregation tradeoffs
π SLI / SLO / error budgets
π π― Review: DevOps module 4 recap
π Chaos engineering β Litmus and Chaos Mesh
π Progressive delivery β canary, blue-green, shadow
π Argo CD GitOps β app-of-apps and sync waves
π Image security β Trivy, Cosign, SLSA
π Secrets: Vault, External-Secrets, Sealed-Secrets
π K8s autoscaling β HPA + VPA + Cluster Autoscaler + Karpenter
π Service mesh choice β Istio vs Linkerd vs Cilium
π Multi-cluster β when it's actually worth it
π DR drills β Velero + etcd backup + RTO measurement
π Scenario: prod is 503-ing β incident walkthrough
π FinOps + Kubecost β attribution and rightsizing
π Platform engineering β IDP / Backstage
π Policy-as-code β OPA, Kyverno, Gatekeeper
π π Capstone β SRE foundations for a 50-engineer org
π Helm: charts, templates, releases
π Terraform: state file is the gold
π K8s: liveness vs readiness vs startup
π π― Review: DevOps module 5 recap
π K8s: resource limits + requests
π Istio / Linkerd: service mesh
π Observability: Prometheus + Grafana
π Logs: Loki vs Elasticsearch
π Chaos engineering: deliberate failure
π FinOps: tagging and showback
π Spot / preemptible instances
π Blue/green vs canary vs rolling
π Backup strategy: 3-2-1 rule
π Container security: distroless images
π Image scanning: trivy/grype
π Secrets in K8s: never as env vars
π Network policy: zero-trust namespaces
π GitOps: Argo Rollouts for progressive delivery
π DR: multi-region active-passive
π Cost: rightsizing autoscalers
π Platform engineering: IDP + Backstage
π π DevOps capstone: production-ready cluster checklist
Tip: click any lesson to revisit it. After your first attempt, the βShow exampleβ button reveals the full solution.