In recent months there have been a lot of changes at Hashicorp, one being the BSL license change, but before that, there was an update to the Terraform Cloud pricing model. In previous versions of their pricing model, they charged by the number of users, per apply and also had different tiers for various features. In June of 2023, HashiCorp switched to the new pricing model which calculates the total cost through “resources under management” (rum pricing model) which charges customers for any resource that is deployed and then managed in Terraform state files by Terraform Cloud. In this blog, we will discuss the differences between the pricing models of Terraform Cloud and Scalr, a Terraform Cloud alternative.
Scalr has two pricing plans: free and business.
The free tier includes ALL features and can be used for free up to 50 runs per month. On the first of every month, the quota resets, and customers get another set of 50 runs. All free tier accounts get two concurrent runs, which can be increased by deploying self-hosted agents, which automatically add an additional five concurrent runs per agent.
The business tier can be purchased by organizations that need more than 50 runs per month. The business tier includes all features as well as 5 concurrent runs when the account is upgraded. All objects in Scalr have quotas to avoid abuse, but these quotas can be increased free of charge after a review of the use case, this includes concurrency.
HashiCorp has four pricing tiers in its pricing structure: free, standard, plus, and enterprise. It should be noted that the enterprise tier only applies to Terraform enterprise, which is the self-hosted version of TFC.
The Terraform Cloud free tier can be used for up to 500 resources under management. The free tier does not include the following features, all of which are included in Scalr’s free tier:
The free tier is limited to 1 concurrent run and 1 self-hosted agent. The OPA policy enforcement is limited to 1 policy set and only 1 mandatory policy. Lastly, the run tasks feature is limited to one task integration. Based on these numbers and features, this would be something only a small team would be able to use.
The next tier is the standard tier, which is 0.00014 per hour per resource and where the rum pricing model comes into play. After upgrading to the standard tier, team management and an extra 2 concurrent runs are the only advantages. The OPA policy enforcement and run tasks are still limited to the same quotas as the free tier.
To get access to more features, you need to upgrade to the plus tier. Unfortunately, Hashicorp does not list the pricing model for the plus tier and users are required to contact the sales team. The plus tier adds on no code provisioning workflows, audit logs, drift detection, and ephemeral workspaces. Organizations also get unlimited OPA policy enforcement sets as well as policy enforcement levels. The run task feature is also improved by having an unlimited amount of integrations. Lastly, even on the top tier for Terraform Cloud, organizations are still restricted to 10 concurrent runs and 10 self-hosted agents.
The last tier that is listed on their pricing page is Terraform enterprise, which is their self-hosted option that is deployed entirely within an organization's network. Unfortunately, Hashicorp does not list the pricing model for the Terraform enterprise offering, and users are required to contact the sales team. Through research, we have determined that the Terraform enterprise pricing model is per Terraform workspace and does not seem to follow the same pricing structure as Terraform cloud.
At Scalr, we try to keep the pricing model as simple as possible and transparent. The ONLY factor that needs to be considered when looking at the free vs paid tier is if you will hit the 50-run limit on the free tier.
With HashiCorp Terraform Cloud, you are limited to the number of resources that can be managed, have to pay for additional features, and also have to take into account limits on certain objects, like concurrency which is crucial for development cycles.
Scalr has two term options: monthly or annual.
With the monthly plans, customers select a prepaid amount of runs they believe they will use in a month's time frame. The subscription can be upgraded or downgraded at any time based on the customer’s usage. If a customer's usage goes beyond the pre-paid amount, a flex rate of $0.99 per run is charged until the next billing cycle begins. The more pre-paid runs that are purchased, the higher the volume discount is.
With the annual plans, customers can purchase runs in bulk and have one year from the purchase date to use the runs. The advantages of the annual plan are that customers do not have to predict month-to-month usage and a volume discount is applied to the total volume of runs purchased for the year. If customers use all of the runs before the end of the subscription period, they can renew early or pay for flex runs until the subscription is renewed.
All discounts for the monthly and annual subscriptions are included in the pricing calculator.
Based on the information on the Terraform Cloud pricing page, it appears there is a pay-as-you-go or an annual subscription option.
The pay-as-you-go model only seems to apply to the standard tier, which is 0.00014 per hour per resource. It appears that the pay-as-you-go model is billed monthly based on the pricing website mentioning “First 500 resources per month are free”.
The annual option seems to start once a customer goes to the plus tier. It is unclear how the plus tier is billed for or what the terms are due to having to contact the sales team for pricing. The same goes for the Terraform enterprise tier.
The Scalr pricing and terms are all laid out on the Scalr pricing page so that all customers understand what they are getting into before they even try the product. Customers are in full control of their terms, and the only thing that they commit to is a number of runs.
With Terraform Cloud, it is clear what is on the standard tier, but then beyond that, it appears to be unique per customer as you must contact the sales team.
With Scalr, the ONLY thing that needs to be factored in is a run. There is no extra cost for support, new features, or increasing quotas on objects other than a run. It’s also important to know that not all runs are counted against your Scalr bill. Our goal is to charge for runs that you get value out of, and we have several run results that you are not billed for based on error codes that can be seen here.
With Terraform Cloud, we know that on the standard tier, you need to factor in the resources under management (RUM) by Terraform Cloud and that it is an hourly rate. You also need to understand which features you need within your organization as that plays a factor in which tier must be purchased. For example, if you want to have team management, you’ll be forced to the plus tier and it is unclear how that is priced
In Scalr, there are two support tiers: free and paid. The free tier has ticket-based and best-effort support. The paid tier has 24x7x365 support with different response times based on the ticket priority. Customers have access to the Scalr support portal, a Slack channel, as well as screen sharing software as needed. There is no extra cost for support on the paid tier.
On the Terraform Cloud pricing page, it shows that the standard tier and above receive “enterprise support”, but it is unclear if each tier receives the same level of support. There is a separate enterprise support page that lists bronze, silver, and gold support and it is unclear how much each costs or what tiers they are included in.
If you are currently a Terraform Cloud customer and looking for an alternative that is transparent and affordable, we have written a script that helps with your Scalr cost estimation. The script in this link will pull all of the runs you have ever executed in Terraform Cloud and then you can use the Scalr pricing calculator to estimate your total cost in Scalr. Keep in mind that the number of runs you are pulling from Terraform Cloud is for the lifetime of your account so you will have to do some prediction around monthly and annual usage.
Once you have worked through the cost estimation exercise and have made the decision to either stick with Terraform Cloud or migrate, we recommend reviewing the migration effort. The migration effort to Scalr is fairly low since Scalr is also a remote operations backend for Terraform. There are a few methods that can be used to perform the migration:
Find out more about the migration in this blog.