Model-driven Programmability: The Rise of Network Automation
Software automation and data analytics are changing the face of computer networks. They are radically transforming how networks are built and operated. We are rapidly moving away from a world where a network operator manages tenths of network devices. Instead, one individual can deploy and manage hundreds, thousands and tenths of thousands of complex network devices with the help of software and data analytics (what is your current ratio?). This transformation is quickly spreading from its birthplace, the data center, to all places in the network. To help accelerate these changes, we introduced significant software innovations for cloud Scale networking in Cisco IOS XR last year. A main component of those innovations is model-driven programmability.
The new programmability capabilities in Cisco IOS XR provide a rich and flexible infrastructure for network automation. What makes it rich and flexible?
- Models – A comprehensive number of YANG models allow you to control the rich feature set in Cisco IOS XR. Data models provide a structured and well-defined base that facilitates programmatic interaction with the network device. The list of supported models includes native, OpenConfig and IETF models. In addition, YANG provides a modeling language optimized for network devices and with a growing number of tools and utilities.
- Protocols – The separation of models from the choice of protocol provides a high degree of flexibility. You can control the network device using NETCONF, RESTCONF or Google RPC (gRPC). Your protocol choice will ultimately be influenced by your networking, programming and automation background, plus tooling available.
- Encodings – The separation of encodings from the choice of model and protocol provides additional flexibility. Data can be encoded in JSON, XML or Google protocol buffers (GPB) format. While some transports are currently tied to specific encodings (e.g. NETCONF and XML), the programmability infrastructure is designed to support different encodings of the same data model if the transport protocol supports it.
Already experiencing the paradox of choice? You can make use of programming APIs to abstract protocol, transport and encoding details. You can focus on what is most important, the data. It is that data (configuration or operational) that is controlling the network device and, ultimately, driving network automation. Furthermore, the APIs allow the network programmer to focus on the underlying structure and hierarchy of the data without having to master the specifics of YANG syntax.
Automation is dramatically changing computer networks. You can use the model-driven programmability in Cisco IOS XR to accelerate that transformation today. Go head and give it a try now using Cisco IOS XR release 6.0.0 and later. Consult the documentation at Cisco.com or your Cisco representative for the latest details on hardware platform support.
Let software prevail!