api management for software defined network (sdn)
TRANSCRIPT
SDN and APIs
Networking Innovation Through Software
Sam Ramji @sramji
Brian Pagano @brianpagano
groups.google.com/group/api-craft
youtube.com/apigee
slideshare.net/apigee
SOFTWARE-DEFINED NETWORKING:Defined
Software-Defined Networking (SDN) is a shift in network-based computing based on breaking existing physical boundaries on switches, routers, and controllers through well-defined APIs.
This makes it possible to dynamically define all aspects of a network through software.
A BRIEF OVERVIEW OF SDN
Originally networking was a difficult manual process.
In a pre-OpenFlow network, all routing and control work was done by a single proprietary product.
All features were shipped by the vendor.
Packet Forwarding Hardware
Operating System
Feature FeatureFeature
packetsRouter/Switchpackets
JunOS, Cisco IOS
Policy-based routing
Broadcom, Marvell
Examples
In an OpenFlow network, routing and control work can be done by software running anywhere in the datacenter. SDN controllers drive these changes into the switching layers.
OpenFlow API
SDN Controller
OpenFlow Switch OpenFlow Switch OpenFlow Switch
It can be helpful to think of the SDN as being made up of elements, controllers, and apps.
OpenFlow Switch OpenFlow Switch OpenFlow Switch
App BApp A App DApp C
SDN Controller
SDN Controller
OpenFlow Switch OpenFlow Switch OpenFlow Switch
App BApp A App DApp Capps
controllers
elements
The element is where the packet processing happens and must run at line rate.
OpenFlow API
Flow Table Flow TableFlow Table
packetsOpenFlow Switchpackets
Controllers have built-in features and talk to switches via the OpenFlow API. They also have APIs to enable new features that run outside the controller.
Operating System
Feature FeatureFeature
Northbound API
SDN Controller
These are called “Northbound APIs” and enable programmability.
OpenFlow API
Operating System
Feature FeatureFeature
Northbound API
SDN Controller
OpenFlow Switch OpenFlow Switch OpenFlow Switch
Just like APIs in the programmable web, the more apps that depend on them, the stickier the SDN Controller is.
OpenFlow API
Flow Table Flow TableFlow Table
packetsOpenFlow Switchpackets
SDN Controller BSDN Controller A
App BApp A App DApp C
OpenFlow API
Datacenter Operating System
Expanding new features running elsewhere in the datacenter increases the agility of the software-defined network.
App BApp A App DApp C
OpenFlow API
Datacenter Operating System
Northbound API
SDN Controller BSDN Controller A
packetsOpenFlow Switchespackets
End of QuarterSLARoute to Sandbox
Energy Management
Intrusion Detection
OpenFlow API
Datacenter Operating System
Northbound API
SDN Controller BSDN Controller A
packetsOpenFlow Switchespackets
SDN controllers are made by multiple vendors, each with their own northbound APIs. New features have to work with every controller.
App BApp A App DApp C
OpenFlow API
Datacenter Operating System
Northbound API A
OpenFlow Switch
Northbound API B
packetspackets
SDN Controller BSDN Controller A
A few examples of northbound APIs
http://www.openflowhub.org/display/floodlightcontroller/Floodlight+Documentation
http://docs.openstack.org/api/openstack-network/2.0/content/
http://www.vyatta.com/downloads/documentation/VC6.3/Vyatta_RemoteAccessAPI2.0_R6.3_v01.pdf
APIs IN THE SDN REVOLUTION
The software that defines the network does so via APIs.
While virtualization is a systems model, APIs are an abstract model.
An API is a programming model.
One thing that is significantly different from APIs in the programmable web is that in SDN each API has multiple instances.
This is because each controller from a given vendor is implementing the same API but there are many copies of that controller running in the same environment.
One thing that could move SDN forward is to have a single API that interoperates with each of the various SDN controller APIs.
App BApp A App DApp C
OpenFlow API
Datacenter Operating System
Northbound API A
OpenFlow Switch
Northbound API B
Common Northbound API
packetspackets
SDN Controller BSDN Controller A
What if we had a single view of the software-defined network?
OpenFlow Switch OpenFlow Switch OpenFlow Switch
OpenFlow Switch OpenFlow Switch
SDN Controller BSDN Controller A
Common Northbound API
Network Management System
Intrusion Detection
Policy-based RoutingApplication QoS
This is an enormous opportunity for the DevOps movement.
You get control over the network on top of your existing control over the servers.
And you will speed the disintegration of NMS.
How far could we take the system towards perfecting user experience of our services?
OpenFlow Switch OpenFlow Switch OpenFlow Switch
OpenFlow Switch OpenFlow Switch
SDN Controller BSDN Controller A
Common Northbound API
Network Management System
Intrusion Detection
Policy-based RoutingApplication QoS
THANK YOUSubscribe to API webcasts at:
youtube.com/apigee
THANK YOUQuestions and ideas to:
groups.google.com/group/api-craft
THANK YOUQuestions and ideas to:
@sramji@brianpagano