Quantum:
What it is and Where it’s going

              Lew Tucker
        VP/CTO Cloud Computing
          Cisco Systems, Inc.
              @lewtucker
+ Quantum

• OpenStack: open source software for building
  highly scalable public and private clouds
• Designed as a set of services forming the basis
  of a cloud platform
• Evolving through community process in which all
  members may contribute
• Quantum is a community project to build a
  “Network Service” for advanced networking
  capabilities
Open Source Is Where “Standard” Cloud Infrastructure Will Be Defined

                                   Open standards [require] multiple
                                   providers, access to code and data, and
                                   interoperability of services.

                                   The obvious solution is an open
                                   source reference model as the
                                   standard.

                                   Potential examples of such would be the
                                   OpenStack effort.
                                                                -Simon Wardley, CSC
                                                                    From “A Question of Standards”
                                          http://blog.gardeviance.org/2011/04/question-of-standards.html
Current Cloud Computing model is great for application development, self-service,
and automation, but is missing the potential programmability of the infrastructure

  I’m a Cloud.                 But I can help
  I don’t need                     (sigh)
      you!

                                                • Applications and infrastructure could interact
                                                 with each other to provide the best
                                                 performance, experience and reliability


                                                • What is missing is the right mechanism to
                                                 expose networking infrastructure capabilities
                                                 without bringing all the complexity into the
                                                 application layer
Network Technologies in the Data Center and Internet
Application      Virtual                               Storage                                                                                                           IP NGN
                                     VSwitch                             Compute               Access             Aggregation            Core           Peering
 Software       Machine                                and SAN                                                                                                          Backbone

                             App
                       App
                             OS
                 App
                       OS
                 OS
                                                                                                                   Virtual Device
                                                                                                                      Contexts



                                         Let’s abstract all this
                                                       Fabric-Hosted
                       App
                             App

                             OS
                                                          Storage
                                                       Virtualization                                             Firewall Services   Virtual Device                     Internet
                 App
                       OS                                                                                                                Contexts
                 OS

                             App                       Storage Media                                                                                   Secure Domain
                 App
                       App
                             OS                         Encryption                                                                                        Routing
                       OS
                 OS




                                                                                                                                                                         IP NGN
                                                                        Service Profiles
                                                                                           Port Profiles and
                                                                        Virtual Machine        VN-Link
                                                                         Optimization                                                  Global Site       Line-Rate
                                                                                            Fibre Channel                              Selection          NetFlow
                                                                                             Forwarding                                                                  Partners
                                   Port Profiles and                                                                                    Intrusion
                                       VN-Link                                                                                          Detection
                             App
                                                                                           Fabric Extension
                       App
                 App
                             OS
                                                                                                                    Application
                 OS
                       OS
                                                                                                                   Control (SLB+)                            10G Ethernet
                                                                                                                                                             10G FCoE
                                                                                                                  Service Control                            4G FC
                             App
                                                                                                                                                             1G Ethernet
                 App
                       App

                       OS
                             OS
                                                                                                                  Virtual Contexts                           VM to vSwitch
                 OS                                                                                               for FW and SLB                             vSwitch to HW
                                                                                                                                                             App to HW / VM
 Applications    VMWare             Nexus 1000v         MDS 9000 +      UCS, MCS 7800            Nexus 5000        Nexus 7000         Nexus 7000          CRS-1             CRS-1
                  Xen                                   Consolidated       (or Generic          w/ Nexus 2000      (w/ Cat 6500                            7600            ASR 9000
                 Hyper-V                               Storage Arrays        Rack or            Fabric Extender     as Services                            6500            ASR 1000
                                                         (EMC, etc.)     Blade Servers)                              Chassis)                                                7600
 Compute service (EC2): virtual machines
                                              App Svr
  - Specify vCPU, Memory, Disk                  OS
  - Launch instance (image, mem_size, disk)     VM

  - Suspend, clone, migrate


 Storage service (S3, EBS): virtual disks
  - Specify storage amount, access rights
  - Store object
  - Create/attach block                                 Networking


• What to do about networks?
Nova and Swift API              Networking is embedded
                                      inside of Nova compute, and
 Nova                       Swift     un-accessible to application
Compute                    Storage    developers
Service                    Service
                                      Details and differences
 Virtual                              associated with network
Machines               Object Store   provisioning complicates a
                                      simple compute service
 Servers                    Disks
                                      Difficult to track changes in
    Basic Network Connectivity        networking as Software-
                                      defined Networking (SDN)
                                      comes into play
Nova, Swift, and Quantum API
                                                  Nova becomes simpler, easier to
 Nova              Quantum               Swift    maintain and extend
Compute            Service              Storage
Service                                 Service   Developers have ability to create
                                                  multiple networks for their own
 Virtual            Virtual                       purposes (multi-tier apps)
Machines           Networks       Object Store
                                                  May support provisioning of both
Servers            Networks              Disks    virtual and physical networks –
                                                  differences captured through
           Basic Network Connectivity             plugin’s
 Servers are virtualized through partitioning
      Storage through aggregation
           Networks through slicing/tunnels/tagging…
 Networks are a shared resource carrying traffic for all
  tenants across shared links
 Network overlays and virtualization create private
  networks through tagging, routing, encapsulation
  (tunneling), and separation of control (openflow, etc.)
 - VLANS, NVGRE, VXLAN, STT, LISP

 Quantum is designed to support private networks
2011 Design Summit - community-driven merger of proposals




                                                                                      … and others


      NetworkService           NetworkServicePOC                       NaaS Core Design
                                                   NetworkContainers
      Citrix/Rackspace/Nicir   NTT/Midokura                            Intel
                                                   Cisco
      a




                                             Quantum
 Compute service (EC2): virtual machines
 - Launch instance (image, mem_size, disk)                App Svr
                                                            OS
 - Suspend, clone, migrate                                  VM




 Storage service (S3, EBS): virtual storage
 - Store object
 - Create/attach block

                                                App Svr          App Svr

 Network service (Quantum): virtual networks     OS
                                                  VM
                                                                   OS
                                                                    VM

 - Create/delete private network
 - Create “ports” and attach VM’s
 - Assign IP address blocks (DHCP)
POST /v1.1/tenants/abc/networks.json

Request:
{
 “network”:
   {
       “name”:”my_db_network”
   }
}

Response:
{
 “network”:
   {
       “id”: “98bd8391-199f-4440-824d-8659e4906786”
   }
}
My Private Network
 Create multiple, virtual, isolated networks per tenant (FE-Net, DB-Net)
 Multiple network interfaces per VM (in-line services)
 Create ports on networks (QoS, profiles) and attach VM’s
 Have control over your own “private” IP addresses
 Access through a user-friendly CLI and GUI (Horizon)
 Invoke additional capabilities through extensions
 Support different underlying networking implementations (VLANS, L2/L3
  tunnels, etc.)
Quantum API                        API Extensions:
                                                           For controlled innovation
                                                             and experimentation
                        Quantum Service
• Network abstraction definition and management
• Does NOT do any actual implementation of abstraction



                      Quantum Plug-in API


                                     Vendor/User Plug-In
• Maps abstraction to implementation on physical network
• Can provide additional features through API extensions
User Application – CLI - Horizon Dashboard - Tools

            Tenant API                                     Tenant API



Compute                            Network Service
Service             Internal API     (Quantum)               Admin API             System
 (Nova)                                                                            Admin
                                         Plug-In




           Compute Node                  Physical              Clustered Network
          Hypervisor vSwitch       Network Router/Switch           Controller
 Open vSwitch
 Linux bridge
 Nicira NVP
 Cisco (Nexus switches and UCS VM-FEX)
 - WIP: VXLAN

 NTT Labs Ryu OpenFlow controller
 NEC OpenFlow
 Big Switch Floodlight
 Keep it simple - hide complexity while exposing capabilities
 Provision their own, abstracted networking resources and topologies
 Potential to create their own networking services
 Isolation and non-interference
 Ability to experiment while leveraging all that is provided by lower-level
  protocols
Different tenants and applications have different needs
                                                                             Tenant “B”
                  Tenant “A”                                                 App               App
                  Web Svr       Web Svr       Web Svr                         OS               OS
                     OS            OS             OS                          VM               VM
                     VM            VM             VM    10.0.1.0/24
                                                                                    DataBase
                                                                                      OS             10.0.1.0/24
           App Svr          App Svr        MemCach       MemCach                      VM
             OS               OS             OS            OS
             VM               VM             VM            VM
                                                                             Tenant “C”
                            DataBase       DataBase                            App             DataBase
                              OS             OS                                OS                OS
                              VM             VM                                VM                VM

                                                                                     198.133.219.10


                                       Internet Access, Management Network
Internet                                      and Multi-tenant Services                                             VPN
Gateway                                           Service Provider Network                                         Service
 Quantum 1.0 is available today for Essex as an incubation project
 - Supports isolated L2 networks
 - Multiple plug-in’s available

 Folsom release – moving into Core
 - Quantum V2 API (in development)
   - Support tenant-created subnets
   - Integrated with Horizon (dashboard) and Keystone (identity/token/policy)
   - Includes “Melange” IPAM for IP address management
   - Includes DHCP/Dnsmasq functionality
POST /v2.0/subnets

Request:
{
  "network_id": "98bd8391-…",
  "cidr": "10.0.0.0/24",
}

Response
{
  "id": "e76a23fe-…",
  "network_id": "98bd8391-..",
  "cidr": "10.0.0.0/24",
  "gateway_ip": "10.0.0.1",
  "dns_nameservers": ["8.8.8.8"],
  "reserved_ranges": [ { "start" : "10.0.0.1", "end": "10.0.0.1"},
                         { "start": "10.0.0.255", "end" : "10.0.0.255"}],
  "additional_host_routes": [],
}
3
Purposely started simple with basic abstraction, but with many blueprints
expect to see rapid innovation, while maintaining backward compatibility
  More plug-in’s for other networking paradigms
  Extensions for QoS, port profiles, etc.
  Used in the development of new network services
  Applied to create virtual data centers spanning multiple sites
  New uses in network service provider networks, mobile networks,
   sensor networks, HPC networks
 Quantum API                                                              Quantum
                                                                           Network Service
 - http://docs.openstack.org/api/openstack-network/1.0/content/

 Quantum Admin Guide (Essex):
 - http://docs.openstack.org/trunk/openstack-network/admin/content/

 Code on Github:
 - https://github.com/openstack/quantum

 Quantum V2:
 - http://wiki.openstack.org/QuantumV2APIIntro                    Lew Tucker, Cisco Systems
                                                                         @lewtucker

OpenStack Quantum Network Service

  • 1.
    Quantum: What it isand Where it’s going Lew Tucker VP/CTO Cloud Computing Cisco Systems, Inc. @lewtucker
  • 2.
    + Quantum • OpenStack:open source software for building highly scalable public and private clouds • Designed as a set of services forming the basis of a cloud platform • Evolving through community process in which all members may contribute • Quantum is a community project to build a “Network Service” for advanced networking capabilities
  • 3.
    Open Source IsWhere “Standard” Cloud Infrastructure Will Be Defined Open standards [require] multiple providers, access to code and data, and interoperability of services. The obvious solution is an open source reference model as the standard. Potential examples of such would be the OpenStack effort. -Simon Wardley, CSC From “A Question of Standards” http://blog.gardeviance.org/2011/04/question-of-standards.html
  • 4.
    Current Cloud Computingmodel is great for application development, self-service, and automation, but is missing the potential programmability of the infrastructure I’m a Cloud. But I can help I don’t need (sigh) you! • Applications and infrastructure could interact with each other to provide the best performance, experience and reliability • What is missing is the right mechanism to expose networking infrastructure capabilities without bringing all the complexity into the application layer
  • 5.
    Network Technologies inthe Data Center and Internet Application Virtual Storage IP NGN VSwitch Compute Access Aggregation Core Peering Software Machine and SAN Backbone App App OS App OS OS Virtual Device Contexts Let’s abstract all this Fabric-Hosted App App OS Storage Virtualization Firewall Services Virtual Device Internet App OS Contexts OS App Storage Media Secure Domain App App OS Encryption Routing OS OS IP NGN Service Profiles Port Profiles and Virtual Machine VN-Link Optimization Global Site Line-Rate Fibre Channel Selection NetFlow Forwarding Partners Port Profiles and Intrusion VN-Link Detection App Fabric Extension App App OS Application OS OS Control (SLB+) 10G Ethernet 10G FCoE Service Control 4G FC App 1G Ethernet App App OS OS Virtual Contexts VM to vSwitch OS for FW and SLB vSwitch to HW App to HW / VM Applications VMWare Nexus 1000v MDS 9000 + UCS, MCS 7800 Nexus 5000 Nexus 7000 Nexus 7000 CRS-1 CRS-1 Xen Consolidated (or Generic w/ Nexus 2000 (w/ Cat 6500 7600 ASR 9000 Hyper-V Storage Arrays Rack or Fabric Extender as Services 6500 ASR 1000 (EMC, etc.) Blade Servers) Chassis) 7600
  • 6.
     Compute service(EC2): virtual machines App Svr - Specify vCPU, Memory, Disk OS - Launch instance (image, mem_size, disk) VM - Suspend, clone, migrate  Storage service (S3, EBS): virtual disks - Specify storage amount, access rights - Store object - Create/attach block Networking • What to do about networks?
  • 7.
    Nova and SwiftAPI Networking is embedded inside of Nova compute, and Nova Swift un-accessible to application Compute Storage developers Service Service Details and differences Virtual associated with network Machines Object Store provisioning complicates a simple compute service Servers Disks Difficult to track changes in Basic Network Connectivity networking as Software- defined Networking (SDN) comes into play
  • 8.
    Nova, Swift, andQuantum API Nova becomes simpler, easier to Nova Quantum Swift maintain and extend Compute Service Storage Service Service Developers have ability to create multiple networks for their own Virtual Virtual purposes (multi-tier apps) Machines Networks Object Store May support provisioning of both Servers Networks Disks virtual and physical networks – differences captured through Basic Network Connectivity plugin’s
  • 9.
     Servers arevirtualized through partitioning Storage through aggregation Networks through slicing/tunnels/tagging…  Networks are a shared resource carrying traffic for all tenants across shared links  Network overlays and virtualization create private networks through tagging, routing, encapsulation (tunneling), and separation of control (openflow, etc.) - VLANS, NVGRE, VXLAN, STT, LISP  Quantum is designed to support private networks
  • 12.
    2011 Design Summit- community-driven merger of proposals … and others NetworkService NetworkServicePOC NaaS Core Design NetworkContainers Citrix/Rackspace/Nicir NTT/Midokura Intel Cisco a Quantum
  • 13.
     Compute service(EC2): virtual machines - Launch instance (image, mem_size, disk) App Svr OS - Suspend, clone, migrate VM  Storage service (S3, EBS): virtual storage - Store object - Create/attach block App Svr App Svr  Network service (Quantum): virtual networks OS VM OS VM - Create/delete private network - Create “ports” and attach VM’s - Assign IP address blocks (DHCP)
  • 14.
    POST /v1.1/tenants/abc/networks.json Request: { “network”: { “name”:”my_db_network” } } Response: { “network”: { “id”: “98bd8391-199f-4440-824d-8659e4906786” } }
  • 15.
  • 16.
     Create multiple,virtual, isolated networks per tenant (FE-Net, DB-Net)  Multiple network interfaces per VM (in-line services)  Create ports on networks (QoS, profiles) and attach VM’s  Have control over your own “private” IP addresses  Access through a user-friendly CLI and GUI (Horizon)  Invoke additional capabilities through extensions  Support different underlying networking implementations (VLANS, L2/L3 tunnels, etc.)
  • 17.
    Quantum API API Extensions: For controlled innovation and experimentation Quantum Service • Network abstraction definition and management • Does NOT do any actual implementation of abstraction Quantum Plug-in API Vendor/User Plug-In • Maps abstraction to implementation on physical network • Can provide additional features through API extensions
  • 18.
    User Application –CLI - Horizon Dashboard - Tools Tenant API Tenant API Compute Network Service Service Internal API (Quantum) Admin API System (Nova) Admin Plug-In Compute Node Physical Clustered Network Hypervisor vSwitch Network Router/Switch Controller
  • 19.
     Open vSwitch Linux bridge  Nicira NVP  Cisco (Nexus switches and UCS VM-FEX) - WIP: VXLAN  NTT Labs Ryu OpenFlow controller  NEC OpenFlow  Big Switch Floodlight
  • 20.
     Keep itsimple - hide complexity while exposing capabilities  Provision their own, abstracted networking resources and topologies  Potential to create their own networking services  Isolation and non-interference  Ability to experiment while leveraging all that is provided by lower-level protocols
  • 23.
    Different tenants andapplications have different needs Tenant “B” Tenant “A” App App Web Svr Web Svr Web Svr OS OS OS OS OS VM VM VM VM VM 10.0.1.0/24 DataBase OS 10.0.1.0/24 App Svr App Svr MemCach MemCach VM OS OS OS OS VM VM VM VM Tenant “C” DataBase DataBase App DataBase OS OS OS OS VM VM VM VM 198.133.219.10 Internet Access, Management Network Internet and Multi-tenant Services VPN Gateway Service Provider Network Service
  • 24.
     Quantum 1.0is available today for Essex as an incubation project - Supports isolated L2 networks - Multiple plug-in’s available  Folsom release – moving into Core - Quantum V2 API (in development) - Support tenant-created subnets - Integrated with Horizon (dashboard) and Keystone (identity/token/policy) - Includes “Melange” IPAM for IP address management - Includes DHCP/Dnsmasq functionality
  • 25.
    POST /v2.0/subnets Request: { "network_id": "98bd8391-…", "cidr": "10.0.0.0/24", } Response { "id": "e76a23fe-…", "network_id": "98bd8391-..", "cidr": "10.0.0.0/24", "gateway_ip": "10.0.0.1", "dns_nameservers": ["8.8.8.8"], "reserved_ranges": [ { "start" : "10.0.0.1", "end": "10.0.0.1"}, { "start": "10.0.0.255", "end" : "10.0.0.255"}], "additional_host_routes": [], }
  • 26.
  • 27.
    Purposely started simplewith basic abstraction, but with many blueprints expect to see rapid innovation, while maintaining backward compatibility  More plug-in’s for other networking paradigms  Extensions for QoS, port profiles, etc.  Used in the development of new network services  Applied to create virtual data centers spanning multiple sites  New uses in network service provider networks, mobile networks, sensor networks, HPC networks
  • 28.
     Quantum API Quantum Network Service - http://docs.openstack.org/api/openstack-network/1.0/content/  Quantum Admin Guide (Essex): - http://docs.openstack.org/trunk/openstack-network/admin/content/  Code on Github: - https://github.com/openstack/quantum  Quantum V2: - http://wiki.openstack.org/QuantumV2APIIntro Lew Tucker, Cisco Systems @lewtucker