Mastering Python Networking: Your one-stop solution to using Python for network automation, DevOps, and Test-Driven Development, 2nd Edition
Master the art of using Python for a diverse range of network engineering tasks
- Explore the power of Python libraries to tackle difficult network problems efficiently and effectively
- Use Python for network device automation, DevOps, and software-defined networking
- Become an expert in implementing advanced network-related tasks with Python
Networks in your infrastructure set the foundation for how your application can be deployed, maintained, and serviced. Python is the ideal language for network engineers to explore tools that were previously available to systems engineers and application developers. In this second edition of Mastering Python Networking, you’ll embark on a Python-based journey to transition from traditional network engineers to network developers ready for the next-generation of networks.
This book begins by reviewing the basics of Python and teaches you how Python can interact with both legacy and API-enabled network devices. As you make your way through the chapters, you will then learn to leverage high-level Python packages and frameworks to perform network engineering tasks for automation, monitoring, management, and enhanced security. In the concluding chapters, you will use Jenkins for continuous network integration as well as testing tools to verify your network.
By the end of this book, you will be able to perform all networking tasks with ease using Python.
What you will learn
- Use Python libraries to interact with your network
- Integrate Ansible 2.5 using Python to control Cisco, Juniper, and Arista eAPI network devices
- Leverage existing frameworks to construct high-level APIs
- Learn how to build virtual networks in the AWS Cloud
- Understand how Jenkins can be used to automatically deploy changes in your network
- Use PyTest and Unittest for Test-Driven Network Development
Who this book is for
Mastering Python Networking is for network engineers and programmers who want to use Python for networking. Basic familiarity with Python programming and networking-related concepts such as Transmission Control Protocol/Internet Protocol (TCP/IP) will be useful.
Table of Contents
Chapter 1 Review of TCP/IP Protocol Suite and Python
Chapter 2 Low-Level Network Device Interactions
Chapter 3 API and Intent-Driven Networking
Chapter 4 The Python Automation Framework - Ansible Basics
Chapter 5 The Python Automation Framework - Beyond Basics
Chapter 6 Network Security with Python
Chapter 7 Network Monitoring with Python - Part 1
Chapter 8 Network Monitoring with Python - Part 2
Chapter 9 Building Network Web Services with Python
Chapter 10 AWS Cloud Networking
Chapter 11 Working with Git
Chapter 12 Continuous Integration with Jenkins
Chapter 13 Test Driven Development for Networks