Recently, I signed up for a trial of the Terraform Cloud Team & Governance plan, which provides access to the Workspace Cost Estimation feature.

I wanted to get some hands-on experience with the cost estimation feature to understand what it can (and cannot do), since cost estimation, planning, and optimization is always a big topic when it comes to the public cloud.

Limitations

Currently, as of the time of this blog post, there are a limited number of resources that are supported in the cost estimation feature. Specifically, only 13x Amazon Web Services (AWS) resources, 13x Microsoft Azure (Azure) resources, and 3x Google Cloud (GCP) resources are supported. Not a lot when you think about the 100’s of resource types available across these public cloud providers.

Testing

I tested the cost estimation feature by creating several Terraform templates that ultimately would create the following resources (in Azure):

  • 1x Azure Virtual Network (VNET)
    • 3x Subnets
  • 1x Network Security Group (NSG)
    • 7x NSG Security Rules
  • 1x NSG-to-Subnet association
  • 1x Azure Firewall (AFW)
  • 1x Site-to-Site (S2S) VPN Gateway
  • 1x Express Route (ER) VPN Gateway
  • 3x Public IP Address

Observations

Some of the behavior and output from the cost estimation was confusing, ranging from some resources not even listed, while other resources (that have no/zero costs associated to them) were listed.

Conclusion

The potential for the feature is great, but there are still many gaps/limitations with it.

Check out my video recording (linked below), which expands on my observations, what output was/was not given, my personal thoughts on the good/bad, and also some resources for Terraform certification.

 

You can find the recording of Terraform Cloud – Cost Estimation In Action, along with my other presentation recordings on my YouTube channel here: https://www.youtube.com/c/adinermie. The presentation deck is also available on SlideShare. If you have any thoughts, suggestions, or request for content, feel free to reach out.