Transformation 101 - What is Automation, Anyway?
What Is Automation, Anyway?
If you work in, near, around, or in reasonable proximity to IT, you’re probably hearing a lot about automation. More than that, you’re probably hearing that your business needs automation, and you might be wondering—what is automation, anyway?
The basic concept is simple: using a system to carry out instructions to replace manual work. But let’s get a bit more specific and look at what we mean when we talk about automation—and how it’s implemented with Ansible.
What Concepts Are Unique to Automation?
What makes automation wonderful is that it brings some unique concepts to your organization that impact both technically and culturally.
Simple / Readable
One of the biggest wins of automation is its ability to democratize complex workflows. Tools like Ansible focus on using YAML, a meta-language that’s approachable and human-readable, even to those outside of traditional engineering roles. Unlike tools that rely on full-blown programming languages like Ruby, Ansible makes automation understandable.
Yes—things can get complex. But Ansible provides mechanisms (like roles, plugins, and custom modules) to hide that complexity under the hood, so your playbooks remain clean and maintainable.
Automation Is Not Code
This is a mindset shift. In programming, we often think in IF/THEN/ELSE logic, line-by-line execution, and traditional loops. Automation—especially with Ansible—is about defining a desired state. You don’t tell the system how to do everything step-by-step; you describe what the end result should look like, and let the automation tool figure out how to get there.
Repeatable
Once something is automated, it’s not just done faster—it’s done the same way, every time. That consistency is huge for operations, compliance, and reliability. If someone leaves the team, the knowledge doesn’t leave with them—it’s captured in the playbooks.
Desired State
This bears repeating: you declare what the environment should look like. Whether you’re configuring a server, deploying an app, or spinning up infrastructure, Ansible focuses on convergence—getting the target system to match the declared state, no matter where it’s starting from.
The Difference Between Automation and Configuration Management
This one trips people up a lot. Configuration management is a subset of automation. It deals specifically with managing system settings, software, files, users, and so on—usually at the OS level.
Automation is broader. It can include provisioning infrastructure, orchestrating complex workflows, integrating systems, kicking off tests, updating tickets, or anything else that can be triggered and executed predictably. So while configuration management is a key pillar of automation, true automation spans much more than just managing configs.
What Can Automation Do?
Short answer: a lot. Here are some of the things automation can handle:
- Provisioning: Spin up infrastructure across clouds or on-prem
- Configuration: Install software, manage services, enforce settings
- Orchestration: Coordinate actions across multiple systems or environments
- Application Deployment: Push code, roll back if needed, manage deployments across environments
- Compliance Enforcement: Ensure systems follow policy and security guidelines
- Monitoring and Alert Remediation: Respond to known issues automatically (e.g., restart services, free up disk space, etc.)
- CI/CD Integration: Link your automation to your development pipelines for seamless, automated delivery
What Can’t Automation Do?
Despite the hype, automation isn’t magic. It can’t:
- Fix broken processes: Automating a bad process just makes the bad happen faster.
- Handle ambiguity: Automation needs clarity. If your workflow has a lot of “it depends,” human intervention is probably still needed.
- Think: Automation follows instructions. It doesn’t make decisions unless you explicitly design it to.
- Replace human judgment: Critical thinking, troubleshooting, creative problem-solving—these remain firmly human strengths (at least for now).
Automation is a tool, not a silver bullet. It works best when paired with thoughtful planning and clear intent.
How Do We Define Automation for Our Company?
Here’s where the rubber meets the road. I always include this slide in my AnsibleFest talks and webinars: Define Automation. Because “automation” means different things to different companies at different stages of their journey.
Does “automated” mean:
- It runs without human intervention?
- It uses Ansible (or another specific tool)?
- It’s integrated into CI/CD pipelines?
- It’s consistent across all environments—dev, staging, production?
- It’s monitored and self-healing?
You need to sit down—cross-functionally—and define what “automated” actually means for your business. Start simple. For example: “An action is automated if it can be triggered by a playbook and requires no manual steps.” That’s enough to get buy-in and alignment. Then evolve the definition as your automation maturity grows.
But the key is: define it. And make sure leadership is on board with that definition—otherwise, you’ll have five teams pulling in ten directions, all thinking they’re “doing automation.”