

If DevOps teams mix up the roles of Ansible and Terraform, deployment pipelines can become unreliable. Manual handoffs slow down changes, and audits may find gaps where responsibilities overlap. Each tool solves different problems, so using them correctly avoids delays and compliance risks.
Are you dealing with scattered provisioning and configuration workflows? Harness Continuous Delivery offers an AI-powered control panel that manages both Terraform and Ansible, giving you unified visibility and policy enforcement.
Understanding the differences between Ansible and Terraform starts with recognizing that they solve complementary layers of infrastructure automation. Terraform excels at declaring and managing cloud resources, while Ansible shines at configuring the workloads that run on that infrastructure. Both tools are agentless and complement each other, but their architectural approaches and state-management philosophies yield distinct strengths and limitations.
Terraform specializes in infrastructure provisioning through declarative HashiCorp Configuration Language (HCL). It maintains a state file that tracks every resource it provisions, enabling planned changes and drift detection.
This stateful approach makes Terraform ideal for managing cloud resources like VPCs, databases, and Kubernetes clusters across multiple providers. Research shows Terraform's immutable infrastructure philosophy, replacing rather than modifying resources, reduces configuration drift and improves reproducibility at scale.
While Terraform sets up infrastructure, Ansible uses a task-based method with easy-to-read YAML playbooks run over SSH. Ansible does not keep a persistent state. Instead, it uses idempotent modules that give the same results no matter how many times you run them.
This makes Ansible a strong choice for configuring operating systems, deploying applications, and handling ongoing maintenance after the first setup. Studies describe Ansible as a tool for making changes directly on servers, which is useful for managing many machines at once.
The main difference between these tools is how they manage state. Terraform’s state file is the main record, letting you preview changes before making them. This setup helps detect drift and allows rollbacks using Infrastructure as Code tools.
On the other hand, Ansible sends configurations straight to target systems using idempotent tasks. This makes setup easier at first, but you need other ways to prevent drift and check changes in large environments.
For large organizations, choosing the right tool is less important than having good governance and visibility. Using policy-as-code frameworks like Open Policy Agent, keeping audit trails, and using templates for consistency are all key.
Modern platforms provide GitOps control planes that orchestrate both Terraform provisioning and Ansible configuration within governed workflows, ensuring compliance without blocking developer productivity.
Terraform is best when you need to manage infrastructure across many cloud providers, environments, and teams. For large organizations with hundreds of services, using Terraform at scale helps ensure reliable and trackable infrastructure delivery.
The question of whether Ansible and Terraform can be used together has a clear answer: they work best as complementary layers in modern delivery pipelines. Define your cloud infrastructure with Terraform, then configure and orchestrate with Ansible, tying both to Git repositories and promotion workflows to reduce drift and manual handoffs. Terraform actions now support direct integration, enabling a single Terraform apply to dispatch Ansible Event-Driven Automation workflows while keeping inventories synchronized across both tools.
In practice, this setup works best when you use GitOps controllers like ArgoCD to deliver Kubernetes applications, while Terraform manages the clusters and cloud resources underneath.
This separation makes roles clear: Terraform sets up what you need, GitOps delivers your applications, and Ansible takes care of node setup, runbooks, and ongoing tasks that aren’t covered by Kubernetes.
For large organizations, centralize visibility and governance by using golden-path templates, OPA policy checks, and release management. This reduces manual work and helps keep compliance consistent.
Modern platforms solve Argo sprawl by offering a single control panel for managing multi-stage releases, enforcing policy-as-code, and keeping audit trails across all deployments. This helps teams deliver faster while keeping the governance needed for complex, regulated environments.
Enterprise teams managing hundreds of services often face complex decisions about when to use automated infrastructure setup versus hands-on system configuration. These frequently asked questions address practical concerns about combining both approaches while maintaining governance and visibility at scale.
Terraform excels at declarative infrastructure provisioning with state management and drift detection, making it ideal for cloud resources and lifecycle management. Ansible specializes in imperative system configuration, application deployment, and orchestration tasks across existing infrastructure. Air France-KLM successfully combined both, using Terraform for provisioning and Ansible for post-deployment setup, scaling to 7,200 workspaces supporting 450+ teams.
Terraform leads infrastructure provisioning with its declarative model and comprehensive cloud provider support, while Ansible remains the preferred choice for system configuration and Day 2 operations.
Both tools serve different pipeline stages rather than competing directly. Terraform handles infrastructure provisioning steps, while Ansible manages application setup and deployment tasks. Modern CI/CD platforms orchestrate both tools within unified pipelines, using failure strategies and conditional logic to coordinate Terraform applies followed by Ansible configuration runs based on environment and deployment context.
Yes, they work exceptionally well together. Enterprise teams typically use Terraform for infrastructure provisioning with S3-backed state management, followed by Ansible for OS setup and application installation. This separation of concerns enables teams to leverage each tool's strengths while maintaining clear boundaries between infrastructure lifecycle and system configuration responsibilities.
Terraform manages infrastructure state through remote backends with drift detection, while Ansible ensures idempotent system setup through declarative playbooks. Teams should establish clear ownership boundaries, use Terraform for stateful cloud resources, and leverage Ansible for application configuration that doesn't require persistent state tracking. Centralized GitOps platforms provide unified visibility across both tools' operations and drift detection.
Implement Policy as Code using Open Policy Agent (OPA) to enforce guardrails across both Terraform and Ansible workflows. Pre-written policy sets for compliance frameworks like NIST SP 800-53 accelerate adoption. Centralize policy management, use template-based approaches for consistency, and integrate policy checks into CI/CD pipelines to catch violations before deployment across distributed infrastructure.
Choosing between Ansible and Terraform becomes simpler when you focus on outcomes rather than tools. Create golden-path templates that codify your Terraform provisioning and Ansible configuration processes together. Enforce OPA policies at every stage to maintain compliance without blocking developer velocity.
Meaningful scale happens when you centralize GitOps visibility to eliminate Argo sprawl across your infrastructure. Use AI to generate pipelines from natural language and automatically verify deployments with intelligent rollback capabilities. Start with one service, establish your workflow patterns, then propagate templates across all environments with automated governance that scales with your team.
Ready to move beyond manual pipeline creation and fragmented GitOps management? Harness Continuous Delivery transforms your Terraform and Ansible pipelines into AI-powered, policy-governed systems that deliver software faster and more securely.


Did ecTerraform vendor lock-in just become your biggest operational risk without you noticing? When HashiCorp changed Terraform's license from MPL to BSL in August 2023, legal terms were not the only alteration. They fundamentally shifted the operational landscape for thousands of platform teams who built their infrastructure automation around what they believed was an open, community-driven tool. If your organization runs Terraform at scale, you're now facing a strategic decision that wasn't on your roadmap six months ago.
The uncomfortable truth is that most teams didn't architect for IaC portability. Why would they? Terraform was open source. It was the standard. And now, many organizations find themselves in a position they swore they'd never be in again after the Kubernetes wars: locked into a single vendor's roadmap, pricing model, and strategic priorities.
This isn't theoretical; it’s the very serious reality platform engineers are dealing with right now!
Terraform lock-in wasn't always a concern. For years, Terraform represented the opposite of vendor lock-in. It was open source, cloud-agnostic, and community-driven. Teams built entire operational models around it. They trained engineers, standardized on HCL, built module libraries, and integrated Terraform deeply into CI/CD pipelines. You’ve got to hand it to them; these aspects were very desirable.
Then HashiCorp moved to the Business Source License. Suddenly, the "open" in "open source" came with conditions. The BSL restricts certain commercial uses, and while many organizations technically fall outside those restrictions, the change introduced uncertainty.
The deeper problem is architectural. Most teams didn't design for IaC engine portability because they didn't need to. Terraform state files, provider interfaces, and workflow patterns became embedded assumptions. Module libraries assumed Terraform syntax. Pipelines called `terraform plan` and `terraform apply` directly. When every workflow is tightly coupled to a single tool's CLI and API, switching becomes expensive.
This is classic vendor lock-in, even if it happened gradually and without malice.
The immediate cost of Terraform lock-in isn't the license itself, but rather related to what you can't do when you're locked in.
If HashiCorp decides to sunset features, deprecate APIs, or introduce breaking changes, you either adapt or do without; stuck on an outdated version with mounting technical debt.
The operational risk compounds over time. When you're locked into a single IaC tool, you're also locked into its limitations. If drift detection isn't native, you build workarounds. If policy enforcement is bolted on, you maintain custom integrations. If the state backend causes performance issues at scale, you optimize around the bottleneck rather than solving the root problem.
And then there's the talent risk. If your team only knows Terraform, and the industry shifts toward other IaC paradigms, you're either retraining everyone or competing for a shrinking talent pool. Monocultures are fragile.
The good news is that escaping Terraform lock-in doesn't require a full rewrite. It requires a deliberate strategy to introduce portability into your IaC architecture.
OpenTofu emerged as the open-source fork of Terraform immediately after the license change. It's MPL-licensed, community-governed through the Linux Foundation, and API-compatible with Terraform 1.5.x. For most teams, OpenTofu migration is the lowest-friction path to regaining control over your IaC engine.
Migrating to OpenTofu doesn't mean abandoning your existing Terraform workflows. Because OpenTofu maintains compatibility with Terraform's core primitives, you can run OpenTofu side-by-side with Terraform during a transition. This lets you validate behavior, test edge cases, and build confidence before committing fully.
The strategic advantage of OpenTofu is not just licensing, optionality. Once you're no longer tied to HashiCorp's roadmap, you can evaluate IaC engines based on technical merit rather than sunk cost.
The harder part of escaping IaC vendor lock-in is decoupling your operational workflows from Terraform-specific patterns. This means abstracting your pipelines so they don't hardcode `terraform plan` and `terraform apply`. It means designing module interfaces that could theoretically support multiple engines. It means treating the IaC engine as an implementation detail rather than the foundation of your architecture.
This is where infrastructure as code portability becomes a design principle. If your pipelines call a generic "plan" and "apply" interface, switching engines becomes a simple configuration change, not a migration project.
The reality is that most large organizations will eventually run multiple IaC tools. Some teams will use OpenTofu. Others will stick with Terraform for compatibility with existing state. New projects might adopt Terragrunt for DRY configurations or Pulumi for type-safe infrastructure definitions.
Fighting this diversity creates friction. Embracing it requires tooling that supports multi-IaC environments without forcing everyone into a lowest-common-denominator workflow. You need a platform that treats OpenTofu, Terraform, and other engines as first-class citizens, not as competing standards.
Harness Infrastructure as Code Management was built to solve the multi-IaC problem that most teams are only now realizing they have. It doesn't force you to pick a single engine. It doesn't assume Terraform is the default. It treats OpenTofu and Terraform as equally supported engines, with workflows that abstract away engine-specific details while preserving the flexibility to use either.
This matters because escaping Terraform lock-in isn't just about switching tools. It's about building infrastructure automation that doesn't collapse the next time a vendor changes direction.
Harness IaCM supports OpenTofu and Terraform natively, which means you can run both engines in the same platform without maintaining separate toolchains. You get unified drift detection, policy enforcement, and workspace management across engines. If you're migrating from Terraform to OpenTofu, you can run both during the transition and compare results side-by-side.
The platform also supports Terragrunt, which means teams that have invested in DRY Terraform configurations don't have to throw away that work to gain vendor neutrality. You can keep your existing module structure while gaining the operational benefits of a managed IaC platform.
Beyond engine support, Harness IaCM addresses the systemic problems that make IaC vendor lock-in so painful. The built-in Module and Provider Registry means you're not dependent on third-party registries that could introduce their own lock-in. Variable Sets and Workspace Templates let you enforce consistency without hardcoding engine-specific logic into every pipeline. Default plan and apply pipelines abstract away the CLI layer, so switching engines doesn't require rewriting every workflow.
Drift detection runs continuously, which means you catch configuration drift before it becomes an incident. Policy enforcement happens at plan time, which means violations are blocked before they reach production. These aren't afterthoughts or plugins. They're native platform capabilities that work the same way regardless of which IaC engine you're using.
And because Harness IaCM is part of the broader Harness Platform, you can integrate IaC workflows with CI/CD, feature flags, and policy governance without duct-taping together disparate tools. This is the architectural model that makes multi-IaC tool management practical at scale.
Explore the Harness IaCM product or dive into the technical details in the IaCM docs.
Escaping Terraform lock-in is not about abandoning Terraform everywhere tomorrow. It's about regaining strategic control over your infrastructure automation. It's about designing for portability so that future licensing changes, roadmap shifts, or technical limitations don't force another painful migration.
The teams that will navigate this transition successfully are the ones that treat IaC engines as interchangeable components in a larger platform architecture. They're the ones that build workflows that abstract away engine-specific details. They're the ones that invest in tooling that supports multi-IaC environments without creating operational chaos.
If your organization is still locked into Terraform, now is the time to architect for optionality. Start by evaluating OpenTofu migration paths. Decouple your pipelines from engine-specific CLI calls. Adopt a platform that treats IaC engines as implementation details, not strategic dependencies.
Because the next time a vendor changes their license, you want to be in a position to evaluate your options, not scramble for a migration plan.
.png)
.png)
Have you ever watched a “temporary” Infrastructure as Code script quietly become mission-critical, undocumented, and owned by someone who left the company two years ago? We can all related to a similar scenario, if not infrastructure-specific, and this is usually the moment teams realise the build vs buy IaC decision was made by accident, not design.
As your teams grow from managing a handful of environments to orchestrating hundreds of workspaces across multiple clouds, the limits of homegrown IaC pipeline management show up fast. It starts as a few shell scripts wrapping OpenTofu or Terraform commands often evolves into a fragile web of CI jobs, custom glue code, and tribal knowledge that no one feels confident changing.
The real question is not whether you can build your own IaC solution. Most teams can. The question is what it costs you in velocity, governance, and reliability once the platform becomes business-critical.
Building a custom IaC solution feels empowering at first. You control every detail. You understand exactly how plan and apply flows work. You can tailor pipelines to your team’s preferences without waiting on vendors or abstractions.
For small teams with simple requirements, this works. A basic OpenTofu or Terraform pipeline in GitHub Actions or GitLab CI can handle plan-on-pull-request and apply-on-merge patterns just fine. Add a manual approval step and a notification, and you are operational.
The problem is that infrastructure rarely stays simple.
As usage grows, the cracks start to appear:
At this point, the build vs buy IaC question stops being technical and becomes strategic.
We cannot simply label our infrastructure as code management platform as “CI for Terraform.” It exists to standardise how infrastructure changes are proposed, reviewed, approved, and applied across teams.
Instead of every team reinventing the same patterns, an IaCM platform provides shared primitives that scale.
Workspaces are treated as first-class entities. Plans, approvals, applies, and execution history are visible in one place. When something fails, you do not have to reconstruct context from CI logs and commit messages.
IaC governance stops being a best-practice document and becomes part of the workflow. Policy checks run automatically. Risky changes are surfaced early. Approval gates are applied consistently based on impact, not convention.
This matters regardless of whether teams are using OpenTofu as their open-source baseline or maintaining existing Terraform pipelines.
Managing environment-specific configuration across large numbers of workspaces is one of the fastest ways to introduce mistakes. IaCM platforms provide variable sets and secure secret handling so values are managed once and applied consistently.
Infrastructure drift is inevitable. Manual console changes, provider behaviour, and external automation all contribute. An IaCM platform detects drift continuously and surfaces it clearly, without relying on scheduled scripts parsing CLI output.
Reusable modules are essential for scaling IaC, but unmanaged reuse creates risk. A built-in module and provider registry ensures teams use approved, versioned components and reduces duplication across the organisation.
Most platform teams underestimate how much work lives beyond the initial pipeline.
You will eventually need:
None of these are hard in isolation. Together, they represent a long-term maintenance commitment. Unless building IaC tooling is your product, this effort rarely delivers competitive advantage.
Harness Infrastructure as Code Management (IaCM) is designed for teams that want control without rebuilding the same platform components over and over again.
It supports both OpenTofu and Terraform, allowing teams to standardise workflows even as tooling evolves. OpenTofu fits naturally as an open-source execution baseline for new workloads, while Terraform remains supported where existing investment makes sense.
Harness IaCM provides:
Instead of writing and maintaining custom orchestration logic, teams focus on infrastructure design and delivery.
Drift detection, approvals, and audit trails are handled consistently across every workspace, without bespoke scripts or CI hacks.
The build vs buy IaC decision should be intentional, not accidental.
If your organisation has a genuine need to own every layer of its tooling and the capacity to maintain it long-term, building can be justified. For most teams, however, the operational overhead outweighs the benefits.
An IaCM platform provides faster time-to-value, stronger governance, and fewer failure modes as infrastructure scales.
Harness Infrastructure as Code Management enables teams to operationalise best practices for OpenTofu and Terraform without locking themselves into brittle, homegrown solutions.
The real question is not whether you can build this yourself. It is whether you want to be maintaining it when the platform becomes critical.
Explore Harness IaCM and move beyond fragile IaC pipelines.


Picture this. What should have been a routine Infrastructure as Code upgrade suddenly triggers a legal review, a compliance escalation, and an awkward platform meeting nobody planned for. Just the kind of chain reaction the Terraform license change set off for many teams, often long after the technical work was already done.
When HashiCorp announced its move from the Mozilla Public License v2.0 (MPL 2.0) to the Business Source License (BSL) in August 2023, the reaction extended beyond ‘just noise’ pretty quickly. It exposed how deeply Terraform had been assumed to be “safe, open, and predictable” infrastructure glue. Overnight, teams who thought they were managing purely technical risk found themselves pulled into licensing discussions they were never set up to handle.
The question quickly shifted from what changed to what does this mean for how we run infrastructure going forward?
Before August 2023, Terraform’s open source MPL 2.0 license allowed broad reuse, modification, and redistribution, including for commercial services. This model made Terraform an easy default for internal platforms, consultancies, and SaaS providers building IaC-powered offerings. It removed friction, and over time, that frictionless adoption became an assumption.
The Business Source License changes that calculus. Under the Terraform BSL license, use is still permitted for many internal scenarios, but explicitly restricted when Terraform is used to build competing commercial services. That distinction matters more than it first appears.
If you are:
You are no longer operating in a clearly open space.
The HashiCorp license change paired legal challenges with uncertainty. Legal and compliance teams dislike ambiguity, and infrastructure teams rarely want to be the ones explaining why a core automation tool might fall into a gray area six months from now.
This is the context in which the BSL vs open source discussion actually matters: not ideology, but operational predictability.
In response to the license change, the community did what it has done many times before: it forked. OpenTofu emerged as a continuation of the last MPL-licensed Terraform release, governed under the Linux Foundation with an explicit commitment to open, community-driven development.
From a practical perspective, OpenTofu started life as a drop-in replacement. Existing configurations, state files, providers, and modules continued to work. That was intentional.
The goal was continuity without legal ambiguity.
Now, you and your team might ask, what makes OpenTofu compelling aside from feature novelty? And the biggest factor is governance clarity. OpenTofu provides an open source IaC tool whose roadmap, licensing, and contribution model are not tied to a single vendor’s commercial strategy. For organizations designing or evolving IaC platforms today, that matters…a lot.
Terraform, meanwhile, remains a powerful and widely adopted tool, particularly for teams already invested in Terraform Cloud or enterprise workflows. But its direction is now explicitly commercial-first. That does not make it wrong, but it does mean it is no longer the neutral baseline it once was.
This distinction is subtle but important. OpenTofu increasingly represents the default open path, while Terraform becomes a contextual choice driven by existing investment rather than long-term openness.
One of the biggest mistakes teams make after the Terraform license change is treating the decision as a simple binary swap. Replace the binary, update a few pipelines, move on. That approach works briefly, and then fails in production.
Migrating from Terraform requires more than CLI compatibility:
Another common misstep is assuming ecosystem maturity is static. Terraform benefits from years of accumulated modules and institutional knowledge. OpenTofu is closing that gap quickly, but teams still need to inventory dependencies rather than assume universal parity.
Finally, many organizations ignore hybrid reality. Running OpenTofu for new workloads while maintaining Terraform for legacy environments is often the most pragmatic approach. The risk comes not from using both tools, but from managing them inconsistently.
The Terraform license change highlighted a broader shift: infrastructure as code licensing is no longer a background concern. It is part of your platform architecture.
Infrastructure teams now have to think about:
This is where open source IaC tools regain their appeal. Not because they are “better,” but because they reduce surprise.
Regardless of where you land in the OpenTofu vs Terraform discussion, the operational challenge remains the same: running infrastructure changes safely, consistently, and with governance across teams.
Harness Infrastructure as Code Management (IaCM) is designed to absorb this kind of tooling evolution. It supports both OpenTofu and Terraform while treating the execution engine as an implementation detail rather than a strategic constraint.
With Harness IaCM:
This approach allows teams to adopt OpenTofu where openness and governance matter most, while continuing to support Terraform where existing investment justifies it. Drift detection and policy enforcement apply uniformly, regardless of which tool is executing the plan.
Rather than forcing an immediate migration, Harness IaCM enables controlled evaluation and gradual transition, reducing the risk that licensing decisions fragment your platform.
The Terraform license change was a reminder that infrastructure tooling choices have consequences beyond syntax and state files. The BSL vs open source distinction affects governance, risk tolerance, and long-term platform flexibility.
OpenTofu provides a clear open baseline for teams who want to avoid licensing ambiguity going forward. Terraform remains relevant, especially where commercial tooling is already embedded. The key is designing your platform so that this choice does not become a single point of failure.
Harness Infrastructure as Code Management helps teams do exactly that. By supporting both OpenTofu and Terraform with consistent workflows and guardrails, it allows organizations to adapt without disruption.
The question is no longer which tool you prefer. It is whether your infrastructure platform can handle change when the rules shift again.
Explore Harness IaCM and design your IaC workflows for flexibility, not assumptions.
Check out the Terraform to OpenTofu migration to bring this flexibility into play and take back control of your infrastructure.


Have you ever asked yourself, what is the fastest way to turn a harmless Infrastructure as Code change into a production incident and an awkward postmortem? We did, and found that usually, it's from letting it through without any guardrails.
Infrastructure guardrails in Infrastructure as Code (IaC) were once a nice-to-have. Today, they’re essential. Without clear boundaries and safety mechanisms, even well-designed IaC workflows can turn small mistakes into fast-moving, high-impact problems.
Infrastructure guardrails are preventive controls that help teams standardize and secure infrastructure deployments. They act as a safety net, ensuring changes consistently align with organizational policies, security best practices, and compliance requirements.
Think of infrastructure guardrails as the difference between letting developers drive on an open road with no lanes versus providing clear lane markings, speed limits, and crash barriers. Guardrails do not restrict innovation. They make it safe to move fast without losing control.
As organizations adopt cloud-native practices and infrastructure as code becomes the standard for deployment, the complexity and scale of infrastructure management increases exponentially. Here's why infrastructure guardrails have become non-negotiable:
Without proper infrastructure guardrails, simple human errors can result in significant outages or security incidents. Consider these common scenarios:
Each of these scenarios can lead to substantial financial impact, from unexpected cloud bills to costly security breaches and downtime. Infrastructure guardrails help prevent these issues before they manifest in your environment.
Infrastructure guardrails ensure teams follow infrastructure as code best practices consistently. These include:
When these practices are enforced through guardrails rather than through documentation alone, teams naturally develop better habits while reducing technical debt.
Policy-based guardrails enforce rules across your entire infrastructure. Tools like Open Policy Agent (OPA) integrate with OpenTofu and Terraform to validate infrastructure changes against organizational policies before deployment.
These policies can be as simple or complex as needed:
Policy-based infrastructure guardrails provide the flexibility to codify any organizational requirement while ensuring consistent enforcement.
Both OpenTofu and Terraform benefit from specific guardrails that enhance their native capabilities:
OpenTofu compliance controls can be particularly effective when integrated into CI/CD pipelines, creating automated checkpoints that validate changes before they reach production environments.
One of the most insidious challenges in infrastructure management is configuration drift. Without proper infrastructure guardrails, manual changes can occur outside the IaC workflow, creating inconsistencies between your code and the actual deployed resources.
Effective drift prevention guardrails include:
Infrastructure guardrails should incorporate robust IaC security controls to protect against both accidental and malicious security issues:
These security-focused infrastructure guardrails help organizations maintain a strong security posture even as infrastructure scales and evolves.
For organizations operating at scale, infrastructure guardrails form the foundation of cloud infrastructure governance. This governance framework provides:
Harness Infrastructure as Code Management (IaCM) provides a comprehensive platform for implementing and maintaining effective infrastructure guardrails. Supporting both OpenTofu and Terraform, Harness IaCM addresses the challenges we've discussed through several key capabilities:
Harness IaCM integrates policy-as-code directly into your infrastructure workflows. Teams can define, test, and enforce policies that validate infrastructure changes against security, compliance, and operational requirements. These policies run automatically during the plan phase, preventing non-compliant changes from being applied.
Harness IaCM includes a built-in registry for OpenTofu and Terraform modules and providers. This enables teams to:
This standardization dramatically reduces the risk of configuration errors while improving developer productivity.
With Harness IaCM, infrastructure deployments follow consistent, auditable workflows:
These workflows provide the perfect balance between developer autonomy and operational control.
Harness IaCM continuously monitors your infrastructure for drift, automatically detecting when resources deviate from their expected state. When drift occurs, teams can:
This ensures your infrastructure guardrails remain effective even after deployment.
Implementing effective infrastructure guardrails doesn't have to be an all-or-nothing proposition. Start with these steps:
Effective infrastructure guardrails don't limit innovation, they enable it by providing a safe environment for experimentation and rapid deployment. By preventing costly errors, enforcing best practices, and ensuring compliance, guardrails give teams the confidence to move quickly without sacrificing reliability or security.
Harness Infrastructure as Code Management provides the ideal platform for implementing these guardrails, with native support for both OpenTofu and Terraform, built-in policy enforcement, and comprehensive drift management capabilities.
Ready to implement effective infrastructure guardrails in your environment? Explore how Harness IaCM can help your team deploy more confidently and securely while maintaining the flexibility developers need to innovate.


Cloud migration has shifted from a tactical relocation exercise to a strategic modernization program. Enterprise teams no longer view migration as just the movement of compute and storage from one cloud to another. Instead, they see it as an opportunity to redesign infrastructure, streamline delivery practices, strengthen governance, and improve cost control, all while reducing manual effort and operational risk. This is especially true in regulated industries like banking and insurance, where compliance and reliability are essential.
This first installment in our cloud migration series introduces the high-level concepts and the automation framework that enables enterprise-scale transitions, without disrupting ongoing delivery work. Later entries will explore the technical architecture behind Infrastructure as Code Management (IaCM), deployment patterns for target clouds, Continuous Integration (CI) and Continuous Delivery (CD) modernization, and the financial operations required to keep migrations predictable.

Many organizations begin their migration journey with the assumption that only applications need to move. In reality, cloud migration affects five interconnected areas: infrastructure provisioning, application deployment workflows, CI and CD systems, governance and security policies, and cost management. All five layers must evolve together, or the migration unintentionally introduces new risks instead of reducing them.
Infrastructure and networking must be rebuilt in the target cloud with consistent, automated controls. Deployment workflows often require updates to support new environments or adopt GitOps practices. Legacy CI and CD tools vary widely across teams, which complicates standardization. Governance controls differ by cloud provider, so security models and policies must be reintroduced. Finally, cost structures shift when two clouds run in parallel, which can cause unpredictability without proper visibility.
Cloud migration is often motivated by a combination of compliance requirements, access to more suitable managed services, performance improvements, or cost efficiency goals. Some organizations move to support a multi-cloud strategy while others want to reduce dependence on a single provider. In many cases, migration becomes an opportunity to correct architectural debt accumulated over years.
Azure to AWS is one example of this pattern, but it is not the only one. Organizations regularly move between all major cloud providers as their business and regulatory conditions evolve. What remains consistent is the need for predictable, auditable, and secure migration processes that minimize engineering toil.
The complexity of enterprise systems is the primary factor that makes cloud migration difficult. Infrastructure, platform, security, and application teams must coordinate changes across multiple domains. Old and new cloud environments often run side by side for months, and workloads need to operate reliably in both until cutover is complete.
Another challenge comes from the variety of CI and CD tools in use. Large organizations rarely rely on a single system. Azure DevOps, Jenkins, GitHub Actions, Bitbucket, and custom pipelines often coexist. Standardizing these workflows is part of the migration itself, and often a prerequisite for reliability at scale..
Security and policy enforcement also require attention. When two clouds differ in their identity models, network boundaries, or default configurations, misconfigurations can easily be introduced . Finally, cost becomes a concern when teams pay for two clouds at once. Without visibility, migration costs rise faster than expected.
Harness addresses these challenges by providing an automation layer that unifies infrastructure provisioning, application deployment, governance, and cost analysis. This creates a consistent operating model across both the current and target clouds.
Harness Internal Developer Portal (IDP) provides a centralized view of service inventory, ownership, and readiness, helping teams track standards and best-practice adoption throughout the migration lifecycle. Harness Infrastructure as Code Management (IaCM) defines and provisions target environments and enforces policies through OPA, ensuring every environment is created consistently and securely. It helps teams standardize IaC, detect drift, and manage approvals. Harness Continuous Delivery (CD) introduces consistent, repeatable deployment practices across clouds and supports progressive delivery techniques that reduce cutover risk. GitOps workflows create clear audit trails. Harness Cloud Cost Management (CCM) allows teams to compare cloud costs, detect anomalies, and govern spend during the transition before costs escalate.
A successful, low-risk cloud migration usually follows a predictable pattern. Teams begin by modeling both clouds using IaC so the target environment can be provisioned safely. Harness IaCM then creates the new cloud infrastructure while the existing cloud remains active. Once environments are ready, teams modernize their pipelines. This process is platform agnostic and applies whether the legacy pipelines were built in Azure DevOps, Jenkins, GitHub Actions, Bitbucket, or other systems. The new pipelines can run in parallel to ensure reliability before switching over.
Workloads typically migrate in waves. Stateless services move first, followed by stateful systems and other dependent components. Parallel runs between the source and target clouds provide confidence in performance, governance adherence, and deployment stability without slowing down release cycles. Throughout this process, Harness CCM monitors cloud costs to prevent unexpected increases. After the migration is complete, teams can strengthen stability using feature flags, chaos experiments, or security testing.

When migration is guided by automation and governance, enterprises experience fewer failures and smoother transitions, and faster time-to-value. Timelines become more predictable because infrastructure and pipelines follow consistent patterns. Security and compliance improve as policy enforcement becomes automated. Cost visibility allows leaders to justify business cases and track savings. Most importantly, engineering teams end up with a more modern, efficient, and unified operating model in the target cloud.
The next blog in this series will examine how to design target environments using Harness IaCM, including patterns for enforcing consistent, compliant baseline configurations. Later entries will explore pipeline modernization, cloud deployment patterns, cost governance, and reliability practices for post-migration operations.


Infrastructure as Code (IaC) has made provisioning infrastructure faster than ever, but scaling it across hundreds of workspaces and teams introduces new challenges. Secrets get duplicated. Variables drift. Custom providers become hard to share securely.
That’s why we’re excited to announce two major enhancements to Harness Infrastructure as Code Management (IaCM):
Variable Sets and Provider Registry built to help platform teams standardize and secure infrastructure workflows without slowing developers down.
Variables in Infrastructure as Code store configuration values like credentials and environment settings so teams can reuse and customize deployments without hardcoding. However, once teams operate dozens or hundreds of workspaces, variables quickly become fragmented and hard to govern. Variable Sets provide a single control plane for configuration parameters, secrets, and variable files used across multiple workspaces. In large organizations, hundreds of Terraform or OpenTofu workspaces share overlapping credentials and configuration keys such as Terraform variable sets or OpenTofu variable sets. Traditionally, these are duplicated, making credential rotation, auditing, and drift prevention painful.
Harness IaCM implements Variable Sets as first-class resources within its workspace model that are attachable at the account, organization, or project level. The engine dynamically resolves variable inheritance based on a priority ordering system, ensuring the highest-priority set overrides conflicting keys at runtime.
.png)
For enterprises running hundreds of Terraform workspaces across multiple regions, Variable Sets give platform engineers a single, authoritative home for Vault credentials. When keys are rotated, every connected workspace automatically inherits the update by eliminating manual edits, reducing risk, and ensuring compliance across the organization. It’s a fundamental capability for terraform variable management at scale.
Provider Registry introduces a trusted distribution mechanism for custom Terraform registry and OpenTofu provider registry. While the official Terraform registry and OpenTofu Provider Registry caters to public providers, enterprise teams often build internal providers to integrate IaC with proprietary APIs or on-prem systems. Managing these binaries securely is non-trivial.
Harness IaCM solves this with a GPG-signed, multi-platform binary repository that sits alongside the Module Registry under IaCM > Registry. Each provider is published with platform-specific artifacts (macOS, Linux, Windows), SHA256 checksums, and signature files.
.png)
For any enterprise teams that build a custom provider to integrate OpenTofu with their internal API. Using Harness Provider Registry, they sign and publish binaries for multiple platforms. Developers simply declare the provider source in code, Harness handles signature verification, delivery, and updates automatically. Together with the Module Registry and Testing for Modules, Provider Registry completes the picture for trusted, reusable infrastructure components helping organizations scale IaC with confidence.
Harness IaCM already provides governed-by-default workflows with centralized pipelines, policy-as-code enforcement, and workspace templates that reduce drift. Now, with Variable Sets and Provider Registry, IaCM extends that governance deeper into how teams manage configuration and custom integrations. These updates make Harness IaCM not just a Terraform or OpenTofu orchestrator, but a secure, AI infrastructure management platform that unifies visibility, control, and collaboration across all environments.
Harness’s broader IaCM ecosystem includes:
Unlike standalone tools today, Harness IaCM brings a unified, end-to-end approach to infrastructure delivery, combining:
This all-in-one approach means fewer tools to manage, tighter compliance, and faster onboarding for developers while maintaining the flexibility of open IaC standards. Harness is the only platform that brings policy-as-code, cost insight, and self-service provisioning together into a single developer experience.
Explore how Variable Sets and Provider Registry can streamline your infrastructure delivery all within the Harness Platform. Request a Demo to see how your team can standardize configurations, improve security, and scale infrastructure delivery without slowing down innovation.


Are you still using Terraform without realizing the party has already moved on?
For years, Terraform was the default language of Infrastructure as Code (IaC). It offered predictability, community, and portability across cloud providers. But then, the music stopped. In 2023, HashiCorp changed Terraform’s license from Mozilla Public License (MPL) to the Business Source License (BSL), a move that put guardrails around what users and competitors could do with the code.
That shift opened a door for something new and truly open.
That “something” is OpenTofu.
And if you’re not already using or contributing to it, you’re missing your chance to help shape the future of infrastructure automation.
OpenTofu didn’t just appear out of thin air. It was born from community demand, a collective realization that Terraform’s BSL license could limit the open innovation that made IaC thrive in the first place.
So OpenTofu forked from Terraform’s last open source MPL version and joined the Linux Foundation, ensuring that it would remain fully open, community-governed, and vendor-neutral. A true Terraform alternative.
Unlike Terraform’s now-centralized governance, OpenTofu’s roadmap is decided by contributors, people building real infrastructure at real companies, not by a single commercial entity.
That means if you depend on IaC tools to build and scale your environments, your voice actually matters here.
OpenTofu is not a “different tool.” It’s a continuation, the same HCL syntax, same workflows, and same mental model, but under open governance and a faster, community-driven release cadence.
Let’s break down the Terraform vs OpenTofu comparison:

It’s still Terraform-compatible. You can take your existing configurations and run them with OpenTofu today. But beyond compatibility, OpenTofu is already moving faster and more freely, prioritizing developer-requested features that a commercial model might not. Some key examples of it's true power and longevity include:
Packaging and sharing modules or providers privately has always been clunky. You either ran your own registry or relied on Terraform Cloud.
OpenTofu solves this with OCI Registries, i.e. using the same open container standard that Docker uses.
It’s clean, familiar, and scalable.
Your modules live in any OCI-compatible registry (Harbor, Artifactory, ECR, GCR, etc.), complete with built-in versioning, integrity checks, and discoverability. No proprietary backend required.
For organizations managing hundreds of modules or providers, this is a big deal. It means your IaC supply chain can be secured and audited with the same standards you already use for container images.
Secrets in your Terraform state have always been a headache.
Even with remote backends, you’re still left with the risk of plaintext credentials or keys living inside the state file.
OpenTofu is the only IaC framework with built-in encryption at rest.
You can define an encryption block directly in configuration:
This encrypts the state transparently, no custom wrapper scripts or external encryption logic.
It also supports multiple key providers (AWS KMS, GCP KMS, Azure Key Vault, and more).
Coming soon in OpenTofu 1.11 (beta): ephemeral resources.
This feature lets providers mark sensitive data as transient so it never touches your state file in the first place. That’s a security level no other mainstream IaC tool currently offers.
OpenTofu’s most powerful feature isn’t in its code, it’s in its process.
Every proposal goes through a public RFC. Every contributor has a say. Every decision is archived and transparent.
If you want a feature, you can write a proposal, gather community feedback, and influence the outcome.
Contrast that with traditional vendor-driven roadmaps, where features are often prioritized by product-market fit rather than user need.
That’s what “being late to the party” really means: you miss your seat at the table where the next decade of IaC innovation is being decided.
Being early in an open-source ecosystem isn’t about bragging rights, it’s about influence.
OpenTofu is already gaining serious traction:
If you join later, you’ll still get the code. But you won’t get the same opportunity to shape it.
The longer you wait, the more you’ll be reacting to other people’s decisions instead of helping make them.
Migrating is a one-liner!
The OpenTofu migration guide shows that most users can simply install the tofu CLI and reuse their existing Terraform files:
It’s the same commands, same workflow, but under an open license. You can even use your existing Terraform state files directly; no conversion step required.
For teams already managing infrastructure at scale, the move to OpenTofu doesn’t just preserve your workflow, it future-proofs it.
When you’re ready to bring OpenTofu into a managed, collaborative environment, Harness Infrastructure as Code Management (IaCM) has you covered.
Harness IaCM natively supports both Terraform and OpenTofu. You can create a workspace, select your preferred binary, and run init, plan, and apply pipelines without changing your configurations.
That means you can:
Harness essentially gives you the sandbox to explore OpenTofu’s potential, whether you’re testing ephemeral resource behavior or building private OCI registries for module distribution.
So while the OpenTofu community defines the standards, Harness ensures you can implement them securely and at scale.
The real magic of OpenTofu lies in participation.
If you’ve ever complained about Terraform limitations, this is your moment to shape the alternative.
You can:
Everything lives in the open on the OpenTofu Repository.
Even reading a few discussions there shows how open, constructive, and fast-moving the community is.
The IaC landscape is changing, and this time, the direction isn’t being set by a vendor, but by the community.
OpenTofu brings us back to the roots of open-source infrastructure: collaboration, transparency, and freedom to innovate.
It’s more than a fork, it’s a course correction.
If you’re still watching from the sidelines, remember: the earlier you join, the more your voice matters.
The OpenTofu party is already in full swing.
Grab your seat at the table, bring your ideas, and help build the future of IaC, before someone else decides it for you.


Ever felt like managing your infrastructure is less like engineering and more like trying to herd cats through a perpetually changing obstacle course?
You’re not alone. In the glorious, chaotic world of modern IT, where microservices evolve constantly and scale pushes the limits of complexity, traditional approaches to managing infrastructure simply don’t keep pace. This is where Infrastructure as Code (IaC), and more importantly, Infrastructure as Code Management (IaCM) come in, enabling organizations to bring consistency, automation, and governance to even the most complex environments.
At its heart, IaC is the practice of defining and provisioning infrastructure resources. Think servers, databases, networks, and all their configurations, through code. Instead of clicking endlessly through cloud provider consoles or manually configuring settings, you write declarative configuration files. These files become the single source of truth for your infrastructure. Just like your application code, these infrastructure definitions can be versioned, reviewed, tested, and deployed, bringing software development best practices to infrastructure operations.
The advantages are transformative:
While IaC is a monumental leap forward, simply writing code for your infrastructure isn't enough when you're operating at an enterprise scale. Imagine hundreds of teams, thousands of infrastructure resources, multiple cloud providers, and strict regulatory requirements. This is where Infrastructure as Code Management (IaCM) becomes not just beneficial, but absolutely vital.
IaCM is the overarching strategy and set of tools designed to effectively manage your IaC across the entire organization. It addresses the inherent complexities and challenges that arise when scaling IaC practices:
Without a robust IaCM strategy, large organizations risk turning the promise of IaC into a new form of operational headache – one where inconsistencies, security gaps, and manual oversight creep back in, negating the very benefits IaC aims to deliver. IaCM elevates IaC from a technical practice to a strategic operational model, essential for controlling and managing infrastructure at enterprise scale with speed, security, and precision.
Implementing IaCM across an enterprise might seem daunting, but by breaking it down into a structured approach, organizations can successfully adopt and leverage its full potential. Here’s a 5-step guide to help you get started:
Before you start, understand where you are.
Selecting the right tools is crucial, but remember, IaCM is about managing them all.
Bringing order to chaos is a core benefit of IaCM.
Security and compliance are non-negotiable at the enterprise level.
Embrace automation and treat your infrastructure like application code.
By following these steps, enterprises can systematically transition to a fully managed, automated, and compliant infrastructure environment, unlocking the true potential of Infrastructure as Code.
To truly operationalize IaCM at scale, enterprises need a platform built for governance, automation, and collaboration. Harness IaCM brings these capabilities together, enabling teams to manage infrastructure securely and efficiently across the organization.
Harness IaCM empowers teams to leverage reusable, enterprise-grade tooling designed to maximize consistency and speed, including:
With Harness IaCM, your organization can move beyond simply writing infrastructure code to managing it as a governed, automated, and scalable system—empowering teams to innovate faster and operate with confidence.


If there’s one thing we all care deeply about, it’s not fame, fortune or perfect HCL formatting; it’s reusability.
Whether you're a seasoned practitioner or new to Infrastructure as Code (IaC), Reusable modules are fast becoming the backbone of modern platform engineering. That's why modern platforms introduced Module Registries, central systems for publishing and consuming OpenTofu/Terraform modules across your organization.
They promote the DRY principle ("Don't Repeat Yourself") by codifying best practices, reducing duplication, and helping teams ship faster by focusing on what’s unique to their workload
But as teams scale, so does the risk: a misconfigured or buggy module can break dozens of environments in seconds.
Enter testing for infrastructure modules.
A few years ago, a platform engineering team learned a painful lesson: one bad Terraform command can destroy everything.
This real incident describes how a single misconfigured module and an unguarded Terraform destroy wiped out an entire staging environment, dozens of services gone in minutes. Recovery took days.
Now imagine your team building a reusable VPC module. Without testing, a single overlooked bug, say, a missing region variable or a misconfigured ACL that leaves an S3 bucket public, could silently make it into your registry. Every environment using that module would be exposed.
Here’s how to prevent it:
Before publishing, the platform team runs an integration pipeline that provisions a real test workspace with actual cloud credentials. On the first run, the missing region is caught. On the second, the public S3 bucket is flagged. Both are fixed before the module ever touches the registry.
The single step of testing modules in isolation before release turns potential outages into harmless build failures, protecting every downstream environment.
When you publish a shared module to your registry, you're trusting that it works now, and will continue to work later. Without dedicated testing, it's easy to miss:
Testing modules addresses these risks by validating them in isolation before they’re promoted to the registry.
A dedicated Integration pipeline is added to your module’s development branch. This pipeline:
✅ Tip: You define test inputs just like consumers would, using actual variables, connectors, and real infrastructure.
Only after the module passes this pipeline should it be promoted to the main branch and published.
Testing modules complements traditional IaC testing techniques like the following methods:
tflint, validate TerratestCheckov, tfsec
The integration testing stage spins up real infrastructure to validate that your modules work as expected before they reach production consumers.
Test your modules across different cloud regions or account configurations to ensure portability:
Test complex module hierarchies where modules depend on outputs from other modules:
Integrate security scanning directly into your integration tests:
Validate that module updates can be safely rolled back by testing both upgrade and downgrade paths.
Setting up tests for your modules requires some initial overhead, but the investment pays dividends as your module ecosystem grows:
Resource Costs: Integration tests provision real infrastructure, so factor in cloud costs for test environments. Use short-lived resources and automated cleanup to minimize expenses.
Test Environment Management: Establish dedicated sandbox accounts or subscriptions for integration testing to avoid conflicts with production resources.
Pipeline Execution Time: Real infrastructure provisioning takes longer than unit tests, so optimize your pipeline for parallel execution where possible.
Testing modules is becoming a core best practice in the OpenTofu ecosystem. But finding a platform that natively integrates registry management and test pipelines can be challenging.
If you’re looking for a platform that natively integrates module registries with testing pipelines, Harness Infrastructure as Code Management (IaCM) has you covered:
Check out how to create and register your IaC modules and configure module tests to get started with pipeline setup and test inputs.
If you value stability, reusability, and rapid iteration, then testing your modules is more than a nice-to-have; it’s your safeguard against chaos.
By combining traditional CI/CD validation with real infrastructure testing, you get the best of both worlds: fast feedback and real-world assurance.
Start small. Iterate. And as your registry grows, let testing give you the confidence to scale.


When we launched Harness Infrastructure as Code Management (IaCM), our goal was clear: help enterprises scale infrastructure automation without compromising on governance, consistency, or developer velocity. One year later and we’re proud of the progress we’ve made when it comes to delivering this solution with unmatched capabilities for templatization and enterprise scalability.
Today we’re announcing a major expansion of Harness IaCM with two new features: Module Registry and Workspace Templates. Both are designed to drive repeatability, security, and control with a common foundation: reusability.
In software development we talk quite a bit about the DRY principle, aka “Don’t Repeat Yourself.” These new capabilities bring that mindset to infrastructure, giving teams the tools to define once and reuse everywhere with built-in governance.
During customer meetings one theme came up over and over again – the need to define infrastructure once and reuse it across the platform in a secure and consistent manner, at scale. Our latest expansion of Harness IaCM was built to solve exactly that.
The DRY principle has long been a foundational best practice in software engineering. Now, with the launch of Module Registry and Workspace Templates, we’re bringing the same mindset to infrastructure – enabling platform teams to adopt a more standardized approach while reducing risk.
From a security and compliance perspective, these features allow teams to define infrastructure patterns once, test them thoroughly, and then reuse them with confidence across teams and environments. This massively improves consistency across teams and reduces the risk of human error — without slowing down delivery.
Here’s how each feature works.
Module Registry empowers users to create, share, and manage centrally stored “golden templates” for infrastructure components. By registering modules centrally, teams can:

By making infrastructure components standardized, discoverable, and governed from a single location, Module Registry dramatically simplifies complexity and empowers teams to focus on building value, not reinventing the wheel.
The potential is already generating excitement among early adopters:
"The new Module Registry is exactly what we need to scale our infrastructure standards across teams,” said John Maynard, Director of Platform Engineering at PlayQ. “Harness IaCM has already helped us cut provisioning times dramatically – what used to take hours in Terraform Cloud now takes minutes – and with Module Registry, we can drive even more consistency and efficiency."
With Module Registry, we’re not just improving scalability, we’re simplifying the way teams manage their infrastructure.
Workspace Templates allow teams to predefine essential variables, configuration settings, and policies as reusable templates. When new workspaces are created, this approach:

By embedding best practices into every new project, Workspace Templates help teams move faster while maintaining alignment, control, and repeatability across the organization.
Traditional Infrastructure as Code (IaC) solutions laid the foundation for how teams manage their cloud resources. But as organizations scale, many run into bottlenecks caused by complexity, drift, and fragmented tooling. Without built-in automation, repeatability, and visibility, teams struggle to maintain reliable infrastructure across environments.
Harness IaCM was built to solve these challenges. As a proud sponsor and contributor to the OpenTofu community, Harness also supports a more open, community-driven future for infrastructure as code. IaCM builds on that foundation with enterprise-grade capabilities like:
Together, these capabilities help teams to:
Since its GA launch last year, Harness IaCM has gained strong traction with several dozens of enterprise customers already on board – including multiple seven-figure deals. In financial services, one customer is managing dozens of workspaces using just a handful of templates, with beta users averaging more than 10 workspaces per template. In healthcare, another team now releases 100% of their modules with pre-configured tests, dramatically improving reliability. And a major banking customer has scaled to over 4,000 workspaces in just six months, enabled by standardization and governance patterns that drive consistency and confidence at scale.
With a focus on automation, reusability and visibility, Harness IaCM is helping enterprise teams rethink how they manage and deliver infrastructure at scale.
Harness’ Infrastructure as Code Management (IaCM) was built to address a massive untapped opportunity: to merge automation with deep capabilities in compliance, governance, and operational efficiency and create a solution that redefines how infrastructure code is managed throughout its lifecycle. Since launch, we’ve continued to invest in that vision – adding powerful features to drive consistency, governance, and speed. And we’re just getting started.
As we look ahead, we’re expanding IaCM in three key areas:
I invite you to sign up for a demo today and see firsthand how Harness IaCM is helping organizations scale infrastructure with greater speed, consistency, and control.


For Fidelity Investments, Hashicorp’s move to BSL licensing of Terraform and the community’s immediate response of creating an open-source fork, OpenTofu, under the Linux Foundation raised immediate questions. As an organization deeply committed to open source principles, moving from Terraform to OpenTofu aligned perfectly with their strategic values. They weren't just avoiding license restrictions; they were embracing a community-driven future for infrastructure automation.
What makes their story remarkable isn't just the scale (though managing 50,000+ state files is impressive), but how straightforward the migration proved to be. Because OpenTofu is a true drop-in replacement for Terraform, Fidelity's challenge was organizational, not technical. Their systematic approach offers lessons for any enterprise considering the move to OpenTofu—or tackling any major infrastructure change.
Let me walk you through what they did, because there are insights here that extend far beyond tool migration.
First, let's appreciate what Fidelity was dealing with:
This isn't a side project. This is production infrastructure that keeps a financial services giant running. Any misstep ripples through the entire organization.
Phase 1: Rigorous POC
They didn't start with faith they started with evidence. The key question wasn't "Does OpenTofu work?" but "Does it work with our existing CI/CD pipelines and artifact management?"
The answer was yes, confirming what many of us suspected: OpenTofu really is a drop-in replacement for Terraform.
Phase 2: Lighthouse Project
Here's where theory meets reality. Fidelity took an internal IaC platform application, converted it to OpenTofu, and deployed it to production. Not staging. Production.
This lighthouse approach is brilliant because it surfaces the unknown unknowns before they become organization-wide problems.
Phase 3: Building Consensus
You can't mandate your way through a migration of this scale. Fidelity invested heavily in socializing the change, presenting pros and cons honestly, engaging with key stakeholders, and targeting their biggest Terraform users for early buy-in.
Phase 4: Enablement Infrastructure
Migration success isn't just about the technology—it's about the people using it. Fidelity built comprehensive support structures, including tooling, documentation, and training, to ensure developers had everything they needed to succeed.
Phase 5: Transparent Progress Tracking
They made migration progress visible across the organization. Data-driven approaches build confidence. When people can see momentum, they're more likely to participate.
Phase 6: Default Switch
Once confidence was high, they made OpenTofu the default CLI, consolidated versions, and deprecated older Terraform installations.
Bonus: They branded their internal IaC services as "Bento"—creating a unified identity for standardized pipelines and reusable modules. Sometimes organizational psychology matters as much as the technology.
OpenTofu delivers on its compatibility promise. The migration effort focused on infrastructure pipeline adaptation, not massive code rewrites. This validates what the OpenTofu community has been saying—it really is a drop-in replacement that makes migration far simpler than switching between fundamentally different tools.
Shared pipelines are a force multiplier. Central pipeline changes benefited multiple teams simultaneously. This is why standardization matters—it creates leverage and makes organization-wide changes manageable.
CLI version consistency is crucial. Consolidating Terraform versions before migration eliminated a major source of friction. This organizational discipline paid dividends during the actual transition.
Open source alignment was deeply strategic. This wasn't just about licensing costs—Fidelity wanted to contribute to the OpenTofu community and actively shape IaC's future. They're now part of building the tools they depend on, rather than just consuming them.
Fidelity's success illustrates how straightforward OpenTofu migration can be when approached systematically. The real work wasn't rewriting infrastructure code—it was organizational: building consensus, creating enablement, measuring progress.
This validates a key point about OpenTofu: because it maintains compatibility with Terraform, the traditional migration pain points (syntax changes, feature gaps, learning curves) simply don't exist. Organizations can focus on process and adoption rather than technical rewrites.
The shift to OpenTofu represents more than just avoiding HashiCorp's licensing restrictions. It's about participating in a community-driven future for infrastructure automation—something that clearly resonated with Fidelity's open source values.
If you're managing infrastructure at scale, Fidelity's playbook offers a proven path for OpenTofu migration. The key insight? Because OpenTofu is compatible with Terraform, your migration complexity is organizational, not technical. Focus on consensus-building, phased adoption, and comprehensive enablement rather than worrying about code rewrites.
For organizations committed to open source principles, the choice becomes even clearer. OpenTofu offers the same functionality with the added benefit of community control and transparent development. You're not just getting a tool—you're joining an ecosystem where you can influence the future of infrastructure automation.
The infrastructure automation landscape is evolving toward community-driven solutions. Organizations like Fidelity aren't just adapting to this change they're leading it. Their migration proves that moving to OpenTofu isn't just possible at enterprise scale; with the right approach, it's surprisingly straightforward.
Worth studying, worth emulating and worth making the move.
At Harness, we offer our Infrastructure-as-Code Management customers guidance and services to streamline their migration from Terraform to OpenTofu if that's part of their plans. To learn more about that, please contact us.


Infrastructure management has undergone a radical transformation in the past decade. Gone are the days of manual server configuration and endless clicking through cloud provider consoles. Today, we're witnessing a renaissance of infrastructure management, driven by Infrastructure as Code (IaC) tools like OpenTofu.
Imagine a world where deploying infrastructure was like assembling furniture without instructions. Each engineer would interpret the blueprint differently, leading to inconsistent, fragile systems. This was the reality before IaC. OpenTofu emerged as a community-driven solution to standardize and simplify infrastructure deployment, offering a declarative approach that treats infrastructure like software.
The first stage of infrastructure automation is about bringing structure and repeatability to deployments. Here, teams transition from manual configurations to storing infrastructure definitions in version-controlled repositories.
Picture a development team where infrastructure changes are no longer mysterious, one-off events. Instead, every network configuration and every server setup becomes a traceable, reviewable piece of code. Pull requests become the new change management meetings, with automated checks validating proposed infrastructure modifications before they touch production.
Version control integration transformed infrastructure management. Suddenly, infrastructure changes became collaborative, transparent processes where team members could review, comment, and validate complex system modifications before deployment. By treating infrastructure code like application code, organizations created more reliable, predictable deployment mechanisms.
This approach allows teams to:
As organizations mature, they move beyond basic automation to create sophisticated, environment-specific deployment strategies. This isn't just about deploying infrastructure—it's about creating intelligent, context-aware deployment mechanisms.
Custom workflows emerge, allowing teams to:
Here's where things get interesting. Advanced teams start thinking about infrastructure not as monolithic blocks, but as dynamic, interconnected micro-services. Infrastructure becomes adaptable, scalable, and increasingly intelligent.
Imagine infrastructure that can:
The final stage represents the holy grail of infrastructure management: a fully self-service model with robust governance and compliance mechanisms.
Open Policy Agent (OPA) policies transform compliance from a bureaucratic nightmare into an automated, programmable process. Instead of lengthy approval meetings, organizations can now encode compliance requirements directly into their infrastructure deployment pipelines.
Advanced platforms now offer:
While Terraform pioneered this space, OpenTofu represents the next evolution. As a community-driven, open-source alternative, it offers:
Infrastructure automation is no longer a luxury—it's a strategic imperative. By embracing tools like OpenTofu, organizations can transform infrastructure from a cost centre to a competitive advantage.
Explore Harness Infrastructure as Code Management and discover the benefits associated with IaCM tooling that integrates seamlessly with tools like CI/CD pipelines, Cloud Cost Management, Vulnerability scanner with Security Testing Orchestration and much more, all under one roof.


Managing and predicting cloud costs can be challenging in today's dynamic cloud environments, especially when infrastructure changes occur frequently. Many organizations struggle to maintain visibility into their cloud spending, which can lead to budget overruns and financial inefficiencies. This issue is exacerbated when infrastructure is provisioned and modified frequently, making it hard to predict and control costs.
Integrating Infrastructure as Code (IaC) practices with robust cost management tools can provide a solution to these challenges. By enabling cost estimates and enforcing budgetary policies at the planning stage of infrastructure changes, teams can gain greater visibility and control over their cloud expenses. This approach not only helps in avoiding surprise costs but also ensures that resources are used efficiently and aligned with business goals.
Infrastructure as Code Management (IaCM): IaCM allows teams to define, provision, and manage cloud resources using code, making infrastructure changes repeatable and consistent. This method of managing infrastructure comes with the added benefit of predictability. By incorporating cost estimation directly into the IaC workflow, teams can preview the financial impact of proposed changes before they are applied. This capability is crucial for planning and budgeting, enabling organizations to avoid costly surprises and make data-driven decisions about infrastructure investments.
Cloud Cost Management (CCM): While IaC provides a foundation for controlled and predictable infrastructure changes, Cloud Cost Management tools take this a step further by offering continuous visibility into cloud spending. CCM tools allow teams to monitor and analyze costs in real time, set spending thresholds, and receive alerts when costs approach or exceed these limits. This ongoing oversight is essential for maintaining financial discipline, especially in dynamic environments where infrastructure usage and costs can fluctuate rapidly.
A development team is tasked with launching a new feature that requires additional cloud infrastructure. Before deploying, they use their IaC tool to define the necessary resources and run a cost estimation. The estimation reveals that the proposed changes will significantly increase the monthly cloud spend, prompting the team to reassess their approach.
They decide to implement an automated policy that checks whether the total monthly cost of any proposed infrastructure exceeds a predefined threshold. If this threshold is crossed, the policy triggers an alert or blocks the deployment, ensuring costs stay within expected limits. While some companies might not be price-sensitive, they aim to allocate resources effectively, prioritizing value and strategic impact over cost alone. To further optimize spending, they schedule certain environments to be scaled down or temporarily decommissioned during weekends when they are not needed.
Such proactive measures can be instrumental in ensuring that cloud costs remain within budget, while still allowing for the flexibility to scale infrastructure as needed.
When you combine the power of IaCM with Cloud Cost Management, you create a robust system that enables continuous optimization of cloud infrastructure with cost control in mind. This combination, IaCM for Cost Management, has the potential to automate, optimize, and provide cost transparency across the entire cloud environment. While IaCM handles provisioning and scaling, Cloud Cost Management (CCM) tools are essential for monitoring and tracking cloud expenses after resources have been provisioned. When you combine IaCM with CCM, organizations gain continuous cost visibility and real-time feedback on resource usage.
With IaC, you can define your cloud infrastructure in code and apply cost-saving policies directly within your infrastructure definitions. For example, if you're using OpenTofu or Terraform, you can incorporate best practices like:
By incorporating these cost-saving measures into your IaC pipeline, cost optimization becomes a native part of your infrastructure provisioning process, reducing the likelihood of unnecessary waste in the long run.
IaCM isn't just about provisioning infrastructure — it also includes ongoing cost tracking and monitoring. With automated reporting and cost analysis tools, organizations can continuously track how their cloud spending evolves over time. This makes it easier to pinpoint areas of overspending or inefficiency that need attention.
By integrating CCM tools, such as Harness CCM, into your IaCM workflow, teams can receive real-time feedback on resource usage and costs as infrastructure is deployed and scaled. This integration helps track the following:
Cloud cost governance is an essential aspect of any cost management strategy, ensuring that teams do not overspend and stay within their allocated budgets. With IaCM, you can automate governance policies to ensure cloud resources are provisioned in accordance with business rules and financial guidelines.
For instance, you can enforce policies such as:
Harness IaCM allows you to enable cost estimation at the workspace level, ensuring that you know the approximate cost of your infrastructure changes ahead of time before applying those changes. For example, the team can implement an automated policy that checks whether the total monthly cost of any proposed infrastructure exceeds a predefined threshold. If this threshold is crossed, the policy triggers an alert or blocks the deployment altogether, preventing unexpected financial strain.
This policy automatically denies any changes if the total monthly cost of the infrastructure exceeds $100, helping to maintain budgetary control and avoid unexpected expenses. Additionally, the team can set policies to ensure that the cost of changes does not increase significantly compared to the previous plan, providing an extra layer of cost governance.
When integrating Infrastructure as Code and Cloud Cost Management into your workflows, consider the following strategies:
Bringing together the capabilities of Infrastructure as Code and Cloud Cost Management can significantly enhance your organization’s ability to manage cloud costs effectively. By integrating these practices, teams can gain better visibility into their spending, enforce budgetary controls, and optimize resource usage—all critical components for running efficient, cost-effective cloud operations.
For more information on implementing these strategies, check out Harness Infrastructure as Code Management and Harness Cloud Cost Management.
Also, check out our recent webinar on how to whip your cloud costs into shape.


Infrastructure as Code (IaC) has revolutionized IT infrastructure management, with HashiCorp’s Terraform leading the way for many years. However, when HashiCorp introduced licensing restrictions on Terraform, it left many organizations questioning the future of their open-source infrastructure tooling.
Enter OpenTofu: a community-driven fork of Terraform that's rapidly gaining traction among developers and operations teams alike.
Born out of a desire to preserve the open-source ethos, OpenTofu is more than just a Terraform clone. It represents a philosophical shift in how we approach infrastructure management tools. In this post, we'll dive deep into OpenTofu, unpack its origins, explore its key features, and see how it stacks up against its well-established predecessor.
Whether you're a seasoned Terraform user or new to the world of IaC, understanding OpenTofu is crucial as we navigate the ever-evolving terrain of cloud infrastructure management. So, let's roll up our sleeves and get to know this promising new player in the DevOps toolkit.
OpenTofu is an open-source infrastructure as code tool that allows users to define and provision data center infrastructure using a declarative configuration language. As a fork of HashiCorp's Terraform, it was created to ensure the continued availability of a fully open-source option for infrastructure management.
At its core, OpenTofu enables developers and operations teams to manage complex infrastructure setups through code, bringing software development practices to infrastructure management. This approach, known as Infrastructure as Code (IaC), facilitates version control, code review, and automated testing for infrastructure changes.
OpenTofu supports a wide array of service providers and can manage both cloud and on-premises resources. From spinning up virtual machines to configuring networking rules, it provides a unified workflow for provisioning and managing infrastructure across different platforms.
OpenTofu was born out of the open-source community’s response to HashiCorp’s decision to change Terraform’s license from the Mozilla Public License v2.0 (MPL v2.0) to the more restrictive Business Source License (BSL). This shift raised concerns about the long-term accessibility and open-source future of Terraform, prompting the need for an alternative that would uphold open-source principles and empower the community to drive the tool’s direction.
Here’s how OpenTofu differs from Terraform and why it represents a significant shift in the Infrastructure as Code (IaC) landscape:
Licensing:
OpenTofu remains fully open-source under the MPL v2.0 license, ensuring unrestricted access to its code and the freedom for users to modify and distribute it. In contrast, Terraform now operates under the BSL, which imposes limitations on its use and restricts open development as a source-available licence.

Governance:
OpenTofu is governed by the community through the Linux Foundation, emphasizing a decentralized and collaborative approach. This means development decisions, feature requests, and bug fixes are driven by the broader community. Terraform, on the other hand, remains under the control of HashiCorp, with development decisions made centrally by the company.
Feature Parity and Divergence:
While OpenTofu began as a fork of Terraform and maintains feature parity for now, the two tools are expected to diverge over time. OpenTofu will evolve based on community priorities and needs, while Terraform’s feature set will likely be influenced by HashiCorp’s commercial goals. This divergence may lead to OpenTofu gaining new features or adopting changes faster in areas prioritized by its users.
Provider Ecosystem:
Both OpenTofu and Terraform can utilize the existing ecosystem of providers to manage infrastructure across multiple platforms. However, differences may arise in how quickly new providers are supported. OpenTofu, driven by community contributions, may focus on rapid provider development for cloud and on-premises systems based on user demand, while Terraform’s provider updates will follow HashiCorp’s priorities.
Development Pace:
As a community-driven project, OpenTofu is likely to see a faster pace of development in areas that matter most to its users. This could include bug fixes, new features, and provider support, with the community able to directly influence the tool’s roadmap. Terraform’s development, meanwhile, will be steered by HashiCorp’s internal timelines and enterprise focus.
Enterprise Features:
OpenTofu aims to keep all features fully open-source, making it a cost-effective solution for teams of any size. In contrast, Terraform separates certain advanced features—such as governance, policy enforcement, and collaboration—into its enterprise offering, which is only available under commercial licensing.
OpenTofu stands out as more than just a fork of Terraform; it represents a philosophical shift toward community empowerment, open governance, and unrestricted access. By combining these differences with its commitment to open-source values, OpenTofu provides a stable, innovative, and flexible alternative for organizations looking to maintain control over their infrastructure as code tools without compromising on features or flexibility.
The history of OpenTofu is closely intertwined with that of Terraform:

Since its inception, OpenTofu has gained support from major tech companies and cloud providers, indicating strong interest in maintaining an open-source IaC solution.
Why Use OpenTofu and What Does It Offer?
OpenTofu is more than just an open-source alternative to Terraform—it combines the power of a community-driven project with a robust feature set that makes it a compelling choice for managing infrastructure as code. Here’s why OpenTofu stands out and the key features it offers:
Open-Source Commitment & Community Governance:
As a fully open-source tool under the MPL v2.0 license, OpenTofu ensures unrestricted access to its codebase. Managed by the Linux Foundation, it benefits from diverse contributions, making it a tool shaped by its community’s needs. This open governance model also drives faster innovation and development, responding directly to user demands.
Compatibility & Flexibility:
OpenTofu maintains full compatibility with existing Terraform configurations and providers, making it an easy transition for users already familiar with Terraform. Its flexibility allows for extensive customization and integration with other tools, offering broad support for cloud and on-premises infrastructure.
Declarative Infrastructure as Code:
Like Terraform, OpenTofu uses the HashiCorp Configuration Language (HCL) for declarative infrastructure management. This allows users to define their infrastructure in a way that’s easy to read and understand, while also being compatible with version control systems for change tracking.
Comprehensive State Management:
OpenTofu keeps track of infrastructure changes with a state file, ensuring you always have an accurate representation of your deployed resources. Features like state locking prevent concurrent modifications, maintaining consistency and preventing accidental overwrites.
Plan and Apply Workflow:
OpenTofu allows users to generate a detailed execution plan (opentofu plan) before applying any changes. This helps prevent unexpected infrastructure modifications by giving teams full visibility into what changes will be made before they are applied.
Resource Graph:
OpenTofu builds a dependency graph of your resources, allowing it to determine the correct order for creating, updating, or deleting them. This automatic ordering ensures efficient infrastructure provisioning.
Modular Infrastructure & Reusability:
OpenTofu supports reusable modules, enabling developers to encapsulate and share standardized infrastructure components. This encourages the DRY (D
Using OpenTofu is straightforward, with a set of core commands that follow a clear workflow for managing infrastructure. Whether you’re running OpenTofu directly or through a CI/CD pipeline like Harness IaCM, these commands form the backbone of your IaC operations:
opentofu init: The init command initializes your working directory. This sets up your configuration files and prepares your environment for running other OpenTofu commands.
opentofu plan: Before applying changes, plan generates a detailed execution plan, showing what changes will be made to your infrastructure. This step ensures that you review changes before implementing them.
opentofu apply: The apply command carries out the changes defined in your configuration. Once you’ve reviewed the plan, apply makes the modifications to your infrastructure, whether it’s creating resources, updating them, or deleting them.
opentofu destroy: The destroy command is used to clean up resources. When you no longer need infrastructure, destroy will tear it down, ensuring you avoid unnecessary costs or complexity.
opentofu validate: Before running a plan or apply, it’s good practice to use validate to check your configuration for syntax errors or inconsistencies. This helps catch issues early in the workflow.
opentofu state: The state command manages the state file, which tracks the current state of your infrastructure. You can use state to query, modify, or import resources into OpenTofu’s state file.
Here’s how these commands work in sequence:
For those using Harness IaCM, OpenTofu commands like init, plan, and apply are automatically executed within your pipelines. Harness ensures these commands run with the correct context and credentials, streamlining your IaC processes.
Checkout how this commands can be executed in sequence with Harness IaCM.
1. Is OpenTofu compatible with existing Terraform configurations?
Yes, OpenTofu is designed to be compatible with existing Terraform configurations and state files.
2. Can I use Terraform providers with OpenTofu?
Yes, OpenTofu can use existing Terraform providers.
3. How does OpenTofu handle state management?
OpenTofu uses the same state management system as Terraform, including support for remote state storage.
4. Is OpenTofu suitable for enterprise use?
Yes, OpenTofu is designed to be enterprise-ready, with features supporting large-scale infrastructure management.
5. How does the performance of OpenTofu compare to Terraform?
As OpenTofu is a direct fork of Terraform, its performance is generally similar.
By leveraging Harness IaCM alongside OpenTofu, teams can move beyond manual IaC management to a fully automated, governed, and scalable solution. This combination provides the tools needed for consistent, secure, and efficient infrastructure provisioning, all while maintaining the open-source flexibility that OpenTofu offers.
For more information on getting started with OpenTofu in Harness, check out Harness IaCM or join our on-demand webinar to learn how GitOps and OpenTofu are shaping the future of IaC.
OpenTofu, combined with tools like Harness IaCM, is the future of Infrastructure as Code. Whether you’re building infrastructure at scale or just getting started with IaC, the flexibility and community-driven innovation offered by OpenTofu make it a must-have tool. Start exploring how OpenTofu and Harness IaCM can transform your infrastructure management today.