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 modulesLinux fundamentals to provide the foundation you need on your network automation journeyData formats and models: JSON, XML, YAML, and YANG for networkingJinja templating and its applicability for creating network device configurationsThe role of application programming interfaces (APIs) in network automationSource control with Git to manage code changes during the automation processHow Ansible, Salt, and StackStorm open source automation tools can be used to automate network devicesKey tools and technologies required for a Continuous Integration (CI) pipeline in network operations