quantum services' chaining open stack havana design summit, portland 2013

9
Quantum - Services' Chaining & Insertion Havana Design Summit, Portland, April 2013 Big Switch Networks (Sumit Naiksatam, Kanzhe Jiang, KC Wang, Mandeep Dhami, Mike Cohen) Mirantis (Ilya Shakhat, Eugene Nikanorov) Red Hat (Gary Kotton) Many conversations Design doc: https://docs.google.com/document/d/1iLzieNKxM7xip_lRidmalAhF_6-Yf1b_cePF4yeAnkQ/edit Session Etherpad: https://etherpad.openstack.org/Quantum_Services'_Chaining_and_Insertion

Upload: sumit-naiksatam

Post on 29-Jun-2015

1.074 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Quantum services' chaining   open stack havana design summit, portland 2013

Quantum -Services' Chaining & Insertion

Havana Design Summit, Portland, April 2013

Big Switch Networks (Sumit Naiksatam, Kanzhe Jiang, KC Wang, Mandeep Dhami, Mike Cohen)

Mirantis (Ilya Shakhat, Eugene Nikanorov)

Red Hat (Gary Kotton)

Many conversations

Design doc: https://docs.google.com/document/d/1iLzieNKxM7xip_lRidmalAhF_6-Yf1b_cePF4yeAnkQ/editSession Etherpad: https://etherpad.openstack.org/Quantum_Services'_Chaining_and_Insertion

Page 2: Quantum services' chaining   open stack havana design summit, portland 2013

Motivation: ● A user needs to leverage more than one network

service in it's virtual topology. ● The order of services is important (a Loadbalancer

is front ended by a Firewall; traffic may need to be steered to FW before hitting the LB).

● How does the user request this composite service?● How does the provider support this?

Network Service 1(Bump-in-the-wire)

Network Service 3(Bump-in-the-wire)

Network Service 2(Tap)

Network Service 1(Bump-in-the-wire)

Network Service 2(L3)

Page 3: Quantum services' chaining   open stack havana design summit, portland 2013

Proposal

● A tenant-facing "Services' Chain" abstraction that lets the user request a composition of services.

● Enhancements to existing services' model to support chaining at the backend.

Network Service 1

Network Service 2

Network Service 3Source

NetworkDestination

Network

Services' Chain

Page 4: Quantum services' chaining   open stack havana design summit, portland 2013

Services' ChainExternal Network

Firewall (Bump-in-the-wire)

Loadbalancer (L3)

Web Tier

App Tier

Firewall

DB Tier

Firewall

Service Chain:[FW (BITW), LB (L3)]source: external_nwdestination: any

● ordered list of service instances

● source_network, destination_network○ Quantum networks (or

default "any")○ Caveats exist, e.g. a

service chain with L3 service at the end of the chain implicitly routes to the destination network

Page 5: Quantum services' chaining   open stack havana design summit, portland 2013

Services' Chain Templates

Issue:Not all services combinations will be validNot all service combinations may be supported

Proposal:Provider publishes service chain templates for supported combination of servicesA service chain template is an ordered list of service-types

Page 6: Quantum services' chaining   open stack havana design summit, portland 2013

Workflow

0. Provider populates service chain templates (may also need to bootstrap service backend, e.g. physical devices)

1. User looks up supported service chain templates

2. User instantiates service chain:2a. For each service in the service chain user provides configuration parameters2b. User commits service chain configuration

3. Provider (Quantum plugin) realizes chain by stitching the traffic flow in the order of the services in the chain

Page 7: Quantum services' chaining   open stack havana design summit, portland 2013

Resource Model

Page 8: Quantum services' chaining   open stack havana design summit, portland 2013

Services' Model Enhancements

Service TypesCategory: Firewall, Loadbalancer, etc.Insertion type: L3, L2, Bump-in-the-wire,TapVendor, version, other meta-info

Service Implementation ContractEach service returns attachment points (e.g. list of ingress, egress Quantum ports)

Page 9: Quantum services' chaining   open stack havana design summit, portland 2013

Prototype Experience

Quantum core plugin is the easiest place to implement chaining

Prototype branch:https://github.com/bigswitch/quantum/tree/sumit/chaining