Openstack architecture for the enterprise (Openstack Ireland Meet-up)

Preview:

DESCRIPTION

 

Citation preview

OpenStack Architecture for the Enterprise

Keith Tobin Cloud Architect

2 Services OpenStack Architecture for the Enterprise

Speaker Profile

• Dell Cloud Architect

• Located in the Dell Cloud Center of Excellence in Dublin, Ireland

• Over two decades of software, platform and cloud development

• Organizer for OpenStack Ireland

• Loves all things OpenStack and Cloud

Keith Tobin

3 Services OpenStack Architecture for the Enterprise

Forward & Backward Leaning Applications

Forward leaning applications are like cows

Backward leaning applications are like dogs

• They get names like ‘pepper’.

• We care about them, when they get sick the nurse them back to health.

• They get numbers like ‘726’

• When the get sick the are replaced.

4 Services OpenStack Architecture for the Enterprise

Important Question

• What type of workload will my cloud being running? a) Forward leaning. b) Backward leaning. c) Mixed, both forward and backward.

5 Services OpenStack Architecture for the Enterprise

Not all OpenStack deployments are the same

• Openstack is like a kit car. It is a set of building blocks that can be assembles in top a cloud.

6 Services OpenStack Architecture for the Enterprise

Design Goals

• Design an OpenStack architecture to run both enterprise and cloud applications

• Meet enterprise performance expectations for VM’s, networking and storage

• Zero downtime on the control layer

• No data loss in the event of a single node failure

• Must be durable, reliable and highly available

• Must automatically recover after a fault situation has been fixed

• Minimize management tasks

7 Services OpenStack Architecture for the Enterprise

Solution Stack

Percona MySQL

Deployment

Dynamic Load balancer

RabbitMQ Cluster

Storage

Networking Physical Layer

Servers R620 R720 C6100

Crowbar

Force10 SonicWall

RabbitMQ Cluster For HA

SUSE Linux SUSE Linux

Security SecureWorks

Managed Cloud Services

OpenStack OpenStack Titanium

CEPH on R720

Highly Available Dynamic Load Balancing

Tested Solution

8 Services OpenStack Architecture for the Enterprise

Deployment With Crowbar

9 Services OpenStack Architecture for the Enterprise

Deploying OpenStack with Crowbar Is Easy

• Crowbar boots and installs from ISO on a management node (server)

• Provides user with web UI for configuration and operations management

• Discovers all potential targets (servers) automatically

• Performs hardware configuration – BIOS configuration

– Performs updates to BIOS and firmware

• Installs OS on targets

• Deploys OpenStack from a set of configuration modules called barclamps

10 Services OpenStack Architecture for the Enterprise

Crowbar Deployment

Chef Server

Crowbar PXE

DHCP

Identity

Barclamp

Database

Barclamp

Image

Barclamp

Networking

Barclamp

Block storage

Barclamp

Nova

Barclamp

Horizon

Barclamp

Controller

Node 01

Controller

Node 02

Controller

Node 03

Compute

Node 01

Compute

Node 02

Compute

Node 03

OpenStack

11 Services OpenStack Architecture for the Enterprise

Crowbar 2 Status

12 Services OpenStack Architecture for the Enterprise

Network Infrastructure

13 Services OpenStack Architecture for the Enterprise

Redundant Network Infrastructure

Force 10 - Z9000

F10-Z9000

Network

Switch

Existing network fabric

Force 10 - S4810 Force 10 - S4810 Force 10 - S4810 Force 10 - S4810

Compute Node

Compute Node

Compute Node

Compute Node

Compute Node

Compute Node

Compute Node

14 Services OpenStack Architecture for the Enterprise

Load Balancer

15 Services OpenStack Architecture for the Enterprise

Active/Passive (Normal)

Load Balancer 01

(Active)

Load Balancer 02

(Passive)

Keystone etc.

Keystone etc.

Keystone etc.

KeepaliveD KeepaliveD

VIP Server 01 Server 02

VIP

Load Balancer 01

(Inactive)

Load Balancer 02

(Active)

Incoming API

Requests

Incoming API

Requests

Active/Passive (Fault)

16 Services OpenStack Architecture for the Enterprise

Single HAProxy Bottleneck

HAProxy

Horizon

Glance-API

Nova-scheduler

Nova-API

Keystone-API

Neutron-API

Cinder-API

Neutron L2

Neutron L3

Neutron DHCP

Glance-registry

RabbitMQ

MySQL

iVIP eVIP

HAProxy

Horizon

Glance-API

Nova-scheduler

Nova-API

Keystone-API

Neutron-API

Cinder-API

Neutron L2

Neutron L3

Neutron DHCP

Glance-registry

RabbitMQ

MySQL

Server 01

(Active LB)

Server 02

Inactive LB

17 Services OpenStack Architecture for the Enterprise

Dynamic Load Balancing

HAProxy HAProxy

Keystone

Etc….

Keystone

Etc…..

Keystone

Etc……

Quagga Quagga

Server 01 Server 02

HAProxy

Quagga

Server 03

Network

Switch

Network

Switch

OSPF

ECMP

Incoming API Traffic

18 Services OpenStack Architecture for the Enterprise

Neutron

19 Services OpenStack Architecture for the Enterprise

Neutron (Single Networking Node)

Keystone

Glance

MySQL

Etc….

Controller 01

Keystone

Glance

MySQL

Etc….

Controller 02

Nova

Compute 01

Nova

Compute 03

Network 01

OVS Agent

L3 Agent

DHCP Agent

Neutron API

Internet

Nova

Compute 02

Nova

Compute 04

20 Services OpenStack Architecture for the Enterprise

Neutron (Separate Networking Nodes)

Controller 01 Compute 01

OVS Agent

L3 Agent

DHCP Agent

Neutron API

Internet

Controller 02

Neutron API

Ect….

Controller 03

Neutron API

Neutron Scheduler

Neutron Scheduler

Neutron Scheduler

Compute 02

OVS Agent

L3 Agent

DHCP Agent

Compute 03

OVS Agent

L3 Agent

DHCP Agent

Compute 04

OVS Agent

L3 Agent

DHCP Agent

Other OpenStack

Services

Other OpenStack

Services

Other OpenStack

Services

HAProxy HAProxy HAProxy

Quagga Quagga Quagga

21 Services OpenStack Architecture for the Enterprise

RabbitMQ

22 Services OpenStack Architecture for the Enterprise

RabbitMQ Cluster (With Mirrored Queues)

Controller 01

RabbitMQ

Controller 02

RabbitMQ

Ect….

Controller 03

RabbitMQ

Other OpenStack

Services

Other OpenStack

Services

Other OpenStack

Services

HAProxy HAProxy HAProxy

Quagga Quagga Quagga

Dynamic Load Balancer

Physical View Logical View

End Point

RabbitMQ 01 RabbitMQ 02 RabbitMQ 03

23 Services OpenStack Architecture for the Enterprise

MySQL Database

24 Services Openstack Architecture for the Enterprise

MySQL Single Server (Normal Operation)

DB Server

Data

Application

25 Services Openstack Architecture for the Enterprise

MySQL Single Server (Failed)

DB Server 1

(Active)

Data

Application

26 Services Openstack Architecture for the Enterprise

MySQL Single Server (Failed)

DB Server 1

(Active)

Data

Application • Disadvantage

• Single point of failure

27 Services Openstack Architecture for the Enterprise

MySQL Active/Passive Failover

28 Services Openstack Architecture for the Enterprise

MySQL Active/Passive Failover (Normal Operation)

DB Server 1

(Active)

Data

DB Server 2

(Passive)

Data

Application

Async Replication

DB Server 1

(Failed)

Data

DB Server 2

(Active)

Data

MySQL Active/Passive Failover (Failed Node)

Disadvantages

• Inactive Server

• Limits scale

• Reduces the potential workload processing ability of the solution by half

• Async replication has potential for data inconsistencies across server nodes in fault situations

29 Services Openstack Architecture for the Enterprise

MySQL With DRDB

30 Services Openstack Architecture for the Enterprise

MySQL With DRDB (Normal Operation)

DB Server 1

Data

DB Server 2

Data

Application

Event

Event Confirmed

Server Not Available !

Disadvantages

• Inactive server

• Limits scale

• Reduces the potential workload processing ability of the solution by half

(Failed)

31 Services Openstack Architecture for the Enterprise

MySQL Multi-Master

32 Services Openstack Architecture for the Enterprise

MySQL Multi-Master Cluster

DB Server 1

Data

Application 01

DB Server 2

Data

DB Server 3

Data

Load balancer

Application 02

33 Services Openstack Architecture for the Enterprise

MySQL Multi-Master Cluster (Failed Node)

DB Server 1

Data

Application 01

DB Server 2

Data

DB Server 3

Data

Load balancer

Application 02

34 Services Openstack Architecture for the Enterprise

MySQL Async Replication

35 Services Openstack Architecture for the Enterprise

MySQL Async Replication

Server 1

Data

Server N

Data

• No guarantee that data will be consistent across all nodes at any point in time

36 Services Openstack Architecture for the Enterprise

MySQL Single Thread replication

C1 C2 C3 C4

C5 C6 C7 C8

Processor

37 Services Openstack Architecture for the Enterprise

MySQL Multi-Master Cluster

DB Server 1

Data

Application 01

DB Server 2

Data

DB Server 3

Data

Load balancer

Application 02

Disadvantages

• At any point in time there is no guarantee that data is in a consistent state within the cluster

• One thread allocated for replication tasks

38 Services Openstack Architecture for the Enterprise

Percona MySQL Cluster

39 Services Openstack Architecture for the Enterprise

Percona MySQL Cluster

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

40 Services Openstack Architecture for the Enterprise

Synchronous Replication

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

Server 1

Data

Server 2

Event

Event Confirmed

Application 01

Data

41 Services Openstack Architecture for the Enterprise

Data Consistency

Server 1

Data

Server 2

Data

Server 3

Data

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

At any point in time data is always consistent across all nodes in the cluster

42 Services Openstack Architecture for the Enterprise

Parallel Applying on All Nodes

C1 C2 C3 C4

C5 C6 C7 C8

Processor

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

43 Services Openstack Architecture for the Enterprise

Atomic Node Provisioning

DB Server 4

Data

Join Cluster

Join Cluster

DB Server 1

Data

DB Server 3

Data

DB Server 2

Data

New Node

Cluster

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

44 Services Openstack Architecture for the Enterprise

Multi-Master Cluster

DB Server 1

Data

Application 01

DB Server 2

Data

DB Server 3

Data

Dynamic Load balancer

Application 02

Capability

Synchronous Replication

Data Consistency

Parallel Applying on All Nodes

Atomic Node Provisioning

Multi-Master

45 Services OpenStack Architecture for the Enterprise

Block Storage

46 Services OpenStack Architecture for the Enterprise

Block Storage

CEPH on R720

47 Services OpenStack Architecture for the Enterprise

Logical Architecture

48 Services OpenStack Architecture for the Enterprise

Thank you….

Keith Tobin Cloud Architect

Recommended