Infrastructure Diagnosis Labs
Systematic debugging, one failure family at a time: network misconfiguration, IAM access denied, deployment failure, Kubernetes failures and infrastructure drift. Each lab gives you a symptom and a set of things you may inspect — you choose what to look at, in what order, and you name the cause before it is confirmed.
Cloud Networking
How does traffic reach my workload, and what is it allowed to reach in return?
The checkout API started returning 500s at 09:14. Every request logs connect ETIMEDOUT 10.0.3.41:5432 after exactly 30 seconds. Nothing was deployed this morning — the last release was Thursday. The database console shows the instance available, CPU near idle, and zero connections from the API.
Between 12:00 and 12:40 the checkout service fails about one payment in six with ETIMEDOUT calling the payment provider. Every dashboard is green: instances healthy, all load balancer targets healthy, CPU 35%, database fine, error budget barely moving. The provider says the requests they receive all succeed — they just receive fewer than we say we sent.
Identity, Secrets & Encryption
Who is this workload, what is it allowed to do, and what happens if it is compromised?
CI/CD & Deployment
How does code get from a commit to serving traffic without an outage?
Orchestration & Kubernetes
Who keeps a hundred containers on twenty machines in the state I asked for — and do I need that?
A service was redeployed at 11:20 and none of its pods stay up: 0/1 Ready, status CrashLoopBackOff, restart count climbing. The image is byte-for-byte the one that has been running since yesterday. The only thing in the merge was a ConfigMap update.
Roughly half of a service's pods are Running and the other half are stuck in ImagePullBackOff. The deployment went out four hours ago and was fine. This morning the cluster gained a second node pool for capacity, and every pod that lands on the new nodes fails to pull the image.
Scaling a Deployment from 6 to 10 replicas has left four pods Pending for twenty minutes. The cluster dashboard reads 38% CPU and 41% memory used across fourteen nodes, so there is obviously room. Two more nodes were added an hour ago and the pods are still Pending.
One pod of the report-rendering service restarts most nights between 03:00 and 03:20. No alert has ever fired, because the Deployment always has other replicas ready and the restart is over in ten seconds. Someone finally looked at the pod: Restart Count: 46, last state Terminated, Exit Code: 137.
Infrastructure as Code
How do I make infrastructure repeatable, reviewable and recoverable?
Reliability & Disaster Recovery
What happens when a piece of this dies, and how do we get back?
The provider reports degraded power and network in zone A of our region. Our application runs in three zones with instances in each, exactly as designed. Two thirds of the fleet is healthy and serving. And the site is down: every request that touches the database fails, and every outbound call to the mail and payment providers times out.
A bad migration at 14:05 dropped a column and rewrote 40 million rows in the orders table. The decision to restore from last night's backup was made at 14:20. It is now 17:30, the restore is still running, the estimated finish keeps moving, and somebody has finally asked how long this is supposed to take. The runbook says "RTO: 1 hour".
Cost Engineering
What does this architecture cost to run, and which line item is the surprise?
Cloud Security
What is exposed, who can reach it, and what is the blast radius?
Autoscaling & Health
How does capacity follow demand, and why is new capacity always late?