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

Post on 29-Jun-2015

1.074 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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)

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

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

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

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

Resource Model

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)

Prototype Experience

Quantum core plugin is the easiest place to implement chaining

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

top related