Implementing open, model-driven, programmable IP networks
The world is relying on networks in order to operate, and the networking industry is aware of the need to improve operations if we are going to scale networks sufficiently to meet the rapidly growing demand. We need to be more agile and resilient—but too much of what we do is manual when it should be automated. And to implement automation in a multivendor environment, there is too much that is proprietary. As the world is learning, we need to work together to engineer more scalable and open systems.
It’s clear to anyone who has taken a hard look at 5G and its cloud-native core architecture that this network model of the future has a promising level of scalability, dynamism and resilience. In theory, it should be able to simultaneously handle vastly different traffic types and applications while scaling to meet nearly instantaneous surges in demand. But this will only be possible if the network is mostly automated. Otherwise, 5G, the cloud and industrial IoT are going to severely strain the system.
There are a number of aspects to the problem of network automation. We also need to embrace DevOps methodologies for developing applications, adding features, and performing updates and bug fixes. Again, it is all about speed of implementation and limiting downtime. We need to be more agile.
Lessons learned from web-based applications
More than a decade ago, some webscale companies came to a similar crossroad managing web-based applications when faced with global levels of demand. Many of our current technologies and practices, such as virtualization, software-defined networks and opensource, came out of the cloud data centers that ran those web-based applications. Webscale companies also introduced agile development methodologies such as DevOps and technologies such as web services, the Simple Object Access Protocol (SOAP) and eXtensible Markup Language (XML).
The primary goal was to introduce a common modeling language for integrating diverse applications over the web. XML is the data format used to contain the data and provide metadata around it. SOAP is used to transfer the data. Web services provide a neutral data exchange model that diverse software programs use to communicate between applications over IP. Because the communications are in XML and are machine parsable, they can be automated.
To automate multivendor networks, something very similar has been developed. This common-model approach is able to represent network constructs—whether elements, policies or services—in a consistent modeling language. The approach provides a model that both humans and machines can understand without significant processing overhead.
The alternate, traditional, approach is to use proprietary adapters that translate between the network management system and vendor-specific command-line interfaces (CLIs). This approach is clumsy. Because vendor-specific CLIs are proprietary, operators need to wait months for new equipment releases to be supported with an adapter. On the network management side, if service object models need to be changed, operators need to rely on the vendor to make that change—but that can take months to implement.
A model-driven approach
Fortunately, all of this has been addressed with a true model-driven approach that abstracts service-specific configurations from vendor-specific implementation. YANG is used as the common modeling language to help eliminate the need for proprietary adapters. Devices can then be configured using programmatic interfaces such as Network Configuration Protocol (NETCONF), which uses XML; generalized Remote Procedure Call (gRPC), which uses JSON; or a model-driven command line interface (MD-CLI), which uses structured plain text.
At Nokia, we have fully embraced this approach with our Service Router Operating System (SR OS). The foundation of both our physical and virtual routers, the Nokia SR OS uses YANG as the language for all our data modeling for configuration and operational state. The SR OS supports NETCONF, gRPC and MD-CLI. And we have ensured that for operators more comfortable with MD-CLI, the programming will be intuitive to them as well. We have also integrated with many of the most popular opensource tools.
If you are interested in learning more about how to integrate SR OS network devices into your own infrastructure, we have a portal that helps with network programming. The Network Developer Portal has tips, examples and tutorials on using Nokia-developed tools and third-party opensource tools. We also have an application note that more thoroughly explores model-driven programmability available for download.
Share your thoughts on this topic by joining the Twitter discussion with @nokianetworks or @nokia using #SDN #IP