DevOps for networking: What the future looks like
© Shutterstock / valeriiaarnaud
Can incorporating networking in the DevOps culture boost your organization’s growth? DevOps solution architect and Packt author, Steven Armstrong, certainly believes so. Here’s what DevOps engineers need to be learning to get ahead.
Can incorporating networking in the DevOps culture boost your organization’s growth? DevOps solution architect and Packt author, Steven Armstrong, certainly believes so. In his book, ‘DevOps for Networking’, Armstrong explores the fundamentals of DevOps in networking and how to improve DevOps processes and workflows by providing automation in your organization’s network.
We asked him a few questions about the future of DevOps in networking and what DevOps engineers need to be learning to get ahead.
What does the future look like for DevOps in networking?
The future for DevOps in networking is the network being intent-based. Companies like Apstra have now emerged, and the Apstra model means that network architects can define a network blueprint and then push that blueprint of intent to devices without having to code each switch individually.
This enables them to build a leaf-spine architecture or any network design of their choice and focus on the intent of the whole network. Using intent-based networking, a network architect can essentially say, “I want this network design” and it programs all the target switches with that intent. If updates need to be made to that design at a later date, then it will automatically converge via the network blueprint. This is the future in the private cloud for building data centers as it abstracts away the day to day management of each switch.
Container networking is also very prominent now, and open source projects such as Calico, which can run in the private and public cloud alongside Kubernetes, allow simplified container network architectures using network friendly principles to be adopted rather than complex overlay networks.
On the load balancing side, we are seeing application-centric software load balancers such as Avi networks come to prominence with their built-in analytics and ability to scale out based on throughput. The main takeaway is that we are seeing networks built for automation with developer-friendly APIs that can be used for DevOps.
What key tools/languages should DevOps engineers know to successfully bring DevOps into networking?
Engineers need to know programming languages and be able to read and understand code. Python and knowledge of Jinja templates and YAML are helpful. Configuration management tools such as Ansible are commonly used to control network operations so I would advise learning these tools. Source control management tools like Git are the standard for version control. Jenkins, Travis CI and Concourse CI are modern tools used for CI and CD build and deployment pipelines.