AWS · Azure · GCP
Cloud infrastructure Designing scalable cloud infrastructure with Infrastructure as Code.
Problem
Cloud accounts that grew organically end up with resources nobody can account for, environments that disagree with each other, and a change process that depends on who remembers which console page to open.
Approach
- Model the whole environment in Terraform — network, compute, IAM and data services — with one module per concern and explicit inputs instead of long-lived forks per environment.
- Promote the same modules from staging to production so a path that has never been exercised cannot reach production for the first time.
- Run the plan in CI, review it as a diff, and apply through a pipeline with remote state and locking so two people cannot race the same change.
- Treat cost as a design constraint: right-sized instances, lifecycle rules on storage, and a tagging standard that makes spend attributable to a team.
Scope
Ongoing across current and previous roles
Case study in progress — Written up as a working note rather than a marketing page. Detailed diagrams and outcomes are added once the write-up is reviewed.














