In this post, I will share my first impressions of a soon-to-be-published O’Reilly/Safari book by the title – “Network Programmability and Automation: Skills for the Next-Generation Network Engineer”. In all fairness to the authors, it is important to clarify that this is a review of the “Early Release – Raw & Unedited” edition of the book. The publisher’s website indicates a release date of November 2017. Despite the risk of premature judgment, I believe that the author’s goals in writing this book are both timely and important. And, I believe there are a number of reasons why this book deserves the attention of forward-thinking network professionals.

To properly set expectations, this review will not be an in-depth chapter by chapter review. This I will do when I have had an opportunity to read the 1st edition of the completed and published work. What I will do in this post is discuss the author’s motivations for writing on this particular subject at this particular point in time. I will also provide a perspective on the scope of subject matter that the authors have selected to write about in order to achieve their mission. And lastly, I will explain why I believe network professionals would do well to seriously consider what these authors have to say.

So, let’s begin with the book’s title.

What is – “network programmability and automation”?

Right at the outset, the author’s give us a definition of “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.”

This is an important first step because trendy tech-speak tends to quickly lose all meaning in the absence of a concrete and comprehensible definition. With this definition as a reference point, the book’s topical scope suddenly seems less arbitrary especially in light of the author’s ultimate goal as stated in their own words – “to enable readers to establish a foundation of knowledge around network programmability and automation”.

Ok, so who are these “readers”?

They are network engineers, system administrators and software developers. It’s probably obvious why the first two groups would be target audiences but software developers?!?…why are software developers a target audience? Well, if you think about it for more than a few minutes, it makes sense that software developers would be quite welcomed participants in a technology ecosystem that (going forward) is increasingly being defined by software and programmability.

And, much more is revealed about the author’s motivation by the book’s subtitle – “Skills for the Next-Generation Network Engineer”.

The authors envision a fundamental evolution of the skillset that has traditionally characterized network engineers. They advocate the idea that “automation” is the new and essential skillset defining the next-generation network engineer. And admittedly, the complexity of the modern enterprise, data center and WAN networks has steadily rendered manual methods and practices to be inefficient, ineffective, obsolete and ultimately – costly. Automation is therefore a necessity if not a strategic imperative for the organizations and networking professionals who “get it”.

What does it mean to have “automation” as a skillset?

This brings us to the second focal point of this post, namely a discussion of the topical scope of the book.

Not surprisingly, the very first chapter sets the stage for much that follows with a discussion of network industry trends. However, there is only one trend discussed – the rise of Software Defined Networking (SDN). It seems quite sensible to frame a discussion of network automation in the context of the disruption in networking caused by SDN. Here, the authors take care to identify technologies and trends commonly associated with SDN rather than merely defining SDN. So, this chapter includes a discussion of network automation, network functions virtualization (NFV), virtual switching, bare-metal switching, SD-WAN, data center network fabrics, device APIs and more in order to illustrate how all the pieces fit together. In their own words,

“Of these trends, the rest of the book will focus on network automation, APIs, and peripheral technologies that are critical in understanding how all of the pieces come together when using network devices that expose programmatic interfaces with modern automation tools and instrumentation.”

This sets the scope for the remainder of the book that incidentally kicks off with a chapter entitled – Network Automation. Here, high-level concepts that give meaning and rationale for network automation are discussed along with an exploration of various types of network automation. This high-level survey of network automation includes a discussion of common device APIs such as SNMP, CLI/SSH, NETCONF and RESTful APIs. Most interesting is a discussion of evolving the management plane from SNMP to Device APIs and the role of the Open Networking movement. Support for Python “on-box” and network devices that expose more of the Linux internals that were previously hidden from network operators are important discussion points here that also have dedicated chapters later in the book.

Thus, having “automation” as a network engineering skillset means consciously and purposefully acquiring competencies in a number of interrelated technologies that have a role in automating the software-defined future of the network, including:

  • Linux
  • Python in a Network Context
  • Data Formats and Data Models
  • Network Configuration Templates
  • Working with Network APIs
  • Source Control with Git
  • Automation Tools
  • Continuous Integration

Fortunately, each of the above topics corresponds to a dedicated chapter in the book. It is worth noting that many of these topics and technologies are likely to be familiar to software developers and perhaps sysadmins to a lesser extent. A similar level of familiarity is seemingly inevitable for the network engineer determined to have “automation” as a skillset.

What’s the key takeaway?

The authors of “Network Programmability and Automation” have a key message for the network engineer – that you have a wonderful opportunity ahead of you. Networks are changing, becoming ever more complex while also becoming ever more mission-critical for the organizations that deploy them. The future of networking is software-defined regardless of how one defines SDN or how SDN evolves going forward. And, network devices are also changing in a direction that will likely see more device APIs in the future rather than less. Enterprises require agility along with operational efficiency and zero downtime for the infrastructure supporting mission-critical applications and services. Network automation and programmability can enable network engineers to conquer the complexity of emerging network architectures by providing new skills, tools, methodologies and practices.

However, there is a mindset in the networking profession like most professions. And, to their considerable credit, the authors recognize that network programmability and automation aren’t only about technology. There is a cultural context within which new ideas eventually…sometimes painstakingly…displace long-established ideas and habits. Among the concluding chapters of the book is one entitled – “Building a Culture for Network Automation”. I believe one of the most important messages the authors have to share is that the concepts discussed in the book (the embrace of network automation) must be put into practice with the established cultural context of an organization. And, they offer some very wise advice for the next-generation network engineer who “gets it” and accepts the challenge of becoming a change agent whilst “leveling up” their technical skillset.

I believe that network professionals would do well to seriously consider what these authors have to say because they have a pioneering vision of what the software-defined future of networking looks like. And, they have a keen grasp of the skill sets that will characterize individuals charged with managing, monitoring, maintaining and evolving those networks in line with ever-changing operational and competitive dynamics.

Jason Edelman, Matthew Oswalt and Scott Lowe have taken on a timely and important topic and have done a masterful job of clearly articulating a call to action for forward-thinking network professionals everywhere.

Keep an eye out for the November 2017 release of the 1st Edition.

What a great time to be a networking professional!