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
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
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up …
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Deciphering Data Architectures
Data fabric, data lakehouse, and data mesh have recently appeared as viable alternatives to the modern …
book
Fluent React
When it comes to building user interfaces on the web, React enables web developers to unlock …