# Pulumi vs Terraform

**Leader by Vioscale score:** Pulumi

| Attribute | Pulumi | Terraform |
|---|---|---|
| **Vioscale score** | 69.2 (75% (high)) | 64.2 (54% (medium)) |
| activity.commits_last_30d | 100 | 100 |
| adoption.dependent_repos | 2,143 | 1,108 |
| adoption.github_stars | 25,610 | 49,541 |
| adoption.package_downloads_weekly | 1,787,798 | - |
| deployment.options | `{"cloud":true}` | `{"self_hosted":true}` |
| description.long | A cloud infrastructure management platform that lets teams define and deploy resources across multiple cloud providers using standard programming languages. Includes state management, policy enforcement, and tooling for discovering and migrating existing infrastructure. | Terraform is an infrastructure as code tool that lets you build, change, and version infrastructure safely and efficiently. It manages low-level components like compute, storage, and networking as well as high-level components like DNS entries and SaaS features. |
| features.capabilities | `{"hosting":"cloud","language":"TypeScript, Python, Go, C#, Java, YAML","paradigm":"general_language","multicloud":true,"policy_as_code":true,"drift_detection":true,"import_existing":true,"state_management":"vendor_managed","open_source_engine":true,"provider_ecosystem":true,"gitops_reconciliation":false,"managed_saas_offering":true}` | `{"language":"HCL","paradigm":"declarative_dsl","multicloud":true,"policy_as_code":true,"import_existing":true,"state_management":"vendor_managed","open_source_engine":true,"provider_ecosystem":true}` |
| integrations.count | 6 | 10 |
| integrations.list | `[{"name":"AWS"},{"name":"Azure"},{"name":"Google Cloud"},{"name":"Terraform"},{"name":"CloudFormation"},{"name":"Azure Resource Manager"}]` | `[{"name":"AWS"},{"name":"Azure"},{"name":"Google Cloud Platform"},{"name":"Oracle Cloud"},{"name":"Docker"},{"name":"Consul"},{"name":"Packer"},{"name":"Vault"},{"name":"Boundary"},{"name":"GitHub"}]` |
| language.primary | Go | Go |
| license.spdx | Apache-2.0 | - |
| market.availability | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true}` |
| pricing | `{"type":"hybrid","plans":[{"free":false,"name":"Team Edition","summary":"Per resource-hour and per deployment-minute charges. Free credits included.","description":"Team edition with per-resource-hour and per-deployment-minute charges","contactSales":false,"includedLimits":{"free_credits":"included"}}],"summary":"Team Edition with per-resource-hour and deployment-minute metering. Bulk discounts available for >$20k/year spend. Free credits included.","currency":"USD","freeTier":true,"sourceUrl":"https://www.pulumi.com/blog/pricing-calculator-blog/","retrievedAt":"2026-08-14T21:36:29.976Z","billingPeriods":["month"]}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://www.terraform.io","retrievedAt":"2026-08-13T09:37:57.093Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | commercial |
| pricing.price_level | low | free |
| pricing.transparent | yes | - |
| release.cadence_days | 5 | 6 |
| release.history | `[{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.259.0","date":"2026-08-19T20:04:11Z","type":"stable","version":"v3.259.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.258.0","date":"2026-08-17T19:04:32Z","type":"stable","version":"v3.258.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.257.0","date":"2026-08-13T14:42:12Z","type":"stable","version":"v3.257.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.256.0","date":"2026-08-04T19:34:54Z","type":"stable","version":"v3.256.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.255.0","date":"2026-07-28T13:37:19Z","type":"stable","version":"v3.255.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.254.0","date":"2026-07-23T15:10:53Z","type":"stable","version":"v3.254.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.253.0","date":"2026-07-14T11:30:57Z","type":"stable","version":"v3.253.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.252.0","date":"2026-07-13T12:34:06Z","type":"stable","version":"v3.252.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.251.0","date":"2026-07-08T12:41:08Z","type":"stable","version":"v3.251.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.250.0","date":"2026-07-02T00:47:36Z","type":"stable","version":"v3.250.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.249.0","date":"2026-07-01T14:20:03Z","type":"stable","version":"v3.249.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.248.0","date":"2026-06-24T14:50:37Z","type":"stable","version":"v3.248.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.247.0","date":"2026-06-18T14:11:01Z","type":"stable","version":"v3.247.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.246.0","date":"2026-06-11T19:51:29Z","type":"stable","version":"v3.246.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.245.0","date":"2026-06-04T08:53:06Z","type":"stable","version":"v3.245.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.244.0","date":"2026-05-28T18:13:39Z","type":"stable","version":"v3.244.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.243.0","date":"2026-05-22T21:38:01Z","type":"stable","version":"v3.243.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.242.0","date":"2026-05-19T12:39:19Z","type":"stable","version":"v3.242.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.241.0","date":"2026-05-18T16:31:27Z","type":"stable","version":"v3.241.0"},{"url":"https://github.com/pulumi/pulumi/releases/tag/v3.239.0","date":"2026-05-14T12:56:20Z","type":"stable","version":"v3.239.0"}]` | `[{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0","date":"2026-08-26T13:05:28Z","type":"stable","version":"v1.16.0"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-rc2","date":"2026-08-19T12:08:45Z","type":"prerelease","version":"v1.16.0-rc2"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.9","date":"2026-08-19T14:29:32Z","type":"stable","version":"v1.15.9"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.17.0-alpha20260812","date":"2026-08-12T12:01:24Z","type":"prerelease","version":"v1.17.0-alpha20260812"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-rc1","date":"2026-08-12T15:22:32Z","type":"prerelease","version":"v1.16.0-rc1"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-beta2","date":"2026-08-05T18:07:50Z","type":"prerelease","version":"v1.16.0-beta2"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.17.0-alpha20260729","date":"2026-07-29T19:38:27Z","type":"prerelease","version":"v1.17.0-alpha20260729"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-beta1","date":"2026-07-23T16:51:01Z","type":"prerelease","version":"v1.16.0-beta1"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260715","date":"2026-07-15T12:44:36Z","type":"prerelease","version":"v1.16.0-alpha20260715"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260708","date":"2026-07-08T09:19:38Z","type":"prerelease","version":"v1.16.0-alpha20260708"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.8","date":"2026-07-08T17:45:09Z","type":"stable","version":"v1.15.8"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260706","date":"2026-07-06T14:49:07Z","type":"prerelease","version":"v1.16.0-alpha20260706"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260701","date":"2026-07-01T19:49:44Z","type":"prerelease","version":"v1.16.0-alpha20260701"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260626","date":"2026-06-26T09:03:31Z","type":"prerelease","version":"v1.16.0-alpha20260626"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260624","date":"2026-06-24T14:07:22Z","type":"prerelease","version":"v1.16.0-alpha20260624"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.7","date":"2026-06-24T16:47:12Z","type":"stable","version":"v1.15.7"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260617","date":"2026-06-17T14:07:50Z","type":"prerelease","version":"v1.16.0-alpha20260617"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.6","date":"2026-06-10T11:52:20Z","type":"stable","version":"v1.15.6"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0-alpha20260603","date":"2026-06-03T13:24:07Z","type":"prerelease","version":"v1.16.0-alpha20260603"},{"url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.5","date":"2026-05-27T14:52:52Z","type":"stable","version":"v1.15.5"}]` |
| reliability.status_page | yes | yes |
| security.disclosure_policy | yes | yes |
| security.iso27001 | - | yes |
| security.scorecard | 7.2 | 6.2 |
| security.soc2 | yes | yes |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40pulumi%2Fpulumi&per_page=100","last_12m":0,"max_severity":null}` | `{"count":2,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2Fhashicorp%2Fterraform&per_page=100","last_12m":0,"max_severity":"HIGH"}` |

## Capabilities (Infrastructure as Code Tools)

| Capability | Pulumi | Terraform |
|---|:--:|:--:|
| **Core** |  |  |
| Paradigm | General language | Declarative DSL |
| Language | TypeScript, Python, Go, C#, Java, YAML | HCL |
| **Portability** |  |  |
| Multicloud / cloud-agnostic | ✓ | ✓ |
| **Architecture** |  |  |
| State management | Vendor-managed | Vendor-managed |
| **Extensibility** |  |  |
| Pluggable provider ecosystem | ✓ | ✓ |
| **Governance** |  |  |
| Policy as code | ✓ | ✓ |
| **Ops** |  |  |
| Drift detection | ✓ | - |
| GitOps continuous reconciliation | ✗ | - |
| **Deployment** |  |  |
| Managed SaaS offering | ✓ | - |
| Hosting | Cloud only | - |
| **Adoption** |  |  |
| Import existing resources | ✓ | ✓ |
| **Licensing** |  |  |
| Open-source engine | ✓ | ✓ |
| **Ecosystem** |  |  |
| CNCF maturity | - | - |

*Source: Vioscale. Generated 2026-09-01T15:20:21.890Z. "-" = undocumented, not absent.*
