Automation changes job functions. It changes processes. It changes company culture.
It is no different in networking. Taking what has traditionally been a manual discipline, and applying automation.
This is the foundation for automation in networking.
What is Network Automation?
Network automation is the automation of routine or repetitive tasks within networking. Automating and replicating one-off scripts for routers and servers. Automation is an important process to bring networking functions into the DevOps team.
Like most forms of automation, the goal is to become more efficient, consistent and deliver better results. The same is true in networking.
The shift to automation is an integral part of the DevOps mindset. It takes its place in the infrastructure as code discipline, which is focused on using code to manipulate processes, hardware, and servers.
Automation in networking is born.
What Makes Network Automation Possible?
Automation in networking is possible for three reasons.
- Generic routing switches
- Software defined networking (SDN)
- Infrastructure as Code
Making routers generic is what makes SDN possible. The result was the separation of hardware and software. An example from other tech spaces is hardware and operating system separation in personal computers and mobile devices.
It took some time, but the same change is occurring in networking.
Generic Routing Switches
The first fundamental piece of the networking puzzle is the commodification of hardware. This means switches have to be manufactured so you could write any code on top of them. That means no proprietary software needed to run on hardware. Open source.
This occurred with the introduction of routing switches from Aruba Networks, HP, NoviFlow, and Juniper Networks. As a response to this shift, Cisco is also making generic routing switches.
Generic switches come with the ability to separate hardware from software. This provides the foundation for software defined networking.
Software Defined Networking
Once software could control routing switches, there was the emergence of software defined networking. This is the second core principle that has made networking automation possible.
Software defined networking controls the three separated network layers:
- Management plane
- Control plane
- Data plane
The separation of these layers is what makes controlling routers and network switches with software possible. A popular open source software that makes this possible is OpenFlow. OpenFlow provides the ability to write new routing protocols.
With any new process, there needs to be a mindset change to go with it. This is where infrastructure as code begins. A fundamental reason DevOps works.
Infrastructure as Code
The last concept in making networking automation work is infrastructure as code. This is the principle, adopted by DevOps, that makes controlling processes and servers possible.
Infrastructure as code is not just about writing scripts to make servers behave the way you like. Infrastructure as code is using software development standards and testing techniques, and applying them to coding servers and infrastructure.
The goal is to replicate and scale networking protocols across the entire network. This eliminates repetitive tasks, one-off scripts, as well as prevents “fat fingers”.
Why You Need Network Automation
This brings us back to automation.
Why do you need network automation?
You need automation in networking for the following reasons:
- Prevent fat fingers
- Eliminate repetitive tasks
- Reproduce and dispose of things
- Deliver code
These are the core reasons to adopt networking automation. Not to mention it will make your life easier. To adopt networking automation, there needs to be a mindset shift. One towards NetDevOps.
NetDevOps is the organizational shift to bring a DevOps mindset to networking and bring networking into the DevOps team.
The foundation is establishing the same principles the development team and operations team are using in networking. This way, the networking team can integrate seamlessly into the DevOps team.
Automation is a common goal of DevOps and NetDevOps, and the benefits are significant.
Automation is possible due to generic hardware, SDN, and infrastructure as code. Now it takes the NetDevOps cultural shift to apply automation to networking.
To learn more about DevOps networking, download the DevOps Networking Terms eBook.