Basic Pricing Structure Comparison

Tool

Free Tier

Paid Plans

Per Resource Cost

Notable Gotchas

Terraform (IBM HCP)

None (killed March 2025)

Essentials: $0.00013/hour per resource
Standard: $0.00064/hour per resource
Premium: $0.00135/hour per resource

$0.09-$0.98/month per resource

IBM fucked up pricing. State storage costs extra now

Pulumi

Individual: 500 resources free

Team: $40/month + $0.1825/resource/month
Enterprise: $400/month + $0.365/resource/month

$0.18-$0.37/month per resource

The billing never stops

  • weekends, holidays, your vacation, doesn't matter

CloudFormation

Always free for AWS resources

Only charges for 3rd party resources:
$0.0009 per handler operation
1,000 free operations/month

$0.00 for AWS resources

Hidden costs in AWS resource creation, not the tool itself

The IaC Pricing Shitstorm of 2025

Infrastructure Cost Chart

March 2025 was when everything went to hell. IBM bought HashiCorp and immediately killed the free tier that 500,000+ developers relied on. Now you pay for every single resource, every hour, whether you're actively developing or sleeping.

What \"Resource Under Management\" Actually Means

Each resource in your Terraform state costs money. I counted 63 resources in my personal dev environment yesterday - that's $38.47/month just for basic AWS infrastructure I barely use. Every data source lookup? That's a resource. Each one cost me $0.10/month to look up the same fucking Ubuntu AMI.

Here's what shocked me: data sources count as resources. Run terraform state list | grep data. on your state - I had 47 resources I counted last week, but terraform state list | wc -l showed 63. The difference? Data sources for AMI lookups, VPC references, and availability zones.

The Terraform 1.6.0 Bug That Costs Money

There's a known issue where Terraform 1.6.0+ creates duplicate state entries for certain AWS resources. Each duplicate counts as a billable resource. I found this when my resource count jumped from 45 to 67 overnight after a routine update. The fix requires manual state editing:

terraform state rm aws_instance.duplicate_entry
terraform import aws_instance.web i-1234567890abcdef0

Pulumi's \"Credit\" System is Misleading

Pulumi markets 150k free credits like it's generous. One credit = managing one resource for one hour. Sounds like a lot until you do math:

Pulumi Pricing Tiers

CloudFormation's Deceptive \"Free\"

AWS CloudFormation appears free, but creates expensive surprises. The tool itself doesn't charge, but every resource it provisions bills at full AWS rates. The trap: CloudFormation's error recovery creates then destroys resources multiple times during failed deployments.

I watched a failed EKS cluster deployment burn through $47 in terminated instances before the stack finally errored out. CloudFormation kept trying to fix network policies by recreating NAT gateways ($45/month each) until hitting resource limits.

The Real Architecture Impact

I'm literally designing worse infrastructure to save on tool fees. Instead of proper IAM roles per service (12 resources), I reuse one role across everything (1 resource). Security best practices cost extra money now.

My team consolidated three environments into one because paying for dev, staging, and prod state management was $180/month before touching AWS costs. We're debugging production issues more because we can't afford proper testing environments.

Real-World Cost Scenarios

Team Size/Context

Scenario

Terraform HCP

Pulumi

CloudFormation

Winner

Small Team (50 Resources: VPC + EKS + RDS)

Monthly Tool Cost

23.50 (Standard)

49.12

0

☁️ CloudFormation

Small Team (50 Resources: VPC + EKS + RDS)

Setup Time

2-3 days (HCL learning)

1 day (familiar language)

4-5 days (YAML hell)

🥇 Pulumi

Small Team (50 Resources: VPC + EKS + RDS)

Team Onboarding

Hard (HCL is fucking weird)

Easy (Python/TypeScript)

Medium (CloudFormation is just YAML)

🥇 Pulumi

Small Team (50 Resources: VPC + EKS + RDS)

Migration Pain

High (vendor lock-in)

High (vendor lock-in)

None (AWS native)

🥇 CloudFormation

Medium Team (200 Resources: Multi-environment)

Monthly Tool Cost

94/month (Standard)

76.50/month

0

☁️ CloudFormation

Medium Team (200 Resources: Multi-environment)

State Management

Automatic (but you pay)

Automatic (but you pay)

Automatic & Free

🥇 CloudFormation

Medium Team (200 Resources: Multi-environment)

Secrets Handling

Extra cost (0.50/secret)

Extra cost (0.50/secret)

AWS Systems Manager (free tier)

🥇 CloudFormation

Medium Team (200 Resources: Multi-environment)

Error Recovery

Good (rollback works)

Good (rollback works)

Terrible (half-created resources)

🥇 Terraform/Pulumi

Enterprise (1000+ Resources)

Monthly Tool Cost

470-990/month

765/month

0

☁️ CloudFormation

Enterprise (1000+ Resources)

Team Scaling

Hard (HCL knowledge gap)

Easy (existing dev skills)

Hard (CloudFormation complexity)

🥇 Pulumi

Enterprise (1000+ Resources)

Compliance

Built-in policies

Built-in policies

Manual (AWS Config)

🥇 Terraform/Pulumi

Enterprise (1000+ Resources)

Lock-in Risk

Total (IBM controls pricing)

Total (VC-funded, pricing will increase)

Minimal (AWS native)

🥇 CloudFormation

Hidden Costs Nobody Warns You About

Cost Analysis Dashboard

Training and Onboarding Hell

Terraform: HCL is fucking weird and your team will hate it. Budget 2-3 weeks per developer to get productive. Senior engineers who know Python/Go still struggle with HCL's quirks. For a team of 5, that's $25,000+ in lost productivity.

Pulumi: If your team knows TypeScript/Python, they're productive in days. But if they don't? You're paying for language training on top of IaC concepts. Mixed skill teams create consistency problems.

CloudFormation: YAML/JSON which everyone already knows, but the resource syntax is complete garbage. Spend weeks memorizing AWS-specific property names. The error messages are complete garbage though.

State Management Disasters

Hit this personally in June 2023. Terraform state corruption cost us 8 hours of downtime and $12,000 in rebuild costs. Now with IBM's pricing, state recovery operations each cost $0.64/hour per resource during the rebuild process.

Pulumi's state corruption is rarer but more expensive to fix. Their support wanted $500/hour for state surgery. CloudFormation's stack protection prevents most disasters, but when it breaks, AWS support charges start at $400/month minimum.

Infrastructure State Management

Migration Hell When You Want to Leave

Terraform to anything: Export/import works for simple resources. Complex setups require manual recreation. We spent $45,000 consulting to migrate 400 resources from Terraform 0.12 to newer providers.

Pulumi to anything: Their proprietary state format makes leaving expensive. Expect $200/hour consulting minimum. No automated migration tools exist.

CloudFormation exit: Easiest - delete stacks, resources remain. Import into new tool using resource IDs. Still costs time but no vendor lock-in ransom.

The Multi-Cloud Tax

Terraform: Only tool that actually works across clouds. But managing AWS + Azure + GCP state costs 3× more now. Each cloud's resources count separately.

Pulumi: Multi-cloud works but secrets management gets expensive fast. Azure Key Vault + AWS Secrets Manager + GCP Secret Manager each cost extra. Budget $50-100/month for secrets across clouds.

CloudFormation: AWS only. Period. Multi-cloud means running multiple IaC tools.

Multi-Cloud Architecture

Secrets Management Reality Check

Everyone underestimates secrets. Production applications need:

Terraform + Vault: $72.92/month minimum for HCP Vault, plus resource costs
Pulumi ESC: $0.50/secret/month (so $35/month for 70 secrets)
CloudFormation + Systems Manager: First 10,000 parameters free, then $0.05/10K

Compliance and Governance Costs

Terraform Sentinel/OPA: $0.00135/hour/resource for Premium features
Pulumi CrossGuard: Included in Enterprise ($400/month base)
CloudFormation + AWS Config: $0.003/configuration item/month

For 500 resources under compliance:

Compliance Dashboard

Team Productivity Impact

Teams consistently underestimate learning curves:

Terraform: Infrastructure engineers adapt in 1-2 weeks. Application developers take 4-6 weeks to understand HCL patterns, modules, and state concepts.

Pulumi: Application developers productive immediately. Infrastructure engineers need 2-3 weeks to understand Pulumi's object model and resource lifecycle.

CloudFormation: Everyone suffers equally. 3-4 weeks to memorize AWS resource syntax. Senior engineers hate the verbosity. Junior engineers get lost in nested templates.

The Real TCO Calculator

For a typical 200-resource environment over 3 years:

Terraform Standard:

Pulumi Team:

CloudFormation:

TCO Analysis Chart

Frequently Asked Questions About IaC Pricing

Q

Why did my Terraform bill suddenly spike in March 2025?

A

IBM killed Hashi

Corp's free tier. If you were managing resources under the old free plan, you started getting billed $0.00013-$0.00135 per resource per hour. Check your resource count with terraform state list | wc -l

  • data sources count as billable resources too.
Q

What counts as a "resource" for billing?

A

Everything in your state file. This includes:

  • AWS resources (EC2, S3, RDS, etc.)
  • Data sources (AMI lookups, VPC references)
  • Provider configurations
  • Local resources and null resources
  • Import operations create temporary state entries

Run terraform state list to see your exact resource count. Each line item costs money.

Q

Is CloudFormation really free?

A

The tool is free, the resources aren't. CloudFormation doesn't charge for managing AWS resources, but you pay full AWS rates for what it creates. The catch: failed deployments can create expensive resources that sit around burning money while troubleshooting.

Third-party CloudFormation resources (anything not AWS::*) cost $0.0009 per operation after 1,000 free operations monthly.

Q

How do I estimate my monthly IaC costs?

A

Terraform: Resource count × hours in month × rate

  • Example: 100 resources × 730 hours × $0.00064 = $46.72/month

Pulumi: Base plan + (resources over limit × $0.1825)

  • Example: $40 + (100-500) × $0.1825 = $40 (under free limit)

CloudFormation: $0 for AWS resources, count third-party operations

Q

Can I reduce my resource count to save money?

A

Dangerous but possible:

  • Combine similar resources (multiple S3 buckets → one bucket with folders)
  • Remove unnecessary data sources
  • Use resource targeting: terraform plan -target=aws_instance.web
  • Consolidate environments (dev + staging → single environment)

Don't do this for production. Security and reliability matter more than saving $50/month.

Q

Which tool has the lowest total cost of ownership?

A

For AWS-only: CloudFormation wins on tool costs ($0) but loses on development time
For developer productivity: Pulumi if your team knows programming languages
For multi-cloud: Terraform is your only real option, accept the costs
For enterprises: Pulumi Enterprise beats Terraform Premium on features per dollar

Q

What happens if I stop paying?

A

Terraform: 30-day grace period, then state access gets locked. Your infrastructure keeps running but you can't make changes. Export state with terraform state pull > backup.tfstate before losing access.

Pulumi: Similar grace period, then read-only access. Export with pulumi stack export --file backup.json.

CloudFormation: Nothing. It's free. Stacks keep working forever.

Q

Are there any hidden fees I should know about?

A

Terraform:

  • State storage costs extra on certain plans
  • API rate limiting on cheaper tiers
  • Support costs extra unless you pay for Premium

Pulumi:

  • Secrets cost $0.50/month each beyond free limits
  • API calls cost $0.10 per 10K calls beyond free tier
  • Workflow minutes for deployments cost $0.01/minute

CloudFormation:

  • Cross-region replication costs data transfer fees
  • Large template storage in S3 costs pennies
  • StackSets operations across accounts add complexity
Q

Should I migrate from my current tool?

A

Migration is expensive. Budget 2-4 weeks of engineering time minimum.

Only migrate if:

  • Current tool costs are unsustainable (>$500/month)
  • Team productivity is severely impacted
  • You're missing critical features for compliance
  • Vendor lock-in risks outweigh migration costs

Never migrate during busy periods. Infrastructure changes always take longer than planned.

Official Pricing and Resources

Related Tools & Recommendations

integration
Recommended

Jenkins + Docker + Kubernetes: How to Deploy Without Breaking Production (Usually)

The Real Guide to CI/CD That Actually Works

Jenkins
/integration/jenkins-docker-kubernetes/enterprise-ci-cd-pipeline
100%
tool
Recommended

Google Kubernetes Engine (GKE) - Google's Managed Kubernetes (That Actually Works Most of the Time)

Google runs your Kubernetes clusters so you don't wake up to etcd corruption at 3am. Costs way more than DIY but beats losing your weekend to cluster disasters.

Google Kubernetes Engine (GKE)
/tool/google-kubernetes-engine/overview
91%
pricing
Similar content

GitHub Copilot Alternatives ROI: Calculate AI Coding Value

The Brutal Math: How to Figure Out If AI Coding Tools Actually Pay for Themselves

GitHub Copilot
/pricing/github-copilot-alternatives/roi-calculator
67%
alternatives
Recommended

Terraform Alternatives That Don't Suck to Migrate To

Stop paying HashiCorp's ransom and actually keep your infrastructure working

Terraform
/alternatives/terraform/migration-friendly-alternatives
63%
tool
Recommended

Terraform - Define Infrastructure in Code Instead of Clicking Through AWS Console for 3 Hours

The tool that lets you describe what you want instead of how to build it (assuming you enjoy YAML's evil twin)

Terraform
/tool/terraform/overview
63%
tool
Recommended

Red Hat Ansible Automation Platform - Ansible with Enterprise Support That Doesn't Suck

If you're managing infrastructure with Ansible and tired of writing wrapper scripts around ansible-playbook commands, this is Red Hat's commercial solution with

Red Hat Ansible Automation Platform
/tool/red-hat-ansible-automation-platform/overview
58%
tool
Recommended

Pulumi Cloud - Skip the DIY State Management Nightmare

competes with Pulumi Cloud

Pulumi Cloud
/tool/pulumi-cloud/overview
58%
tool
Recommended

Fix Pulumi Deployment Failures - Complete Troubleshooting Guide

competes with Pulumi

Pulumi
/tool/pulumi/troubleshooting-guide
58%
tool
Recommended

Pulumi Cloud for Platform Engineering - Build Self-Service Infrastructure at Scale

competes with Pulumi Cloud

Pulumi Cloud
/tool/pulumi-cloud/platform-engineering-guide
58%
troubleshoot
Recommended

Fix Kubernetes Service Not Accessible - Stop the 503 Hell

Your pods show "Running" but users get connection refused? Welcome to Kubernetes networking hell.

Kubernetes
/troubleshoot/kubernetes-service-not-accessible/service-connectivity-troubleshooting
57%
tool
Recommended

Amazon SageMaker - AWS's ML Platform That Actually Works

AWS's managed ML service that handles the infrastructure so you can focus on not screwing up your models. Warning: This will cost you actual money.

Amazon SageMaker
/tool/aws-sagemaker/overview
57%
news
Recommended

Musk's xAI Drops Free Coding AI Then Sues Everyone - 2025-09-02

Grok Code Fast launch coincides with lawsuit against Apple and OpenAI for "illegal competition scheme"

aws
/news/2025-09-02/xai-grok-code-lawsuit-drama
57%
news
Recommended

Musk Sues Another Ex-Employee Over Grok "Trade Secrets"

Third Lawsuit This Year - Pattern Much?

Samsung Galaxy Devices
/news/2025-08-31/xai-lawsuit-secrets
57%
tool
Recommended

Azure OpenAI Service - Production Troubleshooting Guide

When Azure OpenAI breaks in production (and it will), here's how to unfuck it.

Azure OpenAI Service
/tool/azure-openai-service/production-troubleshooting
57%
tool
Recommended

Azure DevOps Services - Microsoft's Answer to GitHub

integrates with Azure DevOps Services

Azure DevOps Services
/tool/azure-devops-services/overview
57%
tool
Recommended

Azure OpenAI Service - OpenAI Models Wrapped in Microsoft Bureaucracy

You need GPT-4 but your company requires SOC 2 compliance. Welcome to Azure OpenAI hell.

Azure OpenAI Service
/tool/azure-openai-service/overview
57%
news
Recommended

Meta Signs $10+ Billion Cloud Deal with Google: AI Infrastructure Alliance

Six-year partnership marks unprecedented collaboration between tech rivals for AI supremacy

GitHub Copilot
/news/2025-08-22/meta-google-cloud-deal
57%
news
Recommended

Meta Just Dropped $10 Billion on Google Cloud Because Their Servers Are on Fire

Facebook's parent company admits defeat in the AI arms race and goes crawling to Google - August 24, 2025

General Technology News
/news/2025-08-24/meta-google-cloud-deal
57%
tool
Recommended

GitHub Actions Security Hardening - Prevent Supply Chain Attacks

integrates with GitHub Actions

GitHub Actions
/tool/github-actions/security-hardening
55%
alternatives
Recommended

Tired of GitHub Actions Eating Your Budget? Here's Where Teams Are Actually Going

integrates with GitHub Actions

GitHub Actions
/alternatives/github-actions/migration-ready-alternatives
55%

Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization