Intro to OpenStack Quantum for
         Cloud Operators
                Dan Wendlandt
               dan@nicira.com
 Openstack Quantum Hacker & Project Team Lead
            twitter - danwendlandt
Caveats
• Quantum is young: there are lots of things
  that it WILL do, but doesn’t do yet.

• Target of talk is Cloud Operators that would
  deploy Quantum, not vendors.

• Not “OpenStack vs. X” talk.
Outline
• What is OpenStack?
• Why Quantum?
• What is Quantum?
  – API Overview
  – Plugin Architecture
• Use Case: Nicira NVP Plugin
  – Network virtualization model
  – Live Demo (why not?)
• Questions
What is OpenStack?
What is OpenStack?

                        “To produce the ubiquitous
                       open source cloud computing
                     platform that will meet the needs
                         of public and private cloud
                     providers regardless of size, by
                     being simple to implement and
                            massively scalable.”

 Allow anyone to automate IT provisioning in a public or private IaaS
 cloud that meets (and exceeds) the capabilities of Amazon EC2.
Why is Openstack Compelling?
Incredible cross-industry mindshare and momentum




        Real resource commitments from many companies:
200+ unique developers from 55+ companies in last 6-month release
Who is Deploying OpenStack?
 Hosting Providers




 Carrier / Telco




 Large Enterprise



 Government



More information: http://www.openstack.org
10,000 ft (3 km) Architecture View
• Each service is a separate piece of software, includes:
   – A tenant-facing API that exposes logical abstractions for
     consuming/monitoring the service.
   – Pluggable backend to choose “best of breed’
     implementations (open source or vendor proprietary).


                   Generic OpenStack APIs   Operator Selected Backends

                        Compute API                   KVM
                                                    XenServer


                        Network API              VLANs + IPtables
                                                   Nicira NVP
Tenant
(GUI, CLI, A             Storage API                  EMC
                                                      NFS
PI code)
Why Quantum?
In the beginning..
*-as-a-Service Capability      OpenStack Service

         Compute                       Nova




                                   Swift (Objects)
         Storage
                                  Glance (Images)




         Network
                                  ?
Why Quantum?
• Networking was sub-component of OpenStack
  Compute layer (Nova).
• Two Key Problems:
  #1: No tenant control of networking.
  #2: Limited technology “baked in” to design.
Problem #1: No Tenant Control
To move enterprise apps to the
cloud, tenants want to “copy and
paste” their existing data center
network topologies:
   – Ability to create “multi-tier”
     networks (e.g., web tier, app
     tier, db tier)
   – Control over IP addressing.
   – Ability to insert and configure your   “You can have any color as long
                                            as its black.“
     own services (e.g., firewall, IPS)     - Henry Ford about the Model-T
   – VPN/Bridge to remote physical
     hosting or customer premises
     (“cloudbursting”).
Why Quantum? Reason #1
      On-demand Enterprise-Class Networking
• Tenants can:
   – create multiple private networks
   – control IP addressing (bring your
     own!).
   – monitor basic network status.

• Quantum API extensions provide:
   – Advanced control + visibility:
     Security policies, Quality-of-             Build rich
     Service, Monitoring +                networks, customize
     Troubleshooting.                      d to tenant needs.
   – Advanced Network Services:
     routers, Firewalls, VPN, IDS, etc.
Problem #2: Technology Limitations
• Cloud puts new stresses on
  networks:
  – High-density multi-tenancy, massive
    scale
  – Strict uptime requirements.
  – Integrate with legacy hosting
    environments / remote data centers.
  – VM mobility
                                          Who needs private
  – On-demand service insertion           networks?
• But Nova was limited to basic           Trunking all VLANs
  VLAN model + Linux IPtables.            is a great idea!

                                          - Stone Age Man
Why Quantum?
          #2: Leveraging Advanced Technologies
• New networking technologies are emerging
  to try and tackle these challenges.
   – Overlay tunneling: VXLAN, NVGRE, STT
   – Software-defined Networking (SDN) /
     OpenFlow
   – VPN-based solutions (e.g., E-VPN).
   – L2 Fabric solutions: FabricPath, Qfabric, etc.
   – [ insert other solution here ]

• Quantum provides a “plugin” mechanism to
  enable different technologies (more later).            Use advanced
                                                        technologies to
                                                      reach new heights.
• Choice is a good thing!
Finally, Network-as-a-Service!
*-as-a-Service Capability   OpenStack Service

        Compute                     Nova




                                Swift (Objects)
        Storage
                               Glance (Images)




        Network                   Quantum
Why Quantum?
Quantum enables advanced network “engines”….




   that let you leave Amazon VPC in the dust…
What is Quantum?
Quantum Architecture
                      Generic OpenStack APIs   Operator Selected Backends

                           Compute API                 XenServer


                           Network API                 Nicira NVP
  Tenant Tools
  (GUI, CLI, AP             Storage API                  EMC
    I code)



An eco-system of      A generic tenant API      A “plugin” architecture
tools that leverage      to create and          with different back-end
the Quantum API.       configure “virtual              “engines”
                           networks”
Basic API Abstractions

                      VM1                  VM2            virtual server
Nova                 10.0.0.2             10.0.0.3
                                                      virtual interface (VIF)


                                                        virtual port
Quantum                       Net1
                                                      L2 virtual network
                           10.0.0.0/24




           “virtual networks” are fundamentally
           multi-tenant, just like virtual servers.
Quantum Model: Dynamic Network
     Creation + Association
                           TenantA-VM2           TenantA-VM3
          TenantA-VM1
                             10.0.0.3               9.0.0.2
            10.0.0.2
                              9.0.0.3



                        Tenant-A Net1          Tenant-A Net2
                         10.0.0.0/24             9.0.0.0/24



 Public Net
88.0.0.0/18
                 • Tenant can use API to create many networks.
                 • When booting a VM, define which network(s) it
                   should connect to.
                 • Can even plug-in instances from other services
                   (e.g., a load-balancing service).
Quantum API Extensions
• Enables innovation in virtual networking.
    – Tenants can query API to programmatically discover supported extensions.
    – Overtime, extensions implemented by many plugins can become “core”.

• Add properties on top of existing network/port abstractions:

    – QoS/SLA guarantees / limits

    – Security Filter Policies

    – port statistics / netflow

• New Services
    – L3 forwarding, ACLs + NAT (“elastic” or “floating” IPs)
    – VPN connectivity between cloud and customer site, or another cloud
      datacenter.
Example: Quantum + Extensions
                                 TenantA-VM2             TenantA-VM3
                TenantA-VM1
                                   10.0.0.3                10.0.1.2
                  10.0.0.2
                                    9.0.0.3



      TenantA-VM4        Tenant-A Net1                 Tenant-A Net2
       172.16.0.30        10.0.0.0/24                   10.0.1.0/24


            Tenant-A Net3
            172.16.0.0/24
                                                                 Not
    VPN                                                          necessarily a
 Tenant-A On                                                     VM!
 Premise Net                              Public Net
172.16.0.0/24                            88.0.0.0/18
Quantum Architecture
                      Generic OpenStack APIs   Operator Selected Backends

                           Compute API                 XenServer


                           Network API                 Nicira NVP
  Tenant Tools
  (GUI, CLI, AP             Storage API                  EMC
    I code)



An eco-system of      A generic tenant API      A “plugin” architecture
tools that leverage      to create and          with different back-end
the Quantum API.       configure “virtual              “engines”
                           networks”
Quantum “Plugins”
• Different plugin “engines” present different trade-offs:
   –   Free vs. Commercially Supported
   –   Advanced Features (exposed as API extensions)
   –   Scalability
   –   High Availability (control & data plane)
   –   Hypervisor Compatibility
   –   Network HW Compat (vendor specific? Allow L3 scale-out?)
   –   Manageability / troubleshooting

• Cloud Operators weigh trade-offs, choose a plugin.

• Note: Back-end technology hidden behind logical core API
   – Example: VLANs vs. tunneling
Quantum Architecture (generic)
API Clients      Quantum Service                 Backend X

                 Quantum
                   API

      Tenant     Create-net
      Scripts          .
     Horizon
                       .           Plugin
      GUI              .             X
                   Create-
 Orchestration
                                                                        Physical
                    port                          virtual switch
     Code                                                               Network
                                                   Nova Compute
                    API
                 Extensions

                                            Interfaces from Nova plug
                                             into a switch manages by
                 Uniform API
                                               the Quantum plugin.
                 for all clients
Vendor Quantum Plugins
Basic open source plugins based on Open vSwitch and
Linux Bridge exist.


The following vendors have publicly stated that they already have
or are developing a Quantum plugin (others exist as well)
Quantum Project Releases
• Incubation release (OpenStack Essex, April ‘12)
   – v1 API, base L2 API abstractions
   – 5 plugins available.
   – In production at early adopters.

• First “core” release (OpenStack Folsom, Oct. ‘12)
   – v2 API, with L2 + L3 API abstractions
   – Additional plugins available.
   – Quantum becomes “default” networking option for
     OpenStack.
Quantum Case Study:
Quantum Plugin for Nicira NVP
Nicira NVP Network Virt Model
• Edge virtualization in hypervisor (open vswitch) with
  overlay tunneling decouples logical + physical topology.
   – Flexibility designing Fabric (requires only IP unicast)
       • Can use traditional design, or Fat-tree/Clos
       • No requirement for L2 adjacency, large MAC/ACL tables in HW
   – Place/move any workload anywhere in the DC.

• Control Plane work is Distributed across nodes within the
  NVP control cluster to provide scalability & fault tolerance.

• Quantum Tenants can dynamically create/modify/monitor
  rich networks abstractions via Quantum API.
Quantum w/NVP Architecture
API Clients        Quantum Service          Nicira NVP

                                                             Controller
                   Quantum                   NVP             Cluster
                                  NVP          NVP
                                                NVP
                     API                   Controller        handles NO
                                 Plugin     Controller
                                              Controller
                                                             dataplane
    Tenant         Create-net                  Cluster       traffic.
    Scripts                      Create-
                        .          net
                        .           .
   Horizon
                        .           .
                   Create-port
Orchestration                       .
    Code                         Create-                       L3 Fabric
                                                  OVS
                      API         port
                   Extensions                 Nova Compute
Live Demo
           Use Case: Rich Network topologies used within
              Nicira’s internal OpenStack + NVP cloud.

          controller1                       HV1
            controller1                                      HV2
              controller1


Windows                                  Data              Data
              Mgmt
                                         1 Net             2 Net
               Net
Manager


                                   GW1


                  External
                    Net          External Host
Thanks!
             Questions?

               Dan Wendlandt
              dan@nicira.com
OpenStack Quantum Hacker & Project Team Lead
           twitter - danwendlandt

OpenStack Quantum: Cloud Carrier Summit 2012

  • 1.
    Intro to OpenStackQuantum for Cloud Operators Dan Wendlandt dan@nicira.com Openstack Quantum Hacker & Project Team Lead twitter - danwendlandt
  • 2.
    Caveats • Quantum isyoung: there are lots of things that it WILL do, but doesn’t do yet. • Target of talk is Cloud Operators that would deploy Quantum, not vendors. • Not “OpenStack vs. X” talk.
  • 3.
    Outline • What isOpenStack? • Why Quantum? • What is Quantum? – API Overview – Plugin Architecture • Use Case: Nicira NVP Plugin – Network virtualization model – Live Demo (why not?) • Questions
  • 4.
  • 5.
    What is OpenStack? “To produce the ubiquitous open source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable.” Allow anyone to automate IT provisioning in a public or private IaaS cloud that meets (and exceeds) the capabilities of Amazon EC2.
  • 6.
    Why is OpenstackCompelling? Incredible cross-industry mindshare and momentum Real resource commitments from many companies: 200+ unique developers from 55+ companies in last 6-month release
  • 7.
    Who is DeployingOpenStack? Hosting Providers Carrier / Telco Large Enterprise Government More information: http://www.openstack.org
  • 8.
    10,000 ft (3km) Architecture View • Each service is a separate piece of software, includes: – A tenant-facing API that exposes logical abstractions for consuming/monitoring the service. – Pluggable backend to choose “best of breed’ implementations (open source or vendor proprietary). Generic OpenStack APIs Operator Selected Backends Compute API KVM XenServer Network API VLANs + IPtables Nicira NVP Tenant (GUI, CLI, A Storage API EMC NFS PI code)
  • 9.
  • 10.
    In the beginning.. *-as-a-ServiceCapability OpenStack Service Compute Nova Swift (Objects) Storage Glance (Images) Network ?
  • 11.
    Why Quantum? • Networkingwas sub-component of OpenStack Compute layer (Nova). • Two Key Problems: #1: No tenant control of networking. #2: Limited technology “baked in” to design.
  • 12.
    Problem #1: NoTenant Control To move enterprise apps to the cloud, tenants want to “copy and paste” their existing data center network topologies: – Ability to create “multi-tier” networks (e.g., web tier, app tier, db tier) – Control over IP addressing. – Ability to insert and configure your “You can have any color as long as its black.“ own services (e.g., firewall, IPS) - Henry Ford about the Model-T – VPN/Bridge to remote physical hosting or customer premises (“cloudbursting”).
  • 13.
    Why Quantum? Reason#1 On-demand Enterprise-Class Networking • Tenants can: – create multiple private networks – control IP addressing (bring your own!). – monitor basic network status. • Quantum API extensions provide: – Advanced control + visibility: Security policies, Quality-of- Build rich Service, Monitoring + networks, customize Troubleshooting. d to tenant needs. – Advanced Network Services: routers, Firewalls, VPN, IDS, etc.
  • 14.
    Problem #2: TechnologyLimitations • Cloud puts new stresses on networks: – High-density multi-tenancy, massive scale – Strict uptime requirements. – Integrate with legacy hosting environments / remote data centers. – VM mobility Who needs private – On-demand service insertion networks? • But Nova was limited to basic Trunking all VLANs VLAN model + Linux IPtables. is a great idea! - Stone Age Man
  • 15.
    Why Quantum? #2: Leveraging Advanced Technologies • New networking technologies are emerging to try and tackle these challenges. – Overlay tunneling: VXLAN, NVGRE, STT – Software-defined Networking (SDN) / OpenFlow – VPN-based solutions (e.g., E-VPN). – L2 Fabric solutions: FabricPath, Qfabric, etc. – [ insert other solution here ] • Quantum provides a “plugin” mechanism to enable different technologies (more later). Use advanced technologies to reach new heights. • Choice is a good thing!
  • 16.
    Finally, Network-as-a-Service! *-as-a-Service Capability OpenStack Service Compute Nova Swift (Objects) Storage Glance (Images) Network Quantum
  • 17.
    Why Quantum? Quantum enablesadvanced network “engines”…. that let you leave Amazon VPC in the dust…
  • 18.
  • 19.
    Quantum Architecture Generic OpenStack APIs Operator Selected Backends Compute API XenServer Network API Nicira NVP Tenant Tools (GUI, CLI, AP Storage API EMC I code) An eco-system of A generic tenant API A “plugin” architecture tools that leverage to create and with different back-end the Quantum API. configure “virtual “engines” networks”
  • 20.
    Basic API Abstractions VM1 VM2 virtual server Nova 10.0.0.2 10.0.0.3 virtual interface (VIF) virtual port Quantum Net1 L2 virtual network 10.0.0.0/24 “virtual networks” are fundamentally multi-tenant, just like virtual servers.
  • 21.
    Quantum Model: DynamicNetwork Creation + Association TenantA-VM2 TenantA-VM3 TenantA-VM1 10.0.0.3 9.0.0.2 10.0.0.2 9.0.0.3 Tenant-A Net1 Tenant-A Net2 10.0.0.0/24 9.0.0.0/24 Public Net 88.0.0.0/18 • Tenant can use API to create many networks. • When booting a VM, define which network(s) it should connect to. • Can even plug-in instances from other services (e.g., a load-balancing service).
  • 22.
    Quantum API Extensions •Enables innovation in virtual networking. – Tenants can query API to programmatically discover supported extensions. – Overtime, extensions implemented by many plugins can become “core”. • Add properties on top of existing network/port abstractions: – QoS/SLA guarantees / limits – Security Filter Policies – port statistics / netflow • New Services – L3 forwarding, ACLs + NAT (“elastic” or “floating” IPs) – VPN connectivity between cloud and customer site, or another cloud datacenter.
  • 23.
    Example: Quantum +Extensions TenantA-VM2 TenantA-VM3 TenantA-VM1 10.0.0.3 10.0.1.2 10.0.0.2 9.0.0.3 TenantA-VM4 Tenant-A Net1 Tenant-A Net2 172.16.0.30 10.0.0.0/24 10.0.1.0/24 Tenant-A Net3 172.16.0.0/24 Not VPN necessarily a Tenant-A On VM! Premise Net Public Net 172.16.0.0/24 88.0.0.0/18
  • 24.
    Quantum Architecture Generic OpenStack APIs Operator Selected Backends Compute API XenServer Network API Nicira NVP Tenant Tools (GUI, CLI, AP Storage API EMC I code) An eco-system of A generic tenant API A “plugin” architecture tools that leverage to create and with different back-end the Quantum API. configure “virtual “engines” networks”
  • 25.
    Quantum “Plugins” • Differentplugin “engines” present different trade-offs: – Free vs. Commercially Supported – Advanced Features (exposed as API extensions) – Scalability – High Availability (control & data plane) – Hypervisor Compatibility – Network HW Compat (vendor specific? Allow L3 scale-out?) – Manageability / troubleshooting • Cloud Operators weigh trade-offs, choose a plugin. • Note: Back-end technology hidden behind logical core API – Example: VLANs vs. tunneling
  • 26.
    Quantum Architecture (generic) APIClients Quantum Service Backend X Quantum API Tenant Create-net Scripts . Horizon . Plugin GUI . X Create- Orchestration Physical port virtual switch Code Network Nova Compute API Extensions Interfaces from Nova plug into a switch manages by Uniform API the Quantum plugin. for all clients
  • 27.
    Vendor Quantum Plugins Basicopen source plugins based on Open vSwitch and Linux Bridge exist. The following vendors have publicly stated that they already have or are developing a Quantum plugin (others exist as well)
  • 28.
    Quantum Project Releases •Incubation release (OpenStack Essex, April ‘12) – v1 API, base L2 API abstractions – 5 plugins available. – In production at early adopters. • First “core” release (OpenStack Folsom, Oct. ‘12) – v2 API, with L2 + L3 API abstractions – Additional plugins available. – Quantum becomes “default” networking option for OpenStack.
  • 29.
    Quantum Case Study: QuantumPlugin for Nicira NVP
  • 30.
    Nicira NVP NetworkVirt Model • Edge virtualization in hypervisor (open vswitch) with overlay tunneling decouples logical + physical topology. – Flexibility designing Fabric (requires only IP unicast) • Can use traditional design, or Fat-tree/Clos • No requirement for L2 adjacency, large MAC/ACL tables in HW – Place/move any workload anywhere in the DC. • Control Plane work is Distributed across nodes within the NVP control cluster to provide scalability & fault tolerance. • Quantum Tenants can dynamically create/modify/monitor rich networks abstractions via Quantum API.
  • 31.
    Quantum w/NVP Architecture APIClients Quantum Service Nicira NVP Controller Quantum NVP Cluster NVP NVP NVP API Controller handles NO Plugin Controller Controller dataplane Tenant Create-net Cluster traffic. Scripts Create- . net . . Horizon . . Create-port Orchestration . Code Create- L3 Fabric OVS API port Extensions Nova Compute
  • 32.
    Live Demo Use Case: Rich Network topologies used within Nicira’s internal OpenStack + NVP cloud. controller1 HV1 controller1 HV2 controller1 Windows Data Data Mgmt 1 Net 2 Net Net Manager GW1 External Net External Host
  • 33.
    Thanks! Questions? Dan Wendlandt dan@nicira.com OpenStack Quantum Hacker & Project Team Lead twitter - danwendlandt