Book description
Network engineers are finding it harder than ever to rely solely on manual processes to get their jobs done. New protocols, technologies, delivery models, and the need for businesses to become more agile and flexible have made network automation essential. The updated second edition of this practical guide shows network engineers how to use a range of technologies and tools, including Linux, Python, APIs, and Git, to automate systems through code. This edition also includes brand new topics such as network development environments, cloud, programming with Go, and a reference network automation architecture.
Network Programmability and Automation will help you automate 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.
You'll learn:
- Programming skills with Python and Go: data types, conditionals, loops, functions, and more
- New Linux-based networking technologies and cloud native environments, and how to use them to bootstrap development environments for your network projects
- Data formats and models: JSON, XML, YAML, Protobuf, and YANG
- Jinja templating for creating network device configurations
- A holistic approach to architecting network automation services
- The role of application programming interfaces (APIs) in network automation
- Source control with Git to manage code changes during the automation process
- Cloud-native technologies like Docker and Kubernetes
- How to automate network devices and services using Ansible, Nornir, and Terraform
- Tools and technologies for developing and continuously integrating network automation
Publisher resources
Table of contents
- Preface
- 1. Network Industry Trends
- 2. Network Automation
- 3. Linux
- 4. Cloud
- 5. Network Developer Environments
-
6. Python
- 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
- Understanding Python Classes
- Embracing Failure with try/except
- Parallelizing Your Python Programs
- Summary
- 7. Go
- 8. Data Formats and Models
- 9. Templates
- 10. Working with Network APIs
-
11. Source Control with Git
- Use Cases for Source Control
- Benefits of Source Control
- Benefits of Source Control for Networking
- Enter Git
-
Working with Git
- Installing Git
- Creating a Repository
- Adding Files to a Repository
- Committing Changes to a Repository
- Changing and Committing Tracked Files
- Unstaging Files
- Excluding Files from a Repository
- Viewing More Information About a Repository
- Distilling Differences Between Versions of Files
- Tagging Commits in Git
- Branching in Git
- Collaborating with Git
- Summary
- 12. Automation Tools
- 13. Continuous Integration
- 14. Network Automation Architecture
- Index
- About the Authors
Product information
- Title: Network Programmability and Automation, 2nd Edition
- Author(s):
- Release date: August 2023
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098110833
You might also like
book
Network Programmability and Automation
Like sysadmins before them, network engineers are finding that they cannot do their work manually anymore. …
video
CompTIA Security+ SY0-701
27+ Hours of Video Instruction Get the edge you need to successfully study for the CompTIA …
video
CCNA 200-301
More Than 16 Hours of Video Instruction Overview CCNA 200-301 Complete Video Course is a comprehensive …
book
Networking Fundamentals
Become well-versed with basic networking concepts such as routing, switching, and subnetting, and prepare for the …