61
Bay Area Network Virtualization Meetup – Dec 2012 CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution Open Cloud Networking Vision Dan Sneddon Member Technical Staff Twitter: @dxs 1 OCS 2.0 Public Cloud Benefits | Private Cloud Control | Open Cloud Economics The state of OpenStack networking and a vision of things to come... Thursday, December 13, 12

Open Cloud System Networking Vision

Embed Size (px)

DESCRIPTION

Presentation to Silicon Valley Virtual Networking Meetup group in December 2012 by Dan Sneddon of Cloudscaling.

Citation preview

Page 1: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Open Cloud Networking Vision

Dan Sneddon

Member Technical Staff

Twitter: @dxs

1

OCS 2.0Public Cloud Benefits | Private Cloud Control | Open Cloud Economics

The state of OpenStack networking and a vision of things to come...

Thursday, December 13, 12

Page 2: Open Cloud System Networking Vision

1. Cloudscaling Introduction

2. Elastic Clouds and Private Hybrid Clouds

3. Advanced Networking

4. Future Vision

5. Network-Based Service Resiliency

Our Journey Today

2

Thursday, December 13, 12

Page 3: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Elastic Clouds

3

Thursday, December 13, 12

Page 4: Open Cloud System Networking Vision

Two Cloud Infrastructure Models

4

Thursday, December 13, 12

Page 5: Open Cloud System Networking Vision

Two Cloud Infrastructure Models

4

Legacy Apps

EnterpriseVirtualization

1

Thursday, December 13, 12

Page 6: Open Cloud System Networking Vision

Two Cloud Infrastructure Models

4

Legacy Apps

EnterpriseVirtualization

1

NewDynamic Apps

ElasticInfrastructure

2

Thursday, December 13, 12

Page 7: Open Cloud System Networking Vision

Elastic Cloud vs Enterprise Virtualization

5

Enterprise Virtualization Elastic Cloud

Applications Traditional & Legacy Dynamic

Scaling Architecture Managed Silos Horizontal

Technology Stack Heavy & Proprietary Distributed & Open

Price/Performance Low High (4-7x better)

Failure Domains Large Small

Provisioning Slower & Manual Faster & 100% API

Best For: Server consolidation and lower datacenter mgmt costs

On-demand, scale-out infrastructure for new apps

Thursday, December 13, 12

Page 8: Open Cloud System Networking Vision

Public Elastic Clouds Are Not Enough

• Loss of control/governance• Security concerns• Integration w/ existing systems• Data privacy/patriation issues• Expensive at scale• Limited performance options• Geographic reach

Why?

Thursday, December 13, 12

Page 9: Open Cloud System Networking Vision

Wanted: Private Elastic Clouds

7

Public Benefits Private Control

DynamicApplications

Thursday, December 13, 12

Page 10: Open Cloud System Networking Vision

Wanted: Private/Public Federation

8

PublicPrivate

common architecture & behavior

Thursday, December 13, 12

Page 11: Open Cloud System Networking Vision

Wanted: Open Economics/Choice

9

• No vendor lock-in• Open source software• Standard interfaces• Commodity hardware• Community/rapid innovation

Thursday, December 13, 12

Page 12: Open Cloud System Networking Vision

Can I Build A Private Elastic Cloud Myself?

• Highly complex• Costly to build and maintain• Not where the value is• No innovation path• Not production-grade• Requires special skills

Yes, but painfully

10

Thursday, December 13, 12

Page 13: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Our Solution:Open Cloud System

11

Thursday, December 13, 12

Page 14: Open Cloud System Networking Vision

12

Our Product

Open Cloud System 2.0

The most reliable, scalable and production-grade solution for private elastic clouds powered by OpenStack technology.

Powered by

Thursday, December 13, 12

Page 15: Open Cloud System Networking Vision

13

OpenStack Elastic Cloud

Nova Cinder Swift / Hadoop Quantum

Compute BlockStorage

ObjectStorage

AdvancedNetworking

Thursday, December 13, 12

Page 16: Open Cloud System Networking Vision

14

Production-Grade FocusPerformance Can the system guarantee quality of service,

responsiveness, scalability, and economic performance?

Availability Does the system offer redundancy, resiliency, fault isolation, graceful degradation, and scale-out engineering?

Security Are best practices of default deny, least privilege, a minimal attack surface, and encryption/data privacy followed?

Maintainability Does the system provide a reliable upgrade path for new enhancements & system updates, transparency & measurability of performance, comprehensive lifecycle management, and predictable behavior?

Thursday, December 13, 12

Page 17: Open Cloud System Networking Vision

15

OCS is more than just software ... it’s OpenStack release synchronicity, Cloudscaling innovations, a compelling roadmap, community involvement & production support from a team with deep operational experience.

OCS is Production OpenStack

Virtual Machines (Nova)

Object Storage (Swift)

VM Image Management (Glance)

Identity Service (Keystone)

Hardware Lifecycle Mgmt

Topology & Data Model

Block-based Architecture

Security Hardening

Scale-Out Networking

Service Redundancy

Public Cloud Compatibility

Future

Folsom

Essex

OpenStack ecosystem contributionsaws-compat, zeromq-rpc-driver, nova-gerrit-monitor,

tarkin, cs-nova-simplescheduler, sheep

OCS is open core software that tracks the OpenStack release cycle closely.

Thursday, December 13, 12

Page 18: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Advanced Networking

16

Thursday, December 13, 12

Page 19: Open Cloud System Networking Vision

OCS Advanced Networking

17

Layer 3 Networking Plugin

Distributed NAT Service

Network Definition API

Tenant Isolation

Distributed Load Balancing

Thursday, December 13, 12

Page 20: Open Cloud System Networking Vision

Distributed NAT Service

18

Thursday, December 13, 12

Page 21: Open Cloud System Networking Vision

Avoiding RabbitMQ’s Single Point Of FailureBrokerless Messaging With ZeroMQ

19

Nova-Compute

Nova-Scheduler Nova-API

RabbitMQBroker

RabbitMQ(Brokered)

Single Point Of Failure

Thursday, December 13, 12

Page 22: Open Cloud System Networking Vision

Avoiding RabbitMQ’s Single Point Of FailureBrokerless Messaging With ZeroMQ

20

Nova-Compute

Nova-Scheduler Nova-API

RabbitMQBroker

RabbitMQ(Brokered)

Single Point Of Failure

Nova-Compute

Nova-Scheduler Nova-API

vs. ZeroMQ(Peer To Peer)

Thursday, December 13, 12

Page 23: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Quantum Development

21

Thursday, December 13, 12

Page 24: Open Cloud System Networking Vision

Nova Manages VMs, Quantum Manages Network

OpenStack Networking

22

Thursday, December 13, 12

Page 25: Open Cloud System Networking Vision

Unified Open APIs For Advanced Networking

23

Quantum Architecture

* Image From OpenStack Documentation

Thursday, December 13, 12

Page 26: Open Cloud System Networking Vision

• Layer 3 plugin to Nova Networking

• DHCP service plugin

• Network Address Translation (NAT)

• No overlapping IP assignments

• Very limited multi-tenant security

Quantum in Folsom (2012)

24

Thursday, December 13, 12

Page 27: Open Cloud System Networking Vision

• Complete Rewrite of Quantum API (v3)

• Security Group Enhancements

• Distributed Firewall Configuration API

• Distributed Load Balancer Services API

• VPN Services API

• Better integration with OpenFlow Controllers

Quantum in Grizzly (2013)

25

Thursday, December 13, 12

Page 28: Open Cloud System Networking Vision

Lots Of Choices For Virtual Network/SDN Providers

Quantum Compatibility

26

•Open vSwitch. http://www.openvswitch.org/openstack/documentation

•Nicira NVP. quantum/plugins/nicira/nicira_nvp_plugin/README and http://www.nicira.com/support.

•Midokura. http://www.midokura.com/midonet/openstack/

•BigSwitch. http://www.bigswitch.com/sites/default/files/sdn_resources/openstack_aag.pdf

•Cisco. quantum/plugins/cisco/README and http://wiki.openstack.org/cisco-quantum

•Linux Bridge. quantum/plugins/linuxbridge/README and http://wiki.openstack.org/Quantum-Linux-Bridge-Plugin  

•Ryu. quantum/plugins/ryu/README and http://www.osrg.net/ryu/using_with_openstack.html

•NEC OpenFlow. http://wiki.openstack.org/Quantum-NEC-OpenFlow-Plugin

Thursday, December 13, 12

Page 29: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Network Virtualization

27

Thursday, December 13, 12

Page 30: Open Cloud System Networking Vision

Isolation and Network Tunnels in Multi-Tenant VM Host

Network Virtualization Use Case

28

Thursday, December 13, 12

Page 31: Open Cloud System Networking Vision

• Despite the appearance of new technologies, virtual networking and SDN have been around a long time

• Prior to the latest protocols, virtual networking was achieved through creative use of VLANs, proxies, dynamic routing, GRE tunnels, and expect scripts.

• MPLS was an attempt by Cisco and the telcom providers to do managed virtual networking

• SDN isn’t new either, e.g. Ciscoworks, NetConf, Opnet

Origin Of Virtual Networking

29

It makes more sense if you know where it came from

Thursday, December 13, 12

Page 32: Open Cloud System Networking Vision

• Increased adoption of OpenFlow is an obvious inevitability

• The biggest change on the horizon: virtualized hardware

• OSS soon to be a viable option for elastic cloud networking

• Networking will be about programming, not configuring

• It is already easier to do virtual networking at scale, but soon it will also be cheaper, leading to massive disruption

Future Of Virtual Networking

30

A few bold predictions

Thursday, December 13, 12

Page 33: Open Cloud System Networking Vision

• Virtualizing network hardware: VRFs, VM support on routers, VXLANs, virtual instances

• SDN needs to be a software and hardware approach, device configuration should be done through common APIs

• A dramatic shift away from HA and failover, and toward distributed services with smaller failure domains and expectation of failure

The Path To The Future

31

Thursday, December 13, 12

Page 34: Open Cloud System Networking Vision

Bay Area Network Virtualization Meetup – Dec 2012CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution

Service Resiliency

32

Thursday, December 13, 12

Page 35: Open Cloud System Networking Vision

We mean what most people mean ...

What Do We Mean By “HA”?

33

Two servers or network devices that look like one

Thursday, December 13, 12

Page 36: Open Cloud System Networking Vision

HA pairs come in a couple flavors

“HA HA”?

34

Active / Passive

Thursday, December 13, 12

Page 37: Open Cloud System Networking Vision

People like this flavor best, but it’s not always possible...

“HA HA”?

35

Active / Active

Thursday, December 13, 12

Page 38: Open Cloud System Networking Vision

Many people wish they could get it more like this ...

“HA HA HA HA HA”??

36

HA cluster aka ‘massive operational nightmare’

Thursday, December 13, 12

Page 39: Open Cloud System Networking Vision

What is Scale-out?

37

A B

A B

A B C D N

Scale-up - Make boxes bigger (usually an HA pair)

Scale-out - Make moar boxes

Thursday, December 13, 12

Page 40: Open Cloud System Networking Vision

Scaling out is a mindset

38

bowzer.company.com web001.company.com

Servers *are* cattle

Scaling up is like treating your servers as pets

Thursday, December 13, 12

Page 41: Open Cloud System Networking Vision

They better not fail ...“HA” Pairs Are an All-in Move

39

Thursday, December 13, 12

Page 42: Open Cloud System Networking Vision

Many small failure domains is usually betterRisk Reduction

40

Thursday, December 13, 12

Page 43: Open Cloud System Networking Vision

Would you rather have the whole cloud down or just a small bit for a short period of time?

Big failure domains vs. small

41

Still a scale-up pattern ... wouldn’t you rather scale-out?

Thursday, December 13, 12

Page 44: Open Cloud System Networking Vision

Everything ...What’s Usually an “HA” Pair in OpenStack?

42

Service Endpoints(APIs)

Messaging System(RPC)

Worker Threads(e.g. Scheduler,

Networking)

Database(MySQL)

Thursday, December 13, 12

Page 45: Open Cloud System Networking Vision

Not much needs state synchronizationWhat needs to be an HA pair?

43

Service Endpoints(APIs)

Messaging System(RPC)

Worker Threads(e.g. Scheduler,

Networking)

Database(MySQL)

Thursday, December 13, 12

Page 46: Open Cloud System Networking Vision

Traditional HA Pair Failover

44

Thursday, December 13, 12

Page 47: Open Cloud System Networking Vision

Traditional HA Pair Failover

45

Thursday, December 13, 12

Page 48: Open Cloud System Networking Vision

Fault Tolerance Methodologies

46

Thursday, December 13, 12

Page 49: Open Cloud System Networking Vision

Fault Tolerance in OCS

47

Thursday, December 13, 12

Page 50: Open Cloud System Networking Vision

Service Distribution

48

Resilient Stateless Scale-out

High Availability Without Compromise

Thursday, December 13, 12

Page 51: Open Cloud System Networking Vision

Combines Standard Networking TechnologiesService Distribution

49

OSPF

Anycast

Load-BalancingProxy

/etc/quagga/ospfd.confrouter ospf ospf router-id 10.1.1.1 network 10.1.255.1 area 0.0.0.0

/etc/quagga/zebra.confinterface lo:2 description Pound listening address ip address 10.1.255.1/32

/etc/pound/pound.conf

ListenHTTP Address 10.1.255.1 Port 8774 xHTTP 1 Service BackEnd Address 10.1.1.1 Port 8774 End BackEnd Address 10.1.1.2 Port 8774 End EndEnd

Thursday, December 13, 12

Page 52: Open Cloud System Networking Vision

Horizontally Scalable, No Single Point Of FailureResilient OpenStack

Service Endpoints(APIs)

Messaging System(RPC)

Worker Threads(e.g. Scheduler,

Networking)

Database(MySQL)

Service Distribution ZeroMQ

MMR + HAService Distribution

Thursday, December 13, 12

Page 53: Open Cloud System Networking Vision

What Makes This a Superior Solution?Service Distribution Advantages

51

• True horizontal scalability with no centralized controller

• Services are always running, failover is nearly instant

• Reduced complexity, fewer idle resources

• No need for separate load balancers

Server Server Server Server Server Server Server ...Failover Distributed Servicesvs.

Thursday, December 13, 12

Page 54: Open Cloud System Networking Vision

Service Distribution Works With Multiple Sites

Site Failover and Global LB

52

• Traditional HA pairs do not support cross-site resiliency

• Service Distribution fail across sites without DNS redirections

Thursday, December 13, 12

Page 55: Open Cloud System Networking Vision

53

Example: Distributed Load Balancing

HTTP Proxy

V

HTTP Proxy

OSPF Router(s)

OSPF1)

OSPFadvertisement

OSPFadvertisement

Quagga Quagga

Service Distribution in Action

Thursday, December 13, 12

Page 56: Open Cloud System Networking Vision

54

Example: Distributed Load BalancingService Distribution in Action

HTTP Proxy

V

HTTP Proxy

OSPF Router(s)

OSPF1)

OSPFadvertisement

OSPFadvertisement

Quagga Quagga

Per-FlowLoad

Balancing

ECMP Per-flowLoad Balancing

2)

HTTP ProxyHTTP Proxy

2)

Load-balancingHTTP Proxy

3)

1)

Thursday, December 13, 12

Page 57: Open Cloud System Networking Vision

55

Example: Distributed Load BalancingService Distribution in Action

HTTP Proxy

V

HTTP Proxy

OSPF Router(s)

OSPF1)

OSPFadvertisement

OSPFadvertisement

Quagga Quagga

Per-FlowLoad

Balancing

ECMP Per-flowLoad Balancing

2)

HTTP ProxyHTTP Proxy

2)

Load-balancingHTTP Proxy

3)

1)

HTTP ProxyHTTP Proxy

Unlimited #of Back-EndServers

4)

Server ServerServer Server

Thursday, December 13, 12

Page 58: Open Cloud System Networking Vision

56

10% LoadEach

Server

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Server Server Server Server

Client

1 2 3 4

1 2 3 4

Failure Resiliency

Load Balancer/Proxy

Server

Server Server Server Server Server

Client Client Client

Thursday, December 13, 12

Page 59: Open Cloud System Networking Vision

57

10% LoadEach

Server

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Server Server Server Server

Client

1 2 3 4

1 2 3 4

Failure Resiliency

Load Balancer/Proxy

Server

Server Server Server Server Server

Client Client Client

X1

Thursday, December 13, 12

Page 60: Open Cloud System Networking Vision

58

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Load Balancer/Proxy

Server Server Server Server

Client

1 2 3 4

1 2 3 4

Failure Resiliency

Load Balancer/Proxy

Server

Server Server Server Server Server

Client Client Client

X 10% Increased

Server Load

Thursday, December 13, 12

Page 61: Open Cloud System Networking Vision

CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution 59

Thursday, December 13, 12