Network Programmability and Automation: Skills for the Next-Generation Network Engineer

Jason Edelman, Scott S. Lowe, Matt Oswalt



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





- Python程式設計基礎:資料類型、條件語句、迴圈、函數、類和模組
- Linux基礎知識,為您在網路自動化之旅中提供基礎
- 資料格式和模型:JSON、XML、YAML和YANG用於網路
- Jinja模板及其在創建網路設備配置方面的應用性
- 應用程式編程介面(API)在網路自動化中的角色
- 使用Git進行源代碼控制,以在自動化過程中管理代碼變更
- 如何使用Ansible、Salt和StackStorm等開源自動化工具來自動化網路設備
- 網路運營中連續整合(CI)流程所需的關鍵工具和技術