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.
packets         Router/Switch          packets




   Feature         Feature        Feature        Policy-based routing




                                                                        Examples
               Operating System                  JunOS, Cisco IOS


          Packet Forwarding Hardware             Broadcom, Marvell
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.
SDN Controller


                   OpenFlow API


OpenFlow Switch   OpenFlow Switch   OpenFlow Switch
It can be helpful to think of the SDN as being
made up of elements, controllers, and apps.
App A     App B        App C   App D




                     SDN Controller




OpenFlow Switch     OpenFlow Switch    OpenFlow Switch
App A
                       apps
                   App B        App C   App D




                  controllers
                      SDN Controller




OpenFlow Switch
                  elements
                     OpenFlow Switch    OpenFlow Switch
The element is where the packet processing
happens and must run at line rate.
packets      OpenFlow Switch         packets




              OpenFlow API

Flow Table     Flow Table      Flow Table
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.
SDN Controller




          Northbound API

Feature       Feature        Feature

          Operating System
These are called “Northbound APIs” and
enable programmability.
SDN Controller




                      Northbound API

            Feature       Feature        Feature

                      Operating System


                        OpenFlow API

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.
App A           App B             App C              App D

            Datacenter Operating System

  SDN Controller A                SDN Controller B

                  OpenFlow API

  packets        OpenFlow Switch                packets




                  OpenFlow API

   Flow Table        Flow Table           Flow Table
Expanding new features running elsewhere in
the datacenter increases the agility of the
software-defined network.
App A           App B         App C           App D

            Datacenter Operating System

                 Northbound API

   SDN Controller A            SDN Controller B


                  OpenFlow API

  packets       OpenFlow Switches         packets
End of Quarter   Intrusion        Energy
Route to Sandbox
                          SLA         Detection      Management


                   Datacenter Operating System

                          Northbound API

         SDN Controller A               SDN Controller B


                           OpenFlow API

        packets         OpenFlow Switches          packets
SDN controllers are made by multiple vendors,
each with their own northbound APIs. New
features have to work with every controller.
App A           App B         App C           App D

            Datacenter Operating System

  Northbound API A            Northbound API B

   SDN Controller A            SDN Controller B


                  OpenFlow API

  packets        OpenFlow Switch          packets
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 A           App B         App C           App D

              Common Northbound API

            Datacenter Operating System

  Northbound API A            Northbound API B

   SDN Controller A            SDN Controller B


                  OpenFlow API

  packets        OpenFlow Switch          packets
What if we had a single view of the
software-defined network?
Policy-based         Intrusion                    Network
Application QoS
                    Routing            Detection                Management System



                                                                     Common
                                                                  Northbound API




                   SDN Controller A          SDN Controller B




         OpenFlow Switch         OpenFlow Switch         OpenFlow Switch


                  OpenFlow Switch          OpenFlow Switch
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?
Policy-based        Intrusion                Network Management
Application QoS
                       Routing           Detection                      System



                                                                       Common
                                                                    Northbound API




                      SDN Controller A         SDN Controller B




           OpenFlow Switch          OpenFlow Switch         OpenFlow Switch


                     OpenFlow Switch           OpenFlow Switch
THANK YOU
Subscribe to API webcasts at:
youtube.com/apigee
THANK YOU
Questions and ideas to:
groups.google.com/group/api-craft
THANK YOU
Questions and ideas to:
@sramji
@brianpagano

API Management for Software Defined Network (SDN)

  • 1.
    SDN and APIs NetworkingInnovation Through Software Sam Ramji @sramji Brian Pagano @brianpagano
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    Software-Defined Networking (SDN) isa shift in network-based computing based on breaking existing physical boundaries on switches, routers, and controllers through well-defined APIs.
  • 7.
    This makes itpossible to dynamically define all aspects of a network through software.
  • 8.
  • 9.
    Originally networking wasa difficult manual process.
  • 11.
    In a pre-OpenFlownetwork, all routing and control work was done by a single proprietary product. All features were shipped by the vendor.
  • 12.
    packets Router/Switch packets Feature Feature Feature Policy-based routing Examples Operating System JunOS, Cisco IOS Packet Forwarding Hardware Broadcom, Marvell
  • 13.
    In an OpenFlownetwork, routing and control work can be done by software running anywhere in the datacenter. SDN controllers drive these changes into the switching layers.
  • 14.
    SDN Controller OpenFlow API OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 15.
    It can behelpful to think of the SDN as being made up of elements, controllers, and apps.
  • 16.
    App A App B App C App D SDN Controller OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 17.
    App A apps App B App C App D controllers SDN Controller OpenFlow Switch elements OpenFlow Switch OpenFlow Switch
  • 18.
    The element iswhere the packet processing happens and must run at line rate.
  • 19.
    packets OpenFlow Switch packets OpenFlow API Flow Table Flow Table Flow Table
  • 20.
    Controllers have built-infeatures and talk to switches via the OpenFlow API. They also have APIs to enable new features that run outside the controller.
  • 21.
    SDN Controller Northbound API Feature Feature Feature Operating System
  • 22.
    These are called“Northbound APIs” and enable programmability.
  • 23.
    SDN Controller Northbound API Feature Feature Feature Operating System OpenFlow API OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 24.
    Just like APIsin the programmable web, the more apps that depend on them, the stickier the SDN Controller is.
  • 25.
    App A App B App C App D Datacenter Operating System SDN Controller A SDN Controller B OpenFlow API packets OpenFlow Switch packets OpenFlow API Flow Table Flow Table Flow Table
  • 26.
    Expanding new featuresrunning elsewhere in the datacenter increases the agility of the software-defined network.
  • 27.
    App A App B App C App D Datacenter Operating System Northbound API SDN Controller A SDN Controller B OpenFlow API packets OpenFlow Switches packets
  • 28.
    End of Quarter Intrusion Energy Route to Sandbox SLA Detection Management Datacenter Operating System Northbound API SDN Controller A SDN Controller B OpenFlow API packets OpenFlow Switches packets
  • 29.
    SDN controllers aremade by multiple vendors, each with their own northbound APIs. New features have to work with every controller.
  • 30.
    App A App B App C App D Datacenter Operating System Northbound API A Northbound API B SDN Controller A SDN Controller B OpenFlow API packets OpenFlow Switch packets
  • 31.
    A few examplesof northbound APIs
  • 32.
    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
  • 33.
    APIs IN THE SDNREVOLUTION
  • 34.
    The software thatdefines the network does so via APIs. While virtualization is a systems model, APIs are an abstract model. An API is a programming model.
  • 35.
    One thing thatis 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.
  • 36.
    One thing thatcould move SDN forward is to have a single API that interoperates with each of the various SDN controller APIs.
  • 37.
    App A App B App C App D Common Northbound API Datacenter Operating System Northbound API A Northbound API B SDN Controller A SDN Controller B OpenFlow API packets OpenFlow Switch packets
  • 38.
    What if wehad a single view of the software-defined network?
  • 39.
    Policy-based Intrusion Network Application QoS Routing Detection Management System Common Northbound API SDN Controller A SDN Controller B OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 40.
    This is anenormous 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.
  • 41.
    How far couldwe take the system towards perfecting user experience of our services?
  • 42.
    Policy-based Intrusion Network Management Application QoS Routing Detection System Common Northbound API SDN Controller A SDN Controller B OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 43.
    THANK YOU Subscribe toAPI webcasts at: youtube.com/apigee
  • 44.
    THANK YOU Questions andideas to: groups.google.com/group/api-craft
  • 45.
    THANK YOU Questions andideas to: @sramji @brianpagano

Editor's Notes

  • #2 Creative Commons Attribution-Share Alike 3.0 United States License