Skills for the Next-Generation Network Engineer
Matt Oswalt, Christian Adell, Scott S. Lowe, and Jason Edelman
Network#
Linux#
Python#
JSON#
XML#
YAML#
YANG#
APIs#
Git#
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:
Table of Contents
Chapter 1. Network Industry Trends
Chapter 2. Network Automation
Chapter 3. Linux
Chapter 4. Cloud
Chapter 5. Network Developer Environments
Chapter 6. Python
Chapter 7. Go
Chapter 8. Data Formats and Models
Chapter 9. Templates
Chapter 10. Working with Network APls
Chapter 11. Source Control with Git
Chapter 12. Automation Tools
Chapter 13. Continuous Integration
Chapter 14. Network Automation Architecture
Welcome to Network Programmability and Automation!
The networking industry is changing dramatically. The drive for organizations and networking professionals to embrace the ideas and concepts of network programmability and automation is greater now than perhaps it has ever been, fueled by a revolution in new protocols, new technologies, new delivery models, and a need for businesses to be more agile and more flexible in order to compete. But what is network programmability and automation? Let’s start this book by answering that question.
What This Book Covers
As its title indicates, this book is focused on network programmability and automation. At its core, network programmability and automation is about simplifying the tasks involved in configuring, managing, and operating network equipment, network topologies, network services, and network connectivity.
Many, many components are involved—including operating systems that are now seeing far broader use in networking than in the past, new methodologies like continuous integration, and tools that formerly might have fallen only in the realm of the system administrator (tools like source code control and configuration management systems). Because all of these play a part in the core definition of network programmability and automation, we cover all these topics. Our goal for this book is to enable you to establish a foundation of knowledge around network programmability and automation.
How This Book Is Organized
This book isn’t necessarily intended to be read from start to end; instead, we’ve broken up the topics so that you can easily find the content that most interests you. You may find it useful to start out sequentially reading the first three chapters, as they provide background information and set the stage for the rest of the book. From there, you’re welcome to jump to whatever topics are most useful or interesting to you.
We’ve tried to keep the chapters relatively standalone, but—as with any technology—that’s not always possible. Wherever we can, we provide cross-references to help you find the information you need.
Matt Oswalt is a Network Software Developer, currently focusing on the intersection of software development and network infrastructure. He publishes his work in this area and more at oswalt.dev, and on Twitter as @Mierdin.
Christian Adell is a network software engineer who has played different roles in networking and systems automation, and is currently working as Principal Architect at Network to Code. Early in his career, Christian focused on network operations and architecture, and from there, he adopted the DevOps mindset, and started using the software development best practices to create, and run, network automation solutions and services. This journey brought him from the national broadcaster in Catalonia, to global companies like Schibsted and Cisco, before joining Network to Code in 2020. For more than 20 years, since graduating with degrees in computer and telecommunication engineering from several universities, he's been teaching networking related subjects at those same universities. Learning and sharing knowledge and experiences are some of his passions, so you can find him at multiple conferences, and on Twitter at @chadell0.
Scott Lowe works as an engineering architect for VMware, Inc. He focuses on cloud computing and network virtualization, after having spent a number of years specializing in compute virtualization. Scott's the author of several technical books on topics like VMware vSphere and OpenStack.
Jason Edelman is the Founder & CTO at Network to Code, a leading network automation solutions provider. Jason founded Network to Code in late 2014. Observing how DevOps was radically changing the IT operational models for systems administrators and developers, Jason saw an opportunity to combine existing technologies from the worlds of DevOps and software development within the networking infrastructure domain to create holistic network automation solutions. Prior to Network to Code, Jason spent a career in technical sales at Presidio, BlueWater, and Cisco developing and architecting network solutions. He is a former CCIE and has a B.E. in Computer Engineering from Stevens Institute of Technology. You can find Jason on Twitter at @jedelman8.