Terraform Cloud pricing: Key considerations to keep in mind

PUBLISHED
April 5, 2024
READ TIME
10 min

Since HashiCorp rolled out new pricing for the Standard package of Terraform Cloud, we’ve heard a lot of questions about how those rates might compare to pricing for Quali Torque.

We wrote this article to answer some common questions and share key considerations for Terraform Cloud users looking to migrate to an alternative.

To learn more about alternative options for provisioning Terraform infrastructure, check out this article:

What’s the difference between Terraform Cloud and Quali Torque?

How does Terraform Cloud’s pay-as-you-go pricing work?

With the new pricing, Hashicorp has switched to a Resources Under Management (RUM) model, which calculates costs based on how many resources are managed by Terraform. These resources include cloud instances, Kubernetes clusters, security groups, security group rules, and IAM users, policies, and roles.

Previously, Terraform Cloud customers paid $20 per user per month. Under the new pricing model, the cost is now $0.00014 per managed resource per hour.

As the approaches are vastly different, it can be difficult to work out the implications of this new model. To align with the consumption limits on the free version of Terraform Cloud, those who use the Standard package are given 500 resources for free every month. Therefore, understanding the total cost to deliver infrastructure via Terraform Cloud means understanding how many resources you run every month, deducting 500 from that figure, then applying the $0.00014 rate to that figure and the total number of hours per month that you’ll be running them.

To put this into context, a team of 15 developers would need to limit their usage to 3,000 total resources across all environments in a given month in order to keep the total cost in line with the prior pricing package.

For those considering Terraform Cloud under this pricing model, here are a few questions to ask.

How will you budget for resources under management?

Under the previous pricing model, DevOps teams could easily project the cost of their Terraform Cloud usage by looking at the number of users in the platform. If that number is expected to grow, just add another $20 per month for every new user and adjust your budget accordingly.

With RUM-based pricing, those projections become much more difficult to calculate.

While you could easily calculate the cost for your production environments that operate round-the-clock, you’ll need to account for any ephemeral environments spun up for day-to-day tasks related to development, testing, or even things like training and demos for customers and internal staff.

It’s important to keep in mind that teams accustomed to IaC do not hesitate to spin up environments when needed.

How will you track usage against your budgets?

Terraform Cloud is valuable for helping IaC experts provision infrastructure, but it is not typically used to monitor the operations of that infrastructure.

Staying within your budget will require continuous visibility into month-to-date activity for your infrastructure provisioned via Terraform, as well as granular views into the resources that were deployed.

While Terraform Cloud provides a view into estimated billing, DevOps teams will need context to make that information useful. If you’re trending toward exceeding your budget, how will you identify your biggest cost drivers? Who’s responsible for provisioning them? And what can you do to reduce that cost without disrupting your team’s productivity?

Staying within budget under these pricing plans will require a level of visibility into resources provisioned via IaC that many DevOps teams don’t have today.

How will you enforce your budget limits?

Even if you set limits on resources provisioned via IaC, you’ll need to prevent your teams from exceeding those limits.

For DevOps teams accustomed to provisioning infrastructure on-demand, evaluating the budgetary implications of their IaC could be a major adjustment.

Without guardrails to deny the provisioning of infrastructure that will put the team over budget, Terraform Cloud customers will have a difficult time staying in budget.

Another key consideration is the termination of cloud infrastructure. If someone on your team forgets to terminate a cloud resource—or if their destroy command fails for some reason—your costs will reflect that.

Comparing rates for Terraform Cloud and Quali Torque

Before comparing rates for Quali’s Torque platform, which supports open-source Terraform and several other IaC technologies, it helps to understand how our customers use it to provision application infrastructure.

As a platform engineering tool, Torque leverages our users Terraform modules (and other resource configurations) to create new files defining all the infrastructure and services needed to generate an environment. This could include several services defined in Terraform and/or other automation tools, such as Ansible, CloudFormation, and Helm.

Once the environment template is created, developers can find it labeled based on its use case–e.g. a test environment would be labeled “app feature test environment”–and click “launch” to initiate all the IaC plans in the template. All parameters, security credentials, and configurations are pre-populated and managed by role-based access permissions.

This allows developers to provision infrastructure without the requisite knowledge of the IaC tool or cloud platforms used to run that infrastructure.

Since Torque initiates the provisioning of the assets configured in these files, the platform provides a number of management capabilities to automating operations:

  • Auto-teardown after a duration: Each environment is set with a default maximum duration, after which Torque will terminate all cloud resources provisioned. Users can request extensions when needed.
  • Enforcement of governance policies: Admins can set policies for things like maximum runtimes, concurrent environments, and approved cloud resources and configurations. Torque will deny the launch of any environment that violates them.
  • Activity & cost tracking by user: When a user provisions an environment via the platform, Torque identifies them as the “owner” of that environment. This provides context in Torque’s native reports to show who is responsible for launching which environments, as well as the cloud costs for each of them.

This level of visibility allows Torque to track runtimes and costs of environments based on IaC, while the management features allow administrators to prevent those runtimes from exceeding their limits.

For pricing, Torque comes with several options:

  • Free: Small teams of 3 or fewer users can run environment up to 50 hours every month, which can be valuable for things like temporary testing environments or services like security validation
  • Professional: Customers agree to a rate based on the total hours of environment uptime and pay a monthly cost based on that consumption, with continuous visibility into billing costs based on activity in the platform.
  • Enterprise: Discount rates for teams with high volumes of environment usage via the platform, which that can be based on a variety of factors including (but not limited to) hours of environment uptime.

Check out our pricing page to learn more.

To see how our users scale IaC, watch this brief demo of Quali Torque: