Quantum is an OpenStack project to provide network connectivity as a service between interface devices. It will enable cloud tenants to create rich networking topologies, build advanced network services and innovative network capabilities.
Scanning the Internet for External Cloud Exposures via SSL Certs
OpenStack Quantum Network Service
1. Quantum:
What it is and 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 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
4. 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
5. 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
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 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
8. 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
9. 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
10.
11.
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)
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 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
21.
22.
23. 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
24. 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
27. 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
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