Looking back just a few years ago, business networks were viewed by most as “dumb pipes” – merely a means to send data from one place to the next. The interfaces and tools used to manage networks, such as the command line interface (CLI), were focused on manual interactions of engineers – logging in, changing parameters, etc. 

Today’s networks need to be agile and scalable in order to deploy quickly, adapt to ever-changing requirements, and keep up with the other technologies they support. Dumb pipes and manual CLI efforts will no longer cut it.

Two critical components in this ongoing evolution of enterprise networks are automation and network programmability.

Enterprises look to automation to manage their network infrastructure through a central engine, and to programmability to replace manual interactions with software-based interfaces to automate their end-to-end networks. The right network architecture designed with high degrees of automation and network programmability leads to improved operational efficiency, faster time-to-market for new services and the ability to adapt to changing requirements.

Network programmability, in particular, helps enterprises adapt to emerging trends within IoT, cloud,  5G and edge computing. And the industry is fully embracing programmability. As more vendors move towards a controller-centric environment, enterprises are adopting controllers at scale. The vendor community is now providing equipment with programmable interfaces – an API to their network hardware. These programmable interfaces are becoming the de facto way to manage networks.

The role of APIs

Organizations deploying programmable networks need to follow an API-first approach. 

Network programmability uses software to deploy and manage various network elements and to take action based on business requests or network events.

In a programmable environment, APIs become the primary interface to the network. Standardized APIs increase re-usability and efficiency. When cloud providers like AWS began to offer standardized APIs for network capabilities, programmers could immediately use APIs to generate their network infrastructure, eliminating the manual-intensive efforts of creating and testing command line configurations.

With the evolution of APIs moving from cloud to networking infrastructure, new applications can be developed in a similar fashion to software code development. This “infrastructure as code” movement allows for a cleaner and faster automation of networking infrastructure — permitting software applications to program the network quickly.

In some ways, the software-defined networking (SDN) movement of the mid 2010s established the vision for today’s programmable networks. SDN has allowed for the creation of networks that are less complex to operate, but also more flexible and agile. 

At the same time, automation has become more centered on APIs. As network infrastructure continues to become more programmable and treated as software, organizations need to evolve their existing CLI-based automations with APIs. Rather than automate box-by-box or device-by-device, you can now talk to the API, and that API can talk to tens, hundreds or thousands of network elements. The thinking has shifted from automating box by box to “how do I automate through these APIs?”

With network programmability and automation, enterprises are able to automate tasks involved in configuring, managing, and operating network equipment, services, and connectivity. 

End-to-end Automation: No Programming Required

Enterprise network teams should identify tools available in the marketplace to help them create and expose APIs for existing non-API assets and CLIs. Doing so enables those teams to seamlessly integrate their existing automation efforts and transform scripts into APIs for use in end-to-end network automation workflows.

By bringing CLI-based infrastructure into today’s API-based infrastructure, enterprises are getting the most value out of their network automation efforts without the need to onboard new systems or rewrite scripts. This route enables teams to focus on building their end-to-end automations from the beginning instead of spending time building out their own API framework from scratch.

Reaping the benefits of programmable networks

Organizations evolving to programmable networks recognize several benefits including: cost savings, greater innovation, increased customization, and a reduction in both time-to-market and human error.

The rise of the programmable network creates opportunities for both app developers and network engineers. Previously, applications and infrastructure were built and designed in silos by separate teams. Now with programmable networks, teams gain the ability to collaborate and develop solutions that meet the changing needs of the business.

As noted earlier, the fast pace of digital transformation is demanding that networks become more agile and able to adapt to constant change — and programmable networks are fundamentally changing the way in which we build and manage our network architecture.