Application Programming Interface.
APIs are a way for one program to use the functions of another program. For example, If I write a program that catalogs the name, address and phone numbers of my favorite restaurants, I can use the Google Maps API, to incorporate maps and directions to these locations. I don’t have to add the mapping functionality to my program.
Some APIs are publicly usable (like Google Maps, Twitter, etc). (here is a list of the most popular APIs). Some APIs are just used from an internal program to another internal program.
Most SDN implementations utilize a REST (or RESTful) API. This type of API allow the programmer to use information from the network, either to see status, make changes, etc. without having to write a networking application, or dig through a database of information.
In SDN-world, APIs are divided into two groups;
Northbound – which are APIs from the Higher layer orchestration or management layer. OpenStack Neutron (the networking component of OpenStack) has an API which would be considered a northbound API (OpenStack can make changes to the network using this API).
Southbound – which are APIs to and from the actual network devices. OpenFlow is considered a southbound API, as is Cisco’s onePK.
When Cisco announced the acquisition of Insieme in Nov. 2013, Cisco revealed its long-awaited Software Defined Network (SDN) strategy; Application Centric Infrastructure (or ACI).
ACI is essentially a “policy-driven” network. Network policies are defined by the network administrator, and the network implements those policies.
Day zero, since the primary Cisco Live! activities start tomorrow. Today however, you could sign up for and attend workshops (Labs). After learning the hard way from a different conference, I decided not to miss the opportunity to get some hands-on training.
So, early Sunday morning, I walked from my hotel to the Moscone Center. to attend a Nexus 7000 course. Having never actually logged into one, it was a chance to actually run my fingers on the CLI. The good new is, its all Nexus-OS. Nothing really new there. However, the concept of Virtual Device Context (VDC) was new to me. It sounds reasonable when you read about it, but, actually logging into the device and creating a VDC, makes it somehow more real. (Does that make me a tactile-learner?)
This evening, there was a “tweetup” where you could get to meet people that have only been a twitter handle on your screen. Being somewhat new to the game of Twitter, I’ve been tweeting some things in relation to Cisco Live using the hashtag #CLUS. I even had a twitter conversation with @CiscoLive. At any rate, I was also lucky enough to meet some of my “heroes” in the networking industry, namely, Ethan Banks (@ecbanks), Amy Renee (@amyengineer) and Tom Hollingsworth (@networkingnerd).
I’m trying to meet-up (the old-fashioned way, by phone) with an old friend who is also supposed to be here, but, unfortunately, I’ve yet to make the connection.
All-in-all, a good day 0.
Introduction to SDN
(This entry is scheduled to be published on our corporate newsletter, the Datatrend Insider. A link will be added here when it is published)
As a new and emerging technology, Software Defined Networking (SDN) is somewhat difficult to define. Ask 10 different people what SDN means, and you are likely to receive 10 different answers. (Does this remind you of the term “Cloud” in its early days?)
In my reading about different technologies, I keep running across the term, “tuple”. I’ve ran into it on multiple occasions, in different networking topics. The authors of these documents seem to believe I already know what a tuple is, and use the term quite frequently. Unfortunately for me, somewhere along the way in all of the study I’ve done over the last few years, I apparently failed to notice when the term came in to popular use. So, being the good geek that I am, I decided to do a bit of research to make sure I know what a tuple is, and how its used.
Software Defined Networking (SDN)
Generally speaking, SDN is the ability to utilize an application framework (software) function to control the movement of network traffic through the entire network. More specifically, the idea is to separate the control plane (decision making, “brains”) of a network device, from the data plane (data movement, “braun”), and then to centralize the control plane of multiple devices under a single control point. This single control point can then be a part of a higher-level management or orchestration framework, which allows for a more holistic view of the entire infrastructure.
Other terms that may be used in congestion with SDN; abstraction, OpenFlow, OpenDaylight, Controller. Application Programming Interface
Open Networking foundation
Network as a Service (NaaS) is a business model for offering networking services in the cloud, or on a pay-as-you-go basis. Some items that could be considered NaaS include Virtual Private Network (VPN) or Bandwidth on Demand.
A couple of resources for more information on NaaS;
Network as a Service Wikipedia entry
Network as a Service entry at SearchSDN