Like sysadmins before them, network engineers are finding that they cannot do their work manually anymore. As the field faces new protocols, technologies, delivery models, and a pressing need for businesses to be more agile and flexible, network automation is becoming essential. This practical guide shows network engineers how to use a range of technologies and tools-including Linux, Python, JSON, and XML-to automate their systems through code.
Network programming and automation will help you simplify tasks involved in configuring, managing, and operating network equipment, topologies, services, and connectivity. Through the course of the book, you'll learn the basic skills and tools you need to make this critical transition.
This book covers:
Python programming basics: data types, conditionals, loops, functions, classes, and modules
Linux fundamentals to provide the foundation you need on your network automation journey
Data formats and models: JSON, XML, YAML, and YANG for networking
Jinja templating and its applicability for creating network device configurations
The role of application programming interfaces (APIs) in network automation
Source control with Git to manage code changes during the automation process
How Ansible, Salt, and StackStorm open source automation tools can be used to automate network devices
Key tools and technologies required for a Continuous Integration (CI) pipeline in network operations