This blog post was initially sent to subscribers of my SDN and Network Automation mailing list. Subscribe here.
One of my readers asked a very valid question when reading the Why Is Network Automation So Hard blog post:
Why was network automation 'invented' now? I have been working in the system development engineering for 13+ years and we have always used automation because we wanted to save time & effort for repeatable tasks.
As always (as Russ White would say) it comes down to whether you run your network because it’s bringing you money – in which case you might do whatever it takes to make it bring in more money – or because you have to – in which case you’ll cut the costs as much as possible. That explains why most enterprises never considered automation. Service providers should have fared better, but many of them evolved from traditional voice operators running static services that barely needed automating.
- Networks became mission-critical, and the management didn’t trust us to get automation right;
- We built unique snowflakes that were impossible to automate without heavy customization;
- Core network devices have humongous blast radius;
- We lacked programming skills, proper software development processes and procedures, and affordable test environment;
- Finally, it was hard to work with network device CLI (more about that at some later time).
What has changed in the last few years?
- The SDN brouhaha forced vendors to give an appearance of becoming “software defined”, so most of them came up with something resembling a REST API (there were notable exceptions like Junos that had a good API from day one).
- Engineers who figured out that SDN means Still Does Nothing started thinking about network automation as SDN Lite thingy that could actually make their lives better;
- A lot of us started evangelizing the need for automation, which might have shifted the mindset a bit;
- Cloud happened for real – and once an organization starts deploying their workload in the cloud, you can either get your **** together and deliver services in reasonable time, or become obsolete.
Agree? Disagree? Please write a comment.