Finding Excuses to Avoid Network Automation

Every time I write about network automation in enterprise environments I get the usual set of excuses including:

Some of the environments I am looking at have around 2000-3000 devices and 6-7 vendors for various functions and 15-20 different device platform from those vendors. I am trying to understand what all environments can Ansible scale up to and what would be an ideal environment enterprises should be looking at more enterprise grade automation/orchestration platforms while keeping in mind that platform allows extensibility.

Luckily I didn’t have to write a response – one of the readers did an excellent job:

I turned up a private cloud this weekend using Ansible by myself. 160 subnets, 30 devices, 1,500+ lines of configuration. Not a massive build, but I can scale as needed. You just have to have the right pieces in place. I work for a very large enterprise; no startup sauce around here.

You're trying to boil the ocean. Our data centers are large-scale as well, and I'd never get anything done if I worried about automating the whole blasted thing. Using that as an excuse for an enterprise to not adopt automation is like saying you won't adopt cloud because you still need bare-metal workloads. It's an asinine argument at best.

Out of your 3K devices that you manage each day, do you find things that you do over, and over, and over again? Cool, automate it. Ansible doesn't support that platform? Learn how to use telnetlib and Paramiko (as an aside, 90% of my tasks were in templates which are universal). Ansible doesn't have a module to do x, y, and z? Even better, write a [python/c/java/go/pascal] module to perform the task, and use Ansible to call it over a list of hosts.

This isn't about Ansible or any other automation tool. It's about your perception on how you do your job. It's about scaling yourself as a network engineer. I'm not going to waste my time trying to write scripts for a one-off build. But if something comes across my desk that is repeatable or needs to be absolutely consistent, it needs to be done with software.

It’s amazing how many small annoyances could be easily (and quickly) solved if only you’d know where to start. We’ll solve at least a half-dozen of them in just one of the sections of the Building Network Automation Solutions online course.

Oh, and if you want to know large enterprises build data centers with Ansible, register for the April 2016 data center course in which Thomas Wacker from UBS will describe how UBS deploys new data centers.


  1. Using the excellent Netmiko Python library, you can even save some steps and avoid working directly with telnetlib and Paramiko.
Add comment