Cloud, Infrastructure, and Deployment Operations
Cloud, Infrastructure, and Deployment Operations tests the mechanics of shipping: infrastructure as code, environment parity, release strategy, autoscaling, and the characteristic failure of each.
Infrastructure as code
- Declare desired state and let the tool compute the diff. Manual console edits create drift that the next apply silently reverts.
- Use remote state with locking. State on a laptop is both a single point of failure and a secret leak.
- Review plans before apply; a plan that destroys a stateful resource (database, bucket, log group) needs explicit approval and a verified backup.
- Tag everything with owner, environment, and cost center; untagged resources are the ones that surprise you on the bill.
Release strategies
- Rolling: cheap, briefly mixes versions; sessions must tolerate it.
- Blue/green: instant cutover and rollback, at the cost of double infrastructure during the release.
- Canary: shift a small share, evaluate SLOs, then promote or auto-rollback.
- Feature flags decouple deploy from release; remove them after rollout or they become permanent branches.
Scaling
Scale on whichever signal saturates first: queue depth or concurrency for workers, request rate and latency for APIs, CPU only when it correlates with load. Pre-scale before known peaks; autoscaling reacts after the fact.
Worked example
Canary at 5% of 2,000 rps = 100 rps for 10 minutes. Gate on error rate above 0.5% over a 2-minute window or p99 above 800 ms; the pipeline polls the metric, and on breach shifts traffic back and marks the deploy failed. Reasoning: at 100 rps, two minutes yields about 12,000 requests, enough to detect a 1% error rate with reasonable confidence, whereas a 30-second window would be too noisy to act on without false rollbacks.
Traps
- Applying without state locking, so concurrent applies corrupt state.
- Assuming managed services need no capacity planning; quotas and connection limits still apply.
- Canary without automatic rollback, so a human must notice the breach.
- Scaling the API tier when the bottleneck is the database connection pool.
- Environment-specific builds that were never tested together.