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: 9781491931257
You might also like
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Fundamentals of Software Architecture
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …