APIs and Programmability: Jailbreaking your network
#devops #SDN The importance of APIs and programmable data paths to the future of networking.
OpenStack. OpenDaylight. SDN. Cloud. It's all about abstraction, about APIs and "software-defined" (which really means software-controlled, but this is neither the time or place to get into that debate).
It's about jailbreaking the network. Enabling access to features and functionality in a way that results in new services, increased responsiveness and overall, the operationalization of the network.
The term jailbreaking is generally used with respect to mobile phones, in particular Apple's iOS line of phones.
"Jailbreaking permits root access to the iOS file system and manager, allowing the download of additional applications, extensions, and themes that are unavailable through the official Apple App Store. Jailbreaking is a form of privilege escalation,[1][2] and the term has been used to describe privilege escalation on devices by other manufacturers as well.[3][4] The name refers to breaking the device out of its "jail",[5] which is a technical term used in Unix-style systems, for example in the term "FreeBSD jail"." (Wikipedia, iOS jailbreaking)
This technical jargon is equally applicable to the network, where value has been locked up inside the network for years with very few opportunities to extend and enhance the functionality provided. Programmability of the data path is critical to jailbreaking the network and enabling the creation of "additional applications" and "extensions" to the system that might otherwise take multiple vendor release cycles to appear or, in many cases, might never rise to the top of the vendor's priority stack.
So, too, do APIs enable the network to break out of its traditional "jail" comprised of static and highly differentiated command line interfaces, where operators are relegated to 3-5 years of hard manual configuration labor and can only glance longingly at high glossy graphics depicting new and more efficient network architectures.
Alright, maybe it's not that bad, but then again... maybe it is. When you consider the cost to scale those manual operations, the technical debt incurred, and the inability to investigate the possibility that new network architectures might just offer the competitive advantage you need, it becomes an imperative that the network be operationalized and the advantages of a programmable network be taken to move the organization (read: the business) forward.
The reality is that most modern architectures - SDN, cloud and even NFV in the service provider realm - are all predicated on the ability to jailbreak the network. Operationalizing the network through the use of APIs to integrate, automate, and orchestrate network elements and services is critical to maintaining the robust, reliable and scalable networks required to continue supporting business (and consumer) growth.
There is a lot of value hidden in existing network elements. Many times the reason it's never been unlocked before is the network teams responsible for managing the network have just never had the time to explore, test and implement using the features and functionality available. Operationalized networks promise to offer them the time they need to get to know their network again and start figuring out how to leverage what they have to provide even greater value to the applications that must traverse it and the business that can no longer live without it.