Managing and configuring the network has always required direct human interaction through manual processes. Command Line Interfaces (CLI) were designed with this in mind, and they did a good job of abstracting the tremendous complexity that exists when configuring distributed networks. As more sophisticated multi-point services were introduced, such as virtual private networks (VPN) and MPLS-based offerings that traversed a larger number of discrete devices, the deficiencies in manual CLI configurations became obvious. Because the CLI was designed for human-to-machine interaction, it is not an effective interface for building automation that leverages machine-to-machine communications.
In an attempt to mimic a human interfacing with the CLI, scripting emerged, but it was inherently fragile given that scripts are based on a non-machine interface. For decades we continued to build network management and operations support system solutions on this fragile foundation of CLI and scripts.
As new technologies emerge additional network operation challenges arise. For example, IoT is introducing an exponential increase in the number of devices accessing the network. NFV is dynamically changing the nature of the network itself. And to fully realize 5G technologies, extending the data center to the network edge is required.
These challenges are especially troubling as the rest of the cloud (compute/storage) is accelerating in automation while the network continues to fall further behind. This lag in innovation is forcing the network itself to evolve in order to support digital transformation. The resulting modern network will allow us to not only move beyond the fragile practices of the past but to extend our capabilities and take full advantage of these emerging technologies, now and into the future.
The modern network is designed to enable automation, but it requires these core elements to be effective:
- Programmable first: The modern network enables programmability by interfacing via APIs instead of CLIs. The human interfaces via CLI may exist, but the priority is always API-first.
- Cloud-native: The modern network embraces true virtualization. These virtualized devices are designed from the bottom up as cloud-native, instead of virtualized components that were merely ports of the physical device code to run on a virtual machine.
- Embraces physical devices: The modern network understands that physical devices are critical and must be embraced as part of the virtual ecosystem. The same programmability should be expected even though each instance is not ephemeral. Flexible physical components will be key to support dynamic, distributed, and real-time network services.
- Application and service focused: The modern network starts with application and service models rather than underlying connectivity. Understanding the intent of a network request, which can be dynamically mapped to the network resource and configuration requirements, allows for self-service and an application-first mindset.
- Open and standardized: The modern network is open and based on standards (such as TOSCA and YANG) that allow communication across vendor tools and environments. This enables the network to scale up in a cost effective and timely manner. Consistent APIs based on open standards avoid vendor lock in and result in a future-proof network.
As technology domains shift to support agile-based methodologies, DevOps processes, and programmability it is imperative that the network undergoes this same transformative shift. It is crucial to embrace this new mindset focused on supporting digital transformation while providing the most flexible network infrastructure possible. New thought processes must be implemented that consider intent and focus on innovation and usability. Network operators must push their vendors to embrace this vision and provide network components and management tools with modern, standards-based APIs.
Lastly, it’s important to consider the way in which you will consume the modern network and its attributes. You must consider solutions that can federate the APIs presented by the network, controllers, orchestrators, and other systems you are deploying. This solution must provide a way to produce sophisticated automations quickly with a DevOps mindset, treating the network infrastructure-as-code, and close the skills gap by being equally usable by developers and network engineers. The modern network expects modern automation to reach its full potential.