# HCP Terraform vs Pulumi

Canonical: https://inetgeek.com/compare/hcp-terraform-vs-pulumi/

Every value below is read from HCP Terraform's and Pulumi's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | HCP Terraform | Pulumi |
| --- | --- | --- |
| Free tier | Yes | Yes |
| What the free plan includes | 500 managed resources. The cap is stated as a condition of downgrading rather than as a description of the plan — an organisation above it cannot move down to free — and the documentation names no other free allowance, so runs, users and concurrency are not known to be capped from this page. | One user, IaC state management, unlimited projects and updates, up to 500 workflow minutes, and 5 million Pulumi Neo tokens a month — free forever for individuals and open source. |
| Entry paid plan | $0.0001359 per managed resource per hour on the Essentials plan, with no monthly plan fee to clear first. HashiCorp's own worked example is 1,000 resources held continuously for a month, which it totals at $97.85. | $40/month for Team, which includes 40 Credits at $1 each and up to 500 resources; beyond that usage is billed on demand at $0.1825 per IaC resource per month. |
| Pricing model | Per managed resource, per hour. The charge follows the peak resource count within each hour, so resources created and destroyed inside one hour are still billed for it: HashiCorp's own example bills an hour at a peak of 2,000 after 1,000 were added and 500 destroyed. Contract plans are offered at lower rates for larger organisations. | Per resource under management, converted through a credit: 1 Credit = $1, one IaC resource costs 0.1825 a month and one managed secret 0.50. Workflow minutes are metered separately at $0.01 past 500 free. |
| Self-hostable | Supported — As Terraform Enterprise, a separate self-hosted distribution of the same application | Supported — Listed as a line item on the plan comparison, not a separate product |
| SAML single sign-on | Supported — SAML 2.0, both SP- and IdP-initiated, with just-in-time provisioning | Supported — SAML/SSO with RBAC, on Enterprise; SCIM sync on the tier above |
| Audit logs | Yes, on the Standard and Premium editions, with 14 days of retention, read through a dedicated Audit Trails API that needs an organisation or audit trail token rather than a user token. The documentation disagrees with itself on the tier: the audit trails reference says Standard and Premium, while the plan-management page lists audit logging among Premium-only features. Recorded as the audit page states it. Not available on self-hosted Terraform Enterprise. | Supported — Enterprise tier, above the $40/month Team plan |

## Where they differ

### What the free plan includes

- HCP Terraform: 500 managed resources. The cap is stated as a condition of downgrading rather than as a description of the plan — an organisation above it cannot move down to free — and the documentation names no other free allowance, so runs, users and concurrency are not known to be capped from this page. ([source](https://developer.hashicorp.com/terraform/cloud-docs/overview/manage-plan))
- Pulumi: One user, IaC state management, unlimited projects and updates, up to 500 workflow minutes, and 5 million Pulumi Neo tokens a month — free forever for individuals and open source. ([source](https://www.pulumi.com/pricing/))

### Entry paid plan

- HCP Terraform: $0.0001359 per managed resource per hour on the Essentials plan, with no monthly plan fee to clear first. HashiCorp's own worked example is 1,000 resources held continuously for a month, which it totals at $97.85. ([source](https://developer.hashicorp.com/terraform/cloud-docs/overview/estimate-cost))
- Pulumi: $40/month for Team, which includes 40 Credits at $1 each and up to 500 resources; beyond that usage is billed on demand at $0.1825 per IaC resource per month. ([source](https://www.pulumi.com/pricing/))

### Pricing model

- HCP Terraform: Per managed resource, per hour. The charge follows the peak resource count within each hour, so resources created and destroyed inside one hour are still billed for it: HashiCorp's own example bills an hour at a peak of 2,000 after 1,000 were added and 500 destroyed. Contract plans are offered at lower rates for larger organisations. ([source](https://developer.hashicorp.com/terraform/cloud-docs/overview/estimate-cost))
- Pulumi: Per resource under management, converted through a credit: 1 Credit = $1, one IaC resource costs 0.1825 a month and one managed secret 0.50. Workflow minutes are metered separately at $0.01 past 500 free. ([source](https://www.pulumi.com/pricing/))

### Audit logs

- HCP Terraform: Yes, on the Standard and Premium editions, with 14 days of retention, read through a dedicated Audit Trails API that needs an organisation or audit trail token rather than a user token. The documentation disagrees with itself on the tier: the audit trails reference says Standard and Premium, while the plan-management page lists audit logging among Premium-only features. Recorded as the audit page states it. Not available on self-hosted Terraform Enterprise. ([source](https://developer.hashicorp.com/terraform/cloud-docs/api-docs/audit-trails))
- Pulumi: Supported — Enterprise tier, above the $40/month Team plan ([source](https://www.pulumi.com/pricing/))

## Which should you choose?

Pick HCP Terraform if Running the reference implementation with a bill that starts at nothing and then tracks inventory: 500 managed resources free, and $0.0001359 per resource per hour after that with no plan fee to clear first.

Pick Pulumi if Infrastructure written in a language you already know, with a managed cloud that is free forever for individuals and open source — one user, unlimited projects and state management at $0.

Consider something else: HCP Terraform — Your infrastructure churns. Billing follows the peak resource count within each hour, so a preview environment built and destroyed inside that hour is charged as though it had run the whole time — Scalr's per-run price and Spacelift's per-worker price both leave ephemeral estates alone.

Consider something else: Pulumi — Your estate is large. Pulumi meters resources under management at $0.1825 each a month past the first 500, so the bill tracks how much infrastructure you have rather than how often you change it — Scalr charges per run and explicitly nothing per resource.

## Questions this comparison answers

**Entry paid plan: HCP Terraform or Pulumi?**

HCP Terraform: $0.0001359 per managed resource per hour on the Essentials plan, with no monthly plan fee to clear first. HashiCorp's own worked example is 1,000 resources held continuously for a month, which it totals at $97.85.
Pulumi: $40/month for Team, which includes 40 Credits at $1 each and up to 500 resources; beyond that usage is billed on demand at $0.1825 per IaC resource per month.

**Should I choose HCP Terraform or Pulumi?**

Pick HCP Terraform if Running the reference implementation with a bill that starts at nothing and then tracks inventory: 500 managed resources free, and $0.0001359 per resource per hour after that with no plan fee to clear first.
Pick Pulumi if Infrastructure written in a language you already know, with a managed cloud that is free forever for individuals and open source — one user, unlimited projects and state management at $0.
