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

Why Most IaC Strategies Still Fail — And How To Fix Them

Infrastructure as Code offers a compelling vision for solving the chaos of cloud ops, but in practice many organizations remain tangled in complexity.
Apr 16th, 2025 3:00pm by
Featued image for: Why Most IaC Strategies Still Fail — And How To Fix Them
Featured image by Cagkan Sayin on Shutterstock.

Infrastructure as Code (IaC) was supposed to solve the chaos of cloud operations. It promised visibility, governance and the ability to scale infrastructure with confidence. But for many teams, the reality is far from ideal.

Instead of clarity and control, they’re dealing with conflicting tools, unmanaged assets, drifting configs and unpredictable processes.

Based on field experience and data gathered from Firefly users, there are four recurring reasons why IaC strategies break down — and more importantly, several practical ways to turn things around. Here’s a look at the most common pitfalls holding teams back, along with tested practices that can bring control and consistency back to cloud operations.

The IaC Dream vs. the Day-to-Day Grind

IaC offers a compelling vision: consistent environments, automated deployments and audit-ready configurations. In practice, though, many organizations find themselves tangled in complexity. Competing tools, inconsistent practices and misaligned teams erode the potential benefits. Rather than delivering clarity, IaC often becomes yet another source of operational overhead.

There are a few common reasons IaC strategies fail in practice. Let’s explore what they are, and dive into some practical, battle-tested fixes to help teams regain control, improve consistency and deliver on the original promise of IaC.

The Top 4 Reasons IaC Falls Apart

1. No Clear Strategy

Many teams begin adopting IaC without aligning on a clear strategy. Moving from legacy infrastructure to codified systems is a positive step — but without answers to key questions, the foundation is shaky.

The common questions include:

  • What environments are being codified — production only? Or everything, including development and staging?
  • How is state being managed — self-hosted or cloud native?
  • Which standards are being enforced across regions and teams?

These are just some examples that, when predefined and addressed early in your IaC strategy, can save a lot of technical debt and friction in the long term.

Without a unified direction, fragmentation sets in. Teams often get locked into incompatible tooling — some using AWS CloudFormation for perceived enterprise alignment, others favoring Terraform for its flexibility. These tool silos quickly become barriers to collaboration.

Unmanaged assets are another major issue. Legacy resources created through “ClickOps” or abandoned IaC experiments still live in the environment, often outside version control. Without a plan to either codify or decommission them, these leftovers remain risky unknowns. Solutions like Firefly help identify and convert these unmanaged resources into Terraform, Pulumi or Helm — but having a strategy in place is essential for determining what resources to include and how to govern them in the long term.

2. Overlooking the Human Element

IaC is as much a cultural shift as a technical one. Teams often struggle when tools are adopted without considering existing skills and habits. A squad familiar with Terraform might thrive, while others spend hours troubleshooting unfamiliar workflows. The result: knowledge silos, uneven adoption and frustration.

Resistance to change also plays a role. Some engineers may prefer to stick with familiar interfaces and manual operations, viewing IaC as an unnecessary complication. Meanwhile, other teams might be fully invested in reusable modules and automated pipelines, leading to fractured workflows and collaboration breakdowns.

Successful IaC implementation requires building skills, bridging silos and addressing resistance with empathy and training — not just tooling. To close the gap, teams need clear onboarding plans, shared coding standards and champions who can guide others through real-world usage — not just theory.

3. Security Missteps

IaC’s repeatability is a double-edged sword. A misconfigured resource — like a public S3 bucket — can quickly scale into a widespread security risk if not caught early. Small oversights in code become large attack surfaces when applied across multiple environments.

This makes proactive security gating essential. Integrating policy checks into CI/CD pipelines ensures risky code doesn’t reach production. An example is Firefly’s Event Center, which monitors for out-of-band changes made directly in the console that bypass code reviews and leave systems vulnerable. Without automated enforcement, teams risk exposing sensitive data and violating compliance requirements.

4. Treating IaC as a One-Time Project

IaC is not a set-it-and-forget-it exercise. Infrastructure evolves constantly, and IaC must evolve with it. Without a plan for continuous improvement, documentation grows outdated, modules fall behind on best practices and configuration drift becomes unmanageable.

Drift is inevitable: manual changes, rushed fixes and one-off permissions often leave code and reality out of sync. Without visibility into those deviations, troubleshooting becomes guesswork. It’s wise to use a tool that detects drift, compares actual configurations to source code and offers automated fixes — but it’s up to teams to prioritize remediation and enforce process discipline.

Tooling alone won’t solve the problem; continuous improvement needs to be part of the team’s operational culture.

Practical Fixes That Work

Several proven practices can help restore order to IaC operations:

1. Use the pipeline. Avoid making changes outside of the IaC pipeline. Manual updates may seem faster, but they bypass testing, compliance and review processes — often leading to outages or costly mistakes. Once a pipeline is built, commit to it.

2. Treat infrastructure like real code. IaC should follow the same principles as application development: version control, code reviews, automated testing and gating. For example, Firefly’s Workflows provide insights into tagging gaps, security risks and cost issues before deployment — helping teams catch problems early.

3. Monitor and remediate drift. Drift is a sign of misalignment between declared infrastructure and actual resources. Automated drift detection and remediation prevent silent misconfigurations from snowballing into incidents.

4. Shift left — on everything. From security checks to cost controls, early validation is key. Tagging enforcement, compliance scanning and budget monitoring should happen in development, not production. This “shift-left” mindset minimizes risk and improves developer velocity.

5. Standardize with modules. Centralized, reusable modules provide consistency across environments and reduce the effort required to build and maintain infrastructure. Prioritize using a tool that supports multi-IaC environments, making it easier to create and reuse modules across Terraform, Pulumi and Helm setups.

6. Track IaC coverage. Understanding what’s managed through code, what’s drifted and what remains unmanaged is vital. For example, Firefly’s inventory maps out coverage and monitors for ClickOps activity, helping teams enforce discipline and reduce cloud sprawl.

What Success Looks Like

An effective IaC strategy isn’t about perfection — it’s about clarity, alignment and iteration. The most successful teams:

  • Use shared modules to reduce duplication and ensure compliance.
  • Avoid manual changes by enforcing IaC-first pipelines.
  • Detect and remediate drift continuously.
  • Codify all infrastructure — including legacy resources — using tools that support reverse engineering.
  • Monitor adoption, activity and gaps to drive accountability.

Level up Your IaC Strategy

IaC can still deliver on its original promise — but only with the right foundation. Strategy, culture, security and iteration must all come together to build systems that are consistent, compliant and scalable. This requires more than writing templates; it demands cross-team coordination, clearly defined workflows and automated feedback loops that catch misconfigurations and drift early. Teams need shared modules, standardized practices and guardrails embedded into the development lifecycle — not just code reviews after the fact.

Codifying existing infrastructure, handling legacy workloads and detecting gaps between intended and actual state are all part of the real work. For organizations serious about scaling IaC, platforms like Firefly provide the visibility and automation needed to bring unmanaged resources under control, close the loop on drift and enforce policy without blocking velocity. It’s not about chasing perfection — it’s about building reliable infrastructure that evolves with your cloud.

For more insight, watch TNS’s on-demand webinar featuring Firefly’s Gal Gibli, Why Your IaC Strategy Still Sucks in 2025.

GroupCreated with Sketch.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
close