Network engineers are finding it harder than ever to rely solely on manual processes to get their jobs done. New protocols, technologies, delivery models, and the need for businesses to become more agile and flexible have made network automation essential. The updated second edition of this practical guide shows network engineers how to use a range of technologies and tools, including Linux, Python, APIs, and Git, to automate systems through code. This edition also includes brand new topics such as network development environments, cloud, programming with Go, and a reference network automation architecture.
Network Programmability and Automation will help you automate 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.
- Programming skills with Python and Go: data types, conditionals, loops, functions, and more
- How to work with Linux-based systems, the foundation for modern networking and cloud platforms
- Data formats and models: JSON, XML, YAML, and YANG
- Jinja templating 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
- Cloud-native technologies like Docker and Kubernetes
- How to automate network devices and services using Ansible, Salt, and Terraform
- Tools and technologies for developing and continuously integrating network automation