Master the art of using Python for a diverse range of network engineering tasks
Key FeaturesExplore the power of Python libraries to tackle difficult network problems efficiently and effectivelyUse Python for network device automation, DevOps, and software-defined networkingBecome an expert in implementing advanced network-related tasks with PythonBook DescriptionNetworks 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 learnUse Python libraries to interact with your networkIntegrate Ansible 2.5 using Python to control Cisco, Juniper, and Arista eAPI network devicesLeverage existing frameworks to construct high-level APIsLearn how to build virtual networks in the AWS CloudUnderstand how Jenkins can be used to automatically deploy changes in your networkUse PyTest and Unittest for Test-Driven Network DevelopmentWho this book is forMastering 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 ContentsReview of TCP/IP Protocol Suite and PythonLow-Level Network Device InteractionsAPI and Intent-Driven NetworkingThe Python Automation Framework - Ansible BasicsThe Python Automation Framework - Beyond BasicsNetwork Security with PythonNetwork Monitoring with Python - Part 1Network Monitoring with Python - Part 2Building Network Web Services with PythonAWS Cloud NetworkingWorking with GitContinuous Integration with JenkinsTest Driven Development for Networks