Automation at Scale: Lessons Learned from Multi-Tool Enterprises

 

The patch window is supposed to close at 2:00 AM. At 3:30, teams are still rolling systems back and trying to restore service. Linux says its Ansible job finished on time against the inventory it was given. Ops says an exclusion list changed before midnight, but the scheduler used an older target set. Middleware says a Puppet remediation job kicked in after patching and flipped the package state on a subset of hosts. Nobody is arguing that the automation ran.

The argument is about which execution path had authority when those workflows overlapped.

If that sounds familiar, it should.

This is what large enterprises look like after years of growth and compromise. Your first automation effort was built with Puppet. Later efforts replaced legacy scripts with Ansible. Platform engineering adds pipeline jobs, and a few "temporary" scripts become permanent because they work and nobody wants to touch them during a freeze.

You can treat each failure as a one-off, but that gets expensive in a hurry. The same breakpoints keep showing up under different labels. Once teams clearly name those breakpoints, they can fix the operating model instead of replaying the same incident every quarter.

Previously: The Cost of Unmanaged Execution

In week one, I argued that forcing everything onto one toolchain is the wrong response to multi-tool sprawl. Most enterprises have useful automation spread across teams and tools because teams solve local problems with what fits their work. Trouble starts when those separate execution paths touch the same infrastructure without shared control over how changes run.

In week two, I put numbers on the impact: investigation tax, coordination tax and recovery overhead that stack up every time two well-intentioned workflows collide in a change window. That cost never shows up as a clean line item. It shows up as engineering hours spent reconstructing what happened instead of building what comes next. I ended there with a promise: next, we would look at the failure patterns that keep repeating in multi-tool environments and where scale usually breaks first.

That is what this week is about. We are not discussing solutions just yet. Instead, we'll focus on a familiar pattern: failure modes that recur regardless of the tools in use and that experienced teams learn to recognize before they trigger an incident.

Why the Right Script Can Still Hit the Wrong Outcome

At a large financial institution I worked with, a standard midweek maintenance script ran cleanly on the active production system and still caused problems. The issue was not the target selection. The issue was stale assumptions baked into the script: hostname conventions and system-specific details that were true in normal operation but wrong during failover conditions. Nothing "broke" in the script. It did exactly what it was told to do, just with assumptions that no longer matched reality.

That is the key detail. The disconnect happened before the first meaningful task was executed. If the review starts and ends with the playbook, you are looking at the wrong layer.

A Failed Run is Rarely Just One Bad Playbook or One Bad Manifest

Most bad runs are chains. A key copied to a jump host and then forgotten. A Puppet task that quietly depends on one package version. A target list exported from a spreadsheet that no longer matches the CMDB view another team used an hour earlier.

The symptom is usually small and visible. The cause is broad and hidden. Too much execution context lives outside the code, which is why a spotless playbook review can still miss the thing that hurts you in production.

Why Disciplined Enterprises Still End Up Multi-Tool

Large organizations rarely get to design a clean automation model from scratch. They inherit one. Acquisitions bring hard boundaries. Regulated teams keep separate workflows for good reasons. Cloud teams move faster than shared infrastructure teams, and regional teams keep the tooling that works within local constraints.

I have seen strong, disciplined teams with solid change control still end up running Ansible for app delivery, Puppet for long-lived configuration, CI jobs for release sequencing and scripts for awkward edge cases. That is not failure. It is what accumulated enterprise decisions look like in production.

So the wrong question is, "Why do we have so many tools?"

The useful question is, "Where does this mixed estate break under production pressure?"

The Four Breakpoints That Repeat Across Large Automation Estates

When you sit through enough postmortems, the same breakpoints show up no matter what the tool stack is.

  1. Human-owned execution paths: production runs depend on personal access, personal devices or ad hoc schedulers.
  2. Runtime mismatch: the automation content is fine, but runtime assumptions differ between execution environments.
  3. Fragmented targeting logic: inventories, tags and exception lists drift out of sync.
  4. Weak execution evidence: teams can prove a run happened, but cannot quickly reconstruct who ran what, where and under which approved scope.

You would be forgiven for thinking these are separate problems, but they tend to overlap. A human-owned run path hides runtime assumptions; targeting gets rebuilt on the fly. By the time something breaks, the evidence trail is already thin.

Shared keys, scripts on personal laptops, one-off bastions, and undocumented schedulers are so common that they have become a meme. Spend any time on social media as a techie, and you will see countless short videos satirizing such problems. Go to a tech meetup of a reasonable size, and there will be someone with an 'It works on my machine' t-shirt.

The memes make people laugh, but the reality is less funny, with real cost to the business and real stress on the teams. What makes matters worse is that it won't be just one machine. It will be a couple of the devs, in a couple of teams, following a fragile process, manually pulling down inventories and applying exceptions before each run.

When you rely on ad-hoc execution, you give yourself ad-hoc auditing. Logs will be spread across the systems used, and their exhaustiveness will be dependent on the settings of that particular workstation. When a job is run manually, the exact timing relies on memory, or if you are lucky, a collection of log files that show the start and end time of a job execution, and the localized output for any particular target. This means critical information is missing: the approved target set and whether the scope drifted between approval and execution. You don't have audit proof of who actually triggered it when multiple people had access. You have clues to the situation, but no definitive proof.

This matters especially if you get an external audit or an escalation. The compliance team is not going to be happy with "we think it happened like this"; they want clear and indisputable records. Anything short of that is the beginning of a long and uncomfortable conversation.

What Experienced Teams Change First

Teams that improve this do not start with a rewrite. They also do not start by forcing one authoring tool. They start by tightening runtime ownership, target selection and post-run evidence. That is where risk drops fastest without throwing away useful content.

In practice, it comes down to three blunt questions:

  • Can production automation run through a controlled path rather than whoever happens to have the keys?
  • Can targeting be defined once rather than rebuilt every maintenance window?
  • Can incident review start from trusted execution evidence instead of a scavenger hunt?

Govern the Run Path Before Reopening the Tooling Debate

This is where experienced teams separate sequence from ideology. Consolidation may still make sense later for supportability, training or cost. It is just not the first move that reduces day-two risk.

Before reopening the tooling debate, run one exercise.

Take your last three automation incidents and map each to one of four buckets: runtime issue, targeting issue, human-owned run path or evidence gap. You will quickly see whether you are fighting tool sprawl, execution ambiguity or both. You will also see why release windows slip, why audits become reconstruction projects and why too much operational confidence still sits with too few people.

The instinct to consolidate tools first is understandable. Next week's post makes the case that tool standardization and execution standardization are separate decisions, and getting the sequence wrong is where most multi-tool improvement efforts stall.

Assess Your Automation Governance Readiness

You do not need a new tool to start this diagnosis. A structured review of your last few incidents through that four-bucket lens is usually enough to show where the operating model is fragile.

The Automation Governance Readiness guide is a practical starting point for teams in multi-tool environments. It is structured so you can share results with architecture and platform leadership without having to rewrite everything for a different audience.

If you want to see what a governed execution model looks like in practice, request a Chef 360 trial.

This post is part of the Automation Without Rewrites series: on governing and scaling the automation you already have, without starting over.

 

Posted in:
Tags:

Kimball Johnson

Kimball Johnson is a Senior Product Marketing Manager at Progress and a seasoned DevOps practitioner with deep experience across modern infrastructure and cloud-native environments. He has built his career alongside engineers, operators, and product teams, tackling the real-world challenges of designing, building, and operating systems that must evolve without compromising reliability. Drawing on expertise in infrastructure, automation, platform engineering, and developer tooling, Kimball helps teams adopt practices tailored to their context, balancing technical rigor with sustainability, trust, and clear communication, while fostering open conversations about trade-offs, failure and continuous improvement.

Related Blogs

  • Why the Future of Automation Is Platform-Governed, Not Tool-Centric
    Read more

  • The Hidden Cost of Uncontrolled Automation Execution
    Read more

  • Govern at Scale and Make Automation Auditable and Predictable
    Read more

  • Modernize Automation Without Rip and Replace: How Chef 360 Can Help
    Read more