Notes from the team building C3X. Cost estimation for Terraform, the economics of cloud infrastructure, and how to ship FinOps tooling without a SaaS gate.
Estimating infrastructure cost without cloud credentials means pricing the Terraform plan against a catalog instead of querying the provider. Here is why credential-free estimation is faster, safer, and works in more places.
Pre-deploy estimation predicts a change's cost before it ships; post-deploy billing measures what it actually cost. Here is how the two differ, why you need both, and how to reconcile estimate with invoice.
A cost comment on the pull request is where infrastructure cost becomes visible to reviewers. Here is how to build the workflow that generates a plan, prices it, and posts the cost to GitHub or GitLab automatically.
Terragrunt keeps infrastructure DRY by layering shared inputs across environments, which spreads a resource's cost across inherited configuration. Here is how to trace and estimate cost through a Terragrunt hierarchy.
Code review already checks correctness, security, and style, but cost is usually invisible in the diff. Here is how to make infrastructure cost a normal dimension of review, so reviewers weigh dollars alongside code.
Giving each team a cost budget only works if the budget is enforced where infrastructure is defined. Here is how to attribute Terraform cost to teams and hold each to a budget through the pull request.
EBS snapshots are cheap individually but accumulate silently: automated backups, forgotten manual snapshots, and orphaned volumes pile up until snapshot storage rivals or exceeds your live volume cost. Here is how to find and stop the creep.
T-family burstable instances (t3, t4g) are the cheapest EC2 option for low-average-CPU workloads, using a CPU credit system. Understand credits and unlimited mode or you will get throttled or hit with surprise charges. Here is how they cost out.
Dedicated Hosts give you a whole physical server, needed for BYOL licensing and hard isolation, but priced per host regardless of how full it is. Regular instances (and dedicated instances) are cheaper for almost everything else. Here is the cost tradeoff.
EC2 offers dozens of instance families (general purpose, compute, memory, storage, and accelerated) each tuned to a resource profile. Picking the right family for your workload is the first and biggest cost lever. Here is how they map.
An EC2 instance's price combines family and size, region, purchase model (on-demand, Spot, or commitment), operating system licensing, and attached resources. Understanding each component is how you control the largest line on most AWS bills. Here is the full breakdown.
EBS is block storage attached to one instance; EFS is a shared file system many instances mount at once. EFS costs more per GB but removes provisioning and scaling overhead. Here is how to choose on cost and fit.
Data egress (traffic leaving AWS to the internet, and between regions and AZs) is one of the most surprising and controllable line items. This checklist walks through the highest-impact ways to cut it, from CDN caching to architecture.
On EKS you can run pods on EC2 nodes you manage or on Fargate serverless capacity. Fargate removes node management and bills per pod, EC2 nodes are cheaper per unit but require you to run and pack them. Here is the cost tradeoff.
ElastiCache (Redis and Memcached) is priced per node by instance type, so node sizing and count drive the bill. Oversized memory, too many replicas, and the wrong node family are the common overspends. Here is how to size for cost.
EMR clusters combine EC2 compute, an EMR service fee, and storage, and they are easy to overspend on with idle clusters, on-demand core nodes, and oversized fleets. Here are the highest-impact levers to cut EMR cost.
GPU instances are the most expensive compute you can rent, from a few dollars an hour for inference cards to tens of dollars an hour for training clusters. Understanding what drives the price, and how to cut it, keeps GPU bills sane. Here is the breakdown.
AWS Graviton (ARM) instances typically cost about 20 percent less than comparable x86 instances while often delivering better performance per dollar. For most workloads the switch is nearly free. Here is what Graviton saves and how to adopt it.
The AWS charges that blow up bills are rarely the compute you planned for, they are data transfer, NAT gateways, idle resources, cross-AZ traffic, and forgotten snapshots. Here is a field guide to the hidden costs and how to keep them small.
A NAT gateway costs about 32 to 45 dollars a month plus per-GB processing, and the naive high-availability setup runs one per availability zone. Knowing when you need that redundancy and when one gateway is fine saves real money. Here is the tradeoff.
AWS savings plans discount compute up to about 72 percent versus on-demand in exchange for a one or three year hourly-spend commitment. How much you actually save depends on term, payment, and coverage. Here is the real math.
A managed Kubernetes cluster costs more than the control plane fee, the real bill is worker nodes, load balancers, storage, and networking. A small production cluster often runs a few hundred dollars a month and up. Here is where the money goes.
A managed Postgres database on AWS costs the instance, the storage, the backups, and the data transfer, from around 15 dollars a month for a tiny dev instance to hundreds for production. Here is what drives RDS and Aurora Postgres pricing and how to keep it lean.
A typical SaaS backend on AWS combines compute, a database, load balancing, storage, caching, and networking. An early-stage backend can run a few hundred dollars a month, scaling with users. Here is how the pieces add up and where to save.