60
NEUTRON ADVANCED SERVICES ERIC LOPEZ ERIC.LOPEZ @ AKANDA.IO @ERICDLOPEZ

Neutron Advanced Services - Akanda - Astara 201 presentation

Embed Size (px)

Citation preview

Page 1: Neutron Advanced Services - Akanda - Astara 201 presentation

NEUTRON ADVANCED SERVICESERIC LOPEZERIC.LOPEZ @ AKANDA.IO@ERICDLOPEZ

Page 2: Neutron Advanced Services - Akanda - Astara 201 presentation

About Me

Sr. Solution Architect at Akanda Inc

Former Solution Architect @ VMware & Nicira

Openstack Security Guide Co-Author

Page 3: Neutron Advanced Services - Akanda - Astara 201 presentation

Where are we headed today?

Neutron BasicsAdvance Services: LBaaS, VPNaaS, FWaaSAkanda an Advanced Service PluginNeutron: Liberty and Beyond

Page 4: Neutron Advanced Services - Akanda - Astara 201 presentation

NEUTRON BASICS

Page 5: Neutron Advanced Services - Akanda - Astara 201 presentation

OSI Model

Physical Layer

Data Link Layer

Network Layer

Transport Layer

Session Layer

Presentation Layer

Application Layer

1

2

3

4

5

6

7

TCP, UDP

IPv4,IPv6, ICMP

HTTP, DNS, etc

ARP, Ethernet, VLAN

Page 6: Neutron Advanced Services - Akanda - Astara 201 presentation

OpenStack

Page 7: Neutron Advanced Services - Akanda - Astara 201 presentation

What does the user see?

Compute API

Network API

Storage APIGUI, CLI, API Libs

KVM

ML2 Plugin

Ceph

Page 8: Neutron Advanced Services - Akanda - Astara 201 presentation

Abstractions

Net110.0.0.0/24

Nova

Neutron

L2 virtual network

virtual port

virtual server

virtual interface (VIF)

virtual subnet

VM110.0.0.2

VM210.0.0.2

Page 9: Neutron Advanced Services - Akanda - Astara 201 presentation

Using the API…VM1

10.0.0.2VM2

10.0.0.2/172.16.77.2

VM3172.16.77.1

Tenant A Net1

192.168.0.0/24

Tenant A Net2

172.16.77.0/24

Public Net10.0.0.0/8

VM110.0.0.2

VM210.0.0.2/172.1

6.77.2VM3

172.16.77.1

Tenant B Net1

192.168.0.0/24

Tenant B Net2

172.16.77.0/24

Router Router

Page 10: Neutron Advanced Services - Akanda - Astara 201 presentation

Design Goals

Unified APISmall CorePluggable Open ArchitectureExtensible

Page 11: Neutron Advanced Services - Akanda - Astara 201 presentation

UNDER THE HOOD

Page 12: Neutron Advanced Services - Akanda - Astara 201 presentation

OpenStack

Page 13: Neutron Advanced Services - Akanda - Astara 201 presentation
Page 14: Neutron Advanced Services - Akanda - Astara 201 presentation
Page 15: Neutron Advanced Services - Akanda - Astara 201 presentation

Reference Neutron

neutron-server

L2 AgentL2 AgentL2 AgentL2 AgentL2 AgentL2 Agent

L3 AgentL3 Agent

L3 AgentL3 Agent

Database

L3 Agent

DHCP Agent

L2 Agent

Message

Queue

Adv Services

neutron-server

Page 16: Neutron Advanced Services - Akanda - Astara 201 presentation

neutron-server

REST API SERVICE RPC SERVICE

PLUGIN

Provides REST API ServiceManages Logical ModelsPluggableExtensible

Page 17: Neutron Advanced Services - Akanda - Astara 201 presentation

Plugin ExtensionsAdd logical resources to the REST APIDiscovered by server at startup

REST: /v2.0/extensionsCommon Extensions

Binding, DHCP, L3, Provider, Quota, Security GroupOther Extensions

Allowed Addresses, Extra Routes, Metering

Page 18: Neutron Advanced Services - Akanda - Astara 201 presentation

BUILDING NETWORKS

Page 19: Neutron Advanced Services - Akanda - Astara 201 presentation

Building Networks…

L2 vs L3

Tenant Isolation

GRE/VXLAN/GENEVE

VLAN

© Malcolm Leman | Dreamstime.com

Page 20: Neutron Advanced Services - Akanda - Astara 201 presentation

Traditional L2802.1Q

Aggregation tier must be HA

MLAG is vendor proprietary

Aggregate/Core Scalability

limited number available

MAC/ARP table limits

East/West Bottleneck

Page 21: Neutron Advanced Services - Akanda - Astara 201 presentation

L3 Maximizes Connectivity

HVHVHVHVHV

HVHVHVHVHV

HVHVHVHVHV

HVHVHVHVHV

Page 22: Neutron Advanced Services - Akanda - Astara 201 presentation

Isolation via VXLANVXLAN

L2 encapsulated L3IP Fabrics Scale

Reduces L2 sizeECMP (Equal Cost Multi-Path)

Each link activePredictable latencyBetter failure handling

Page 23: Neutron Advanced Services - Akanda - Astara 201 presentation

What is BUM Traffic?

BROADCAST

UNKNOWN UNICAST

MULTICAST

Page 24: Neutron Advanced Services - Akanda - Astara 201 presentation

Tunneling BUM Traffic

A

D

CB

Page 25: Neutron Advanced Services - Akanda - Astara 201 presentation

Tunneling BUM with L2 Population

A

D

CB

Page 26: Neutron Advanced Services - Akanda - Astara 201 presentation

WHEN IS FLAT A GOOD IDEA?

Page 27: Neutron Advanced Services - Akanda - Astara 201 presentation

LOAD BALANCING AS A SERVICE

Page 28: Neutron Advanced Services - Akanda - Astara 201 presentation

Load Balancer as a Service

Tenant Provisioned Load Balancer InstancesNew API (v2) Released in Kilo

Updated Logical ModelTLS Support (requires Barbican)

Octavia Projecthttp://octavia.io

Page 29: Neutron Advanced Services - Akanda - Astara 201 presentation

LBaaS HistoryFolsom Grizzly Havana Icehouse Juno KiloWorking Group

Experimental APIAPI v2 Stability

Improvements v2

Working Group

API v2

Page 30: Neutron Advanced Services - Akanda - Astara 201 presentation

LBaaS Data Model

Logical Model renders on service providerLeast Common Denominator

Extra feature require extensions

Load Balancer

Pool

Pool

Listener

Page 31: Neutron Advanced Services - Akanda - Astara 201 presentation

Load Balancer Model

VIP PortProvider

Load Balancer

Page 32: Neutron Advanced Services - Akanda - Astara 201 presentation

Listener Model

ProtocolHTTP, HTTPS, TCP

PortDefault PoolTLS Information

Load Balancer Listener

Page 33: Neutron Advanced Services - Akanda - Astara 201 presentation

Pool Model

Session PersistenceAlgorithmMember SetHealth monitor Set

Load Balancer Listener

Pool

Pool

Page 34: Neutron Advanced Services - Akanda - Astara 201 presentation

Member Model

AddressPortWeightSubnet

Load Balancer Listener

Pool

Pool

Page 35: Neutron Advanced Services - Akanda - Astara 201 presentation

Health Monitor ModelTypeTimeoutDelayFor HTTP

MethodResponse Code

Load Balancer Listener

Pool

Pool

Page 36: Neutron Advanced Services - Akanda - Astara 201 presentation

Barbican

Provides secure storage, provisioning and management of secret dataPluggable crypto components

KMIPHSM

Page 37: Neutron Advanced Services - Akanda - Astara 201 presentation

Load Balancer as a Service

Page 38: Neutron Advanced Services - Akanda - Astara 201 presentation

NEUTRON ADVANCED SERVICES

Page 39: Neutron Advanced Services - Akanda - Astara 201 presentation

Firewall as a Service

Tenant Provisioned Edge FirewallLogically at the edge

In reality maybe anywhere in data path API still deprecatedWill be replaced in Mitaka

Page 40: Neutron Advanced Services - Akanda - Astara 201 presentation

Security Groups

Logically Protect VIF

Allow East/West Filtering

Based on Whitelist

VMs with multiple groups per VIF

Ingress/Egress Rules

Different from AWS

Page 41: Neutron Advanced Services - Akanda - Astara 201 presentation

LOOKING AHEAD

Page 42: Neutron Advanced Services - Akanda - Astara 201 presentation

OpenStack’s Big Tent

Open Design

Open Development

Open Community

Open Source

Page 43: Neutron Advanced Services - Akanda - Astara 201 presentation

The Neutron Stadium

Common Forum

Improved Consistency

Shared Governance

Page 44: Neutron Advanced Services - Akanda - Astara 201 presentation

Neutron: LibertyQoS Plugin Model - Extension and API

LBaaS v2

IPv6 Prefix Delegation

IPAM pluggable model framework

Network RBAC

Paying Down Technical Debt Canadian2006 - Liberty, Saskatchewan (CC-by-sa-3.0)

commons.wikimedia.org/w/index.php?title=User:Canadian2006&action=edit&redlink=1

Page 45: Neutron Advanced Services - Akanda - Astara 201 presentation

Service Function Chaining

Forwarding Graph of Functionsie Firewall > Router > Load Balancer

Some SDNs support SFC todayClassification rules used to steer traffic

LB FWSource DestClassifie

r QoSCache

Page 46: Neutron Advanced Services - Akanda - Astara 201 presentation

INTRODUCING ASTARA

Page 47: Neutron Advanced Services - Akanda - Astara 201 presentation

Astara Core Developer TeamMark McClain (IRC: markmcclain)

Co-Founder/CTO at Akanda IncOpenStack Technical Committee MemberFormer OpenStack Networking PTL

Ryan Petrello (IRC: ryanpetrello)Senior Developer at DreamhostOpenstack Contributor since 2012

Adam Gandelman (IRC: adam_g)Openstack Astara PTLSenior Developer at Akanda IncOpenstack Stable Branch Maintenance Team MemberFormer Openstack Developer at Canonical and HP

David Lenwell (IRC: davidlenwell)Senior Developer at Akanda IncOpenstack refstack Technical Project LeadFormer Openstack Developer at Piston, HP, and Bluebook

Page 48: Neutron Advanced Services - Akanda - Astara 201 presentation

Core Astara Principles

SimpleCompatibleOpen Development (Apache v2)

Page 49: Neutron Advanced Services - Akanda - Astara 201 presentation

Reference Neutron

neutron-server

L2 AgentL2 AgentL2 AgentL2 AgentL2 AgentL2 Agent

L3 AgentL3 Agent

L3 AgentL3 Agent

Database

L3 Agent

DHCP Agent

L2 Agent

Message

Queue

Adv Services

neutron-server

Page 50: Neutron Advanced Services - Akanda - Astara 201 presentation

Neutron+Astara

neutron-server

L2 AgentL2 AgentL2 AgentL2 AgentL2 AgentL2 Agent

Database

Astara L2 Agent

Message

Queue

neutron-server

Page 51: Neutron Advanced Services - Akanda - Astara 201 presentation

THE RUG

“REALLY TIED THE ROOM TOGETHER”

Page 52: Neutron Advanced Services - Akanda - Astara 201 presentation

The Rug

Control Plane OrchestrationLogically CentralizedPluggable DriversMulti-Process/Multi-ThreadedUtilizes standard APIs/interfaces for Neutron, Nova, Glance and Ceilometer

Page 53: Neutron Advanced Services - Akanda - Astara 201 presentation

Astara Architecture

AstaraManagement

/Orchestratio

nPhysical Network (L2)

Nova

Neutron

Open:OVS/LinuxBridge Proprietary

Astara L2 Agnostic Overlay Support

Astara Adv Services: Routing/LB/FW

OpenStack APIs

Page 54: Neutron Advanced Services - Akanda - Astara 201 presentation

Neutron Reference

HVHVHVHVHV

HVHVHVHVHV

HVHVHVHVHV

Network NodeNetwork Node

Page 55: Neutron Advanced Services - Akanda - Astara 201 presentation

Astara

HVHVHVHVHV

HVHVHVHVHV

HVHVHVHVHV

HVHVHVHVHV

Page 56: Neutron Advanced Services - Akanda - Astara 201 presentation

or with containers

HVHVHVHVHV

CCCCC

CCCCC

HVHVHVHVHV

Page 57: Neutron Advanced Services - Akanda - Astara 201 presentation

Astara Project

Get the source: https://github.com/openstack/astaraProject status and tarballs: https://launchpad.net/astaraDocumentation: http://docs.akanda.ioIRC - #openstack-astara on freenode.net

Page 58: Neutron Advanced Services - Akanda - Astara 201 presentation

THANK YOU

Page 59: Neutron Advanced Services - Akanda - Astara 201 presentation

Astara Liberty Feature Release

HA orchestration daemonService Appliance Pool ResourcingLBaaS v2 support -

Page 60: Neutron Advanced Services - Akanda - Astara 201 presentation

QUESTIONS?