SlideShare a Scribd company logo
1 of 18
Openstack Quantum:Virtual Networks for OpenStack Dan Wendlandt – dan@nicira.com
Outline What? Why? How?
What is Quantum? Astandalone Openstackservice Provides network connectivity between a set of network “interfaces” from other service (e.g., vNICs from compute service, interfaces on a load-balancer service). Exposes API of logical abstractions for describing network connectivity + policy between interfaces.  Uses a “plug-in” architecture, so multiple technologies can implement the logical abstractions. Provides a “building block” for sophisticated cloud network topologies.
What is Quantum NOT? Something that provides all network-related processing behavior.  Initial focus is on connectivity. Other advanced services like load-balancers, firewalls, etc can “plug” into a network offered by Quantum.  IP address management (see next talk on IPAM) Orchestration of multiple network-related building blocks to provide higher-level abstractions to tenants (see talk on Donabe)
Example Architecture: Single Service Openstack Dashboard Tenant API Tenant API Quantum Service Nova Service Admin API nova-api nova-scheduler Quantum Plugin Internal nova Communication XenServer #1 Hypervisor nova-compute vswitch Internal Plugin Communication
Example Architecture: Two Services Tenant API Quantum Service Network Edge: Point at which a service “plugs” into the network. Quantum Plugin Internal Plugin Communication vswitch vswitch physical switch VM VM VM VM FW FW FW Firewall Service Compute Service Tenant API Tenant API
Virtual Network Abstractions (1) Services (e.g., nova, atlas) expose interface-IDs via their own tenant APIs to represent any device from that service that can be “plugged” into a virtual network.   Example: nova.foo.com/<tenant-id>/server/<server-id>/eth0 Tenants use Quantum API to create networks, get back UUID:  Example: quantum.foo.com/<tenant-id>/network/<network-id> Tenants can create ports on a network, get a UUID, and associate config with those ports (APIs for advanced port config are TBD, initially ports give L2 connectivity): Example: quantum.foo.com/<tenant-id>/network/<network-id>/port/<port-id> Tenants can “plug” an interface into a port by setting the attachment of a port to be the appropriate interface-id.   Example: set quantum.foo.com/<tenant-id>/network/<network-id>/port/<port-id>/attach to value “nova.foo.com/<tenant-id>/server/<server-id>/eth0” .
Virtual Network Abstractions (2) Note:  At no time does the customer see details of how a network is implemented (e.g., VLANs). Association of interfaces with network is an explicit step. Plugins can expose API extensions to introduce more complex functionality (e.g., QoS).  Extension support is queriable, so a customer can “discover” capabilities.  API extensions that represent common functionality across many plug-ins can become part of the core API. Core API for diablo is simple, focused on connectivity. Core API will evolve.
Example Scenario:  Nova i-24 10.0.0.24 Nova i-26 10.0.0.26 Nova i-22 10.0.0.22 Nova i-23 10.0.0.23 GW Instance-1 10.0.0.1 Private Net #2 Private Net #1 Tenant View Provider View Nova i-24 10.0.0.24 Nova i-26 10.0.0.26 Nova i-26 10.0.0.26 Data Center Network GW Instance-1 10.0.0.1 Nova i-24 10.0.0.24 NAT Gateway Service Compute Service
Live Demo…
Why Quantum? API gives ability to create interesting network topologies. Example: create multi-tier applications Provide way to connect interconnect multiple Openstack services (*-aaS). Example: Nova VM + Atlas LB on same private network. Open the floodgates to let anyone build services (open or closed) that plug into Openstack networks.   Examples:  VPN-aaS, firewall-aaS, IDS-aaS. Allows innovation plugins that overcomes common cloud networking problems Example:  avoid VLAN limits, provide strong QoS
How? Quantum Design Goals Decoupled from nova and other services Communication between quantum and another service should happen via well-defined Rest API (not direct python calls, no nova RPC, not shared understanding of database schemas) Be able to run without nova.  Flexible enough to support plugins for many different “network edges”: Bridge / Open vSwitch on Linux Vmware DVS / Nexus 1000V  Physical switches  Physical switches with VEPA / VNtag
How? Inside Quantum Plugin interface maps to “core” tenant API + admin API. “Network agents” running on nova hypervisor fit within this model. Plugin might manage just the network edge (e.g., a vswitch), or all network devices. Tenant API Admin API Auth (talk to Keystone) API Limits Plugin Communicate with external devices in a plugin-specific way to implement logical abstractions from the tenant API.
Edge Bindings Services that expose interface-IDs must tell quantum where that interface is currently “plugged” into the network.   We call this an “edge binding” Impl still fuzzy: Quantum may support an admin API that allows other services to register <interface-id, interface-location> pairs with Quantum.  Many different “types” of interface-location data: XenServer: VIF-UUID Cisco 1000v: veth0 device Physical Hosting: physical switch ID + port number Openstackdeployers must make sure all services able to “speak” a interface-location type supported by the switch. There will be a “default” type supported by an open source plugin (VLAN based, like nova today?)
Simple Plug-in Example with VLANs Similar to what Nova does for private networks: One VLAN per “network”. Hypervisor NIC is VLAN trunk, all switches are trunked. When an interface-ID is associated is associated with a network, plugin uses the edge binding to find the interface-location (a port on a vswitch) and puts that port on the correct VLAN.
Plans for Diablo timeframe “experimental” Quantum plug-in  Plug-in Agnostic:  Create API, including way for plugin to register extensions. Store “ownership” + integrate with keystone for auth. Implement “edge bindings” database + API.   Plugins: At least one (hopefully more!) open-source plugin that anyone can use to experiment with Quantum. Services: Perform “edge bindings” integration with nova and at least one other service.
This is Just the Beginning…. Our goals within Diablo time frame are well scoped. Quantum is a building block, not the entire solution for all networking problems.  Goal is to make sure Quantum design for Diablo does not preclude doing things we will likely consider important in the future.
Many important questions remain: How should knowledge of the network topology and resources/capacity be used to influence workload placement decisions by the scheduler? What should be included in a broader set of core APIs (QoS, packet stats, ACLs, etc) in future iterations?   Is L2 VPN (e.g., to customer site) a part of this core API, ok something the “plugs” into a virtual network? How to expose attributes of the physical network (e.g., redundant NICs) via the logical model? <Insert your question here…>

More Related Content

What's hot

VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...VMworld
 
Accelerating Public Cloud Migration with Multi-Cloud Load Balancing
Accelerating Public Cloud Migration with Multi-Cloud Load BalancingAccelerating Public Cloud Migration with Multi-Cloud Load Balancing
Accelerating Public Cloud Migration with Multi-Cloud Load BalancingAvi Networks
 
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...Avi Networks
 
L4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi NetworksL4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi NetworksAvi Networks
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Simone Morellato
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILDavid Pasek
 
Kubernetes on vSphere Presentation- July 23, 2020
Kubernetes on vSphere Presentation- July 23, 2020Kubernetes on vSphere Presentation- July 23, 2020
Kubernetes on vSphere Presentation- July 23, 2020VMware Tanzu
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview VMware Tanzu
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack CloudsShapeBlue
 
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackSilicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackShapeBlue
 
Enabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi NetworksEnabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi NetworksAvi Networks
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld
 
Nested CloudStack with VMware
Nested CloudStack with VMwareNested CloudStack with VMware
Nested CloudStack with VMwareShapeBlue
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloudRoozbeh Shafiee
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
 
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)Avi Networks
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020VMware Tanzu
 
VMware vCloud Director 1.5 - What's New
VMware vCloud Director 1.5  - What's NewVMware vCloud Director 1.5  - What's New
VMware vCloud Director 1.5 - What's New1CloudRoad.com
 

What's hot (20)

VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
 
Accelerating Public Cloud Migration with Multi-Cloud Load Balancing
Accelerating Public Cloud Migration with Multi-Cloud Load BalancingAccelerating Public Cloud Migration with Multi-Cloud Load Balancing
Accelerating Public Cloud Migration with Multi-Cloud Load Balancing
 
Tanzu Standard
Tanzu StandardTanzu Standard
Tanzu Standard
 
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...
Industry's Best Multi Cloud Application Services from Avi Networks, Now part ...
 
L4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi NetworksL4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi Networks
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAIL
 
Kubernetes on vSphere Presentation- July 23, 2020
Kubernetes on vSphere Presentation- July 23, 2020Kubernetes on vSphere Presentation- July 23, 2020
Kubernetes on vSphere Presentation- July 23, 2020
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu Introduction
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
 
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackSilicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
 
Enabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi NetworksEnabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi Networks
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
Nested CloudStack with VMware
Nested CloudStack with VMwareNested CloudStack with VMware
Nested CloudStack with VMware
 
OpenStack vs VMware vCloud
OpenStack vs VMware vCloudOpenStack vs VMware vCloud
OpenStack vs VMware vCloud
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)
Enterprise-Grade Load Balancing for VMware Cloud on AWS (VMC)
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020
 
VMware vCloud Director 1.5 - What's New
VMware vCloud Director 1.5  - What's NewVMware vCloud Director 1.5  - What's New
VMware vCloud Director 1.5 - What's New
 

Similar to Quantum diablo summary

Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summitDan Wendlandt
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxOpenStack Foundation
 
Quantum essex summary
Quantum essex summaryQuantum essex summary
Quantum essex summaryDan Wendlandt
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)Dan Wendlandt
 
Donabe-essex-conference-readout
Donabe-essex-conference-readoutDonabe-essex-conference-readout
Donabe-essex-conference-readoutDebojyoti Dutta
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewDan Wendlandt
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Dan Wendlandt
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012Dan Wendlandt
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference Dan Wendlandt
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenesinbroker
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Yongyoon Shin
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Affan Syed
 
Neutron Advanced Services - Akanda - Astara 201 presentation
Neutron Advanced Services - Akanda - Astara 201 presentationNeutron Advanced Services - Akanda - Astara 201 presentation
Neutron Advanced Services - Akanda - Astara 201 presentationEric Lopez
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLee Calcote
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and AutomationAdam Johnson
 

Similar to Quantum diablo summary (20)

Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summit
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptx
 
Quantum essex summary
Quantum essex summaryQuantum essex summary
Quantum essex summary
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
Donabe-essex-conference-readout
Donabe-essex-conference-readoutDonabe-essex-conference-readout
Donabe-essex-conference-readout
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
 
Neutron Advanced Services - Akanda - Astara 201 presentation
Neutron Advanced Services - Akanda - Astara 201 presentationNeutron Advanced Services - Akanda - Astara 201 presentation
Neutron Advanced Services - Akanda - Astara 201 presentation
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & Kubernetes
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Quantum diablo summary

  • 1. Openstack Quantum:Virtual Networks for OpenStack Dan Wendlandt – dan@nicira.com
  • 3. What is Quantum? Astandalone Openstackservice Provides network connectivity between a set of network “interfaces” from other service (e.g., vNICs from compute service, interfaces on a load-balancer service). Exposes API of logical abstractions for describing network connectivity + policy between interfaces. Uses a “plug-in” architecture, so multiple technologies can implement the logical abstractions. Provides a “building block” for sophisticated cloud network topologies.
  • 4. What is Quantum NOT? Something that provides all network-related processing behavior. Initial focus is on connectivity. Other advanced services like load-balancers, firewalls, etc can “plug” into a network offered by Quantum. IP address management (see next talk on IPAM) Orchestration of multiple network-related building blocks to provide higher-level abstractions to tenants (see talk on Donabe)
  • 5. Example Architecture: Single Service Openstack Dashboard Tenant API Tenant API Quantum Service Nova Service Admin API nova-api nova-scheduler Quantum Plugin Internal nova Communication XenServer #1 Hypervisor nova-compute vswitch Internal Plugin Communication
  • 6. Example Architecture: Two Services Tenant API Quantum Service Network Edge: Point at which a service “plugs” into the network. Quantum Plugin Internal Plugin Communication vswitch vswitch physical switch VM VM VM VM FW FW FW Firewall Service Compute Service Tenant API Tenant API
  • 7. Virtual Network Abstractions (1) Services (e.g., nova, atlas) expose interface-IDs via their own tenant APIs to represent any device from that service that can be “plugged” into a virtual network. Example: nova.foo.com/<tenant-id>/server/<server-id>/eth0 Tenants use Quantum API to create networks, get back UUID: Example: quantum.foo.com/<tenant-id>/network/<network-id> Tenants can create ports on a network, get a UUID, and associate config with those ports (APIs for advanced port config are TBD, initially ports give L2 connectivity): Example: quantum.foo.com/<tenant-id>/network/<network-id>/port/<port-id> Tenants can “plug” an interface into a port by setting the attachment of a port to be the appropriate interface-id. Example: set quantum.foo.com/<tenant-id>/network/<network-id>/port/<port-id>/attach to value “nova.foo.com/<tenant-id>/server/<server-id>/eth0” .
  • 8. Virtual Network Abstractions (2) Note: At no time does the customer see details of how a network is implemented (e.g., VLANs). Association of interfaces with network is an explicit step. Plugins can expose API extensions to introduce more complex functionality (e.g., QoS). Extension support is queriable, so a customer can “discover” capabilities. API extensions that represent common functionality across many plug-ins can become part of the core API. Core API for diablo is simple, focused on connectivity. Core API will evolve.
  • 9. Example Scenario: Nova i-24 10.0.0.24 Nova i-26 10.0.0.26 Nova i-22 10.0.0.22 Nova i-23 10.0.0.23 GW Instance-1 10.0.0.1 Private Net #2 Private Net #1 Tenant View Provider View Nova i-24 10.0.0.24 Nova i-26 10.0.0.26 Nova i-26 10.0.0.26 Data Center Network GW Instance-1 10.0.0.1 Nova i-24 10.0.0.24 NAT Gateway Service Compute Service
  • 11. Why Quantum? API gives ability to create interesting network topologies. Example: create multi-tier applications Provide way to connect interconnect multiple Openstack services (*-aaS). Example: Nova VM + Atlas LB on same private network. Open the floodgates to let anyone build services (open or closed) that plug into Openstack networks. Examples: VPN-aaS, firewall-aaS, IDS-aaS. Allows innovation plugins that overcomes common cloud networking problems Example: avoid VLAN limits, provide strong QoS
  • 12. How? Quantum Design Goals Decoupled from nova and other services Communication between quantum and another service should happen via well-defined Rest API (not direct python calls, no nova RPC, not shared understanding of database schemas) Be able to run without nova. Flexible enough to support plugins for many different “network edges”: Bridge / Open vSwitch on Linux Vmware DVS / Nexus 1000V Physical switches Physical switches with VEPA / VNtag
  • 13. How? Inside Quantum Plugin interface maps to “core” tenant API + admin API. “Network agents” running on nova hypervisor fit within this model. Plugin might manage just the network edge (e.g., a vswitch), or all network devices. Tenant API Admin API Auth (talk to Keystone) API Limits Plugin Communicate with external devices in a plugin-specific way to implement logical abstractions from the tenant API.
  • 14. Edge Bindings Services that expose interface-IDs must tell quantum where that interface is currently “plugged” into the network. We call this an “edge binding” Impl still fuzzy: Quantum may support an admin API that allows other services to register <interface-id, interface-location> pairs with Quantum. Many different “types” of interface-location data: XenServer: VIF-UUID Cisco 1000v: veth0 device Physical Hosting: physical switch ID + port number Openstackdeployers must make sure all services able to “speak” a interface-location type supported by the switch. There will be a “default” type supported by an open source plugin (VLAN based, like nova today?)
  • 15. Simple Plug-in Example with VLANs Similar to what Nova does for private networks: One VLAN per “network”. Hypervisor NIC is VLAN trunk, all switches are trunked. When an interface-ID is associated is associated with a network, plugin uses the edge binding to find the interface-location (a port on a vswitch) and puts that port on the correct VLAN.
  • 16. Plans for Diablo timeframe “experimental” Quantum plug-in Plug-in Agnostic: Create API, including way for plugin to register extensions. Store “ownership” + integrate with keystone for auth. Implement “edge bindings” database + API. Plugins: At least one (hopefully more!) open-source plugin that anyone can use to experiment with Quantum. Services: Perform “edge bindings” integration with nova and at least one other service.
  • 17. This is Just the Beginning…. Our goals within Diablo time frame are well scoped. Quantum is a building block, not the entire solution for all networking problems. Goal is to make sure Quantum design for Diablo does not preclude doing things we will likely consider important in the future.
  • 18. Many important questions remain: How should knowledge of the network topology and resources/capacity be used to influence workload placement decisions by the scheduler? What should be included in a broader set of core APIs (QoS, packet stats, ACLs, etc) in future iterations? Is L2 VPN (e.g., to customer site) a part of this core API, ok something the “plugs” into a virtual network? How to expose attributes of the physical network (e.g., redundant NICs) via the logical model? <Insert your question here…>