Book description
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
Publisher resources
Table of contents
- Preface
- 1. Network Industry Trends
- 2. Network Automation
- 3. Linux
-
4. Learning Python in a Network Context
- Should Network Engineers Learn to Code?
- Using the Python Interactive Interpreter
- Understanding Python Data Types
- Adding Conditional Logic to Your Code
- Understanding Containment
- Using Loops in Python
- Using Python Functions
- Working with Files
- Creating Python Programs
- Working with Python Modules
- Passing Arguments into a Python Script
- Using pip and Installing Python Packages
- Learning Additional Tips, Tricks, and General Information When Using Python
- Summary
- 5. Data Formats and Data Models
- 6. Network Configuration Templates
- 7. Working with Network APIs
- 8. Source Control with Git
- 9. Automation Tools
- 10. Continuous Integration
- 11. Building a Culture for Network Automation
- A. Advanced Networking in Linux
- B. Using NAPALM
- Index
Product information
- Title: Network Programmability and Automation
- Author(s):
- Release date: February 2018
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491931318
You might also like
audiobook
The Design of Everyday Things
First, businesses discovered quality as a key competitive edge; next came science. Now, Donald A. Norman, …
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition
Through a recent series of breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Full Stack Testing
Testing is a critical discipline for any organization looking to deliver high-quality software. This practical book …