TNS
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
NEW! Try Stackie AI
Infrastructure as Code / Open Source

New OpenTofu Release Challenges Terraform’s Dominance

OpenTofu 1.8 introduces early variables/locals evaluation, which was the most highly anticipated feature of the release, among other requested features.
Jul 30th, 2024 11:46am by
Featued image for: New OpenTofu Release Challenges Terraform’s Dominance
Featured image via Unsplash+.

The new OpenTofu comes with features developers have been asking for for years.

In a move that’s sure to catch the attention of the Infrastructure as Code (IaC) community, OpenTofu has released version 1.8, packed with features that users have been clamoring for since the project forked from HashiCorp’s Terraform.

This latest release isn’t just another incremental update. Its headline feature is the introduction of early variables/locals evaluation. As Flavius Dinu, OpenTofu-friendly Spacelift developer advocate, wrote in a blog post, “This is by far the most highly anticipated feature of the release. Seven years ago, one of the issues with Terraform was that you couldn’t add variables to the Terraform block. There were some hacky workarounds that you could use, but they never felt right.”

Now, he continued, it’s easy. In addition, you can now “use variables or locals when using module sources and versions. Previously, changing the module versions was difficult from an automation standpoint because you always needed to use different workarounds.”

Another new feature, dynamic providers, has been on many developers’ wish lists for years and is here now. Dynamic providers enable you to create programmatic definitions of provider configurations. This opens up new possibilities for managing complex, multicloud infrastructures. It’s a significant step forward that could give OpenTofu an edge in the increasingly competitive IaC landscape.

Functionality Improvements

OpenTofu is doing more than just flexing its muscles with new features. The 1.8 release also brings improvements to existing functionality. The “tofu test” command, introduced in version 1.6, now supports variables in test files, making it easier for teams to write and manage comprehensive test suites for their infrastructure code.

Security-conscious users will appreciate the enhancements to OpenTofu’s state encryption capabilities. Based on the end-to-end encryption introduced in version 1.7, OpenTofu 1.8 offers improved key rotation mechanisms and expanded support for key management systems. In an era where infrastructure security is paramount, these improvements are more than bullet points on a feature list — they’re essential tools for protecting sensitive data.

The OpenTofu team has also been busy under the hood, with performance improvements that promise faster execution times for large configurations. While benchmarks can be tricky in IaC, early reports suggest noticeable speed gains, especially for complex setups.

Smooth Sailing?

However, it’s not all smooth sailing for OpenTofu. The project continues to navigate choppy waters in its contentious relationship with HashiCorp. Recent accusations of code misappropriation from Terraform have added drama to the release. OpenTofu maintainers continue to strongly deny any wrongdoing. This ongoing tension serves as a reminder of the complex dynamics at play in the open source world, especially when commercial interests are involved.

Despite the controversy, OpenTofu’s momentum continues apace. With over 23,000 GitHub stars and a growing list of high-profile adopters such as Oracle, the project is rapidly establishing itself as more than just a Terraform alternative — it’s becoming a force to be reckoned with in its own right.

Drop-in Replacement

Mind you, some companies still see it primarily as a drop-in replacement for Terraform. MasterPoint Consulting CEO Matt Gowie, for example, reported in a LinkedIn post that when his company “upgraded one of our client’s IaC codebases from Terraform.” Gowie detailed:

  1. In this repo, there are 39,764 lines of Terraform code across 485 `*.tf` files.
  2. There are 53 root modules in the codebase.
  3. There are 90 root module instances (read “state files”)
  4. If we add up all the resources in those state files, there are ~2400 resources under management.

How many errors did we run into across all that Terraform? How many changes to the actual Terraform code did we need to make to accommodate tofu? NONE. ZERO.”

OK, that’s impressive.

Whether you’re a longtime Terraform user considering a switch or an IaC newcomer, OpenTofu 1.8 makes a compelling case for giving this open source upstart a serious look. Just be prepared for drama along the way. After all, what’s open source without a dash of controversy?

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Spacelift.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.