Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

OpenStack Architecture for the Enterprise

Keith Tobin

Greg Jacobs

Cloud Architect

Network Architect

2

Speaker Profiles
Keith Tobin

Greg Jacobs

• Dell Cloud Architect

• Dell Network Architect

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

• 20 years working as a network
architecture and solutions specialist

• Over two decades of software,
platform and cloud development

• Network evangelist and packet head

• Organizer for OpenStack Ireland
• Loves all things OpenStack and
Cloud
2

OpenStack Architecture for the Enterprise

Services

3

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

3

OpenStack Architecture for the Enterprise

Services

4

Solution Stack
Dell Private Managed Cloud
Solution
Enstratius

Dell Multi-Cloud Manager
OpenStack

CEPH on R720

R720

C6100

4

OpenStack Architecture for the Enterprise

Force10

SonicWall

Servers
Security

Cloud Services

Crowbar

SUSE Linux
Networking Physical Layer

R620

OpenStack
Titanium

Storage
Deployment

SUSE Linux

Tested Qualified Solution

SecureWorks

Managed

Services

5

Deployment
With
Crowbar

5

OpenStack Architecture for the Enterprise

Services

6

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

6

OpenStack Architecture for the Enterprise

Services

7

Crowbar Deployment
OpenStack
Database

Controller

Barclamp

Node 01

Identity

Controller

DHCP

Barclamp

Node 02

Image

Controller

Barclamp

Node 03

Block storage
Barclamp

Crowbar

PXE

Node 01

Networking
Barclamp
Nova

Compute

Chef Server

Compute
Node 02

Barclamp

Compute

Horizon

Node 03

Barclamp

7

OpenStack Architecture for the Enterprise

Services

8

Crowbar 2 Status

8

OpenStack Architecture for the Enterprise

Services

9

Load
Balancer

9

OpenStack Architecture for the Enterprise

Services

10

Active/Passive (Normal)
Incoming API
Requests

Controller

VIP

01

Controller
02

KeepaliveD
Load
Balancer 01

KeepaliveD
Load
Balancer 02

(Inactive)
(Active)

(Passive)
(Active)

Keystone
etc…
10

OpenStack Architecture for the Enterprise

Keystone
etc…

Keystone
etc…
Services

11

Active/Passive (Fault)
Incoming API
Requests

Controller

Controller

01

02

VIP

KeepaliveD
Load
Balancer 01

KeepaliveD
Load
Balancer 02

(Inactive)
(Active)

(Passive)
(Active)

Keystone
etc…
11

OpenStack Architecture for the Enterprise

Keystone
etc…

Keystone
etc…
Services

12

Single HAProxy Bottleneck
Controller
01
(Active LB)

iVIP

eVIP

Controller

02
HAProxy
MySQL

Inactive LB

HAProxy
MySQL

RabbitMQ
Horizon

Horizon

Glance-API

Glance-API

Glanceregistry
Novascheduler

Glanceregistry
Novascheduler

Nova-API

Nova-API

Keystone-API

Keystone-API

Cinder-API

Cinder-API

Neutron-API

Neutron-API

Neutron L2

Neutron L2

Neutron L3

Neutron L3

Neutron
DHCP

12

RabbitMQ

Neutron
DHCP

OpenStack Architecture for the Enterprise

Services

13

Dynamic Load Balancing

Incoming API Traffic

Network

Network

Switch

Switch

OSPF
ECMP

Controller
01

Controller
02

Quagga

HAProxy

Controller
Quagga

03

HAProxy

HAProxy

Keystone

Keystone

Keystone

etc…
13

Quagga

etc…

etc…

OpenStack Architecture for the Enterprise

Services

14

Neutron

14

OpenStack Architecture for the Enterprise

Services

15

Neutron (Single Networking Node)
Controller 01

Controller 02

Compute 01

Compute 03

Keystone

Keystone

Nova

Nova

Glance

Glance

MySQL

MySQL

Compute 02

Compute 04

etc…

etc…

Nova

Nova

Network 01
Neutron API

L3 Agent

OVS Agent

DHCP Agent

Internet

15

OpenStack Architecture for the Enterprise

Services

16

Neutron (Separate Networking Nodes)
Controller 02

Controller 03

Compute 01

Compute 02

HAProxy

HAProxy

HAProxy

L3 Agent

L3 Agent

Quagga

Quagga

Quagga

DHCP Agent

DHCP Agent

Neutron API

Neutron API

Neutron API

OVS Agent

OVS Agent

Neutron
Scheduler

Neutron
Scheduler

Neutron
Scheduler

Other
OpenStack
Services

Other
OpenStack
Services

OpenStack
Services

Compute 03

Compute 04

L3 Agent

L3 Agent

DHCP Agent

DHCP Agent

OVS Agent

OVS Agent

Controller 01

Ect….
Other

Internet

16

OpenStack Architecture for the Enterprise

Services

17

RabbitMQ

17

OpenStack Architecture for the Enterprise

Services

18

RabbitMQ Cluster (With Mirrored Queues)
Physical View

Logical View

Controller 02

HAProxy

HAProxy

HAProxy

Quagga

Quagga

Quagga

RabbitMQ

RabbitMQ

RabbitMQ

Other
OpenStack
Services

Other
OpenStack
Services

End Point

Controller 03

Other
Ect….
OpenStack
Services

Controller 01

Dynamic Load
Balancer

RabbitMQ 01

18

OpenStack Architecture for the Enterprise

RabbitMQ 02

RabbitMQ 03

Services

19

MySQL
Database

19

OpenStack Architecture for the Enterprise

Services

20

MySQL Single Server (Normal Operation)
Application

DB Server

Data

20

Openstack Architecture for the Enterprise

Services

21

MySQL Single Server (Failed)
Application

DB Server 1
(Active)

Data

21

Openstack Architecture for the Enterprise

Services

22

MySQL Single Server (Failed)
• Disadvantage
• Single point of failure

Application

DB Server 1
(Active)

Data

22

Openstack Architecture for the Enterprise

Services

23

MySQL
Active/Passive
Failover

23

Openstack Architecture for the Enterprise

Services

24

MySQL Active/Passive Failover (Failed Node)
Active/Passive Failover (Normal Operation)
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
24

Openstack Architecture for the Enterprise

Application

DB Server 1

DB Server 2
DB Server 2

(Active)
(Failed)

(Passive)
(Active)

Async Replication
Data

Data

Services

25

MySQL With
DRDB

25

Openstack Architecture for the Enterprise

Services

26

MySQL With DRDB (Normal Operation)
Disadvantages
• Inactive server
• Limits scale
• Reduces the potential
workload processing
ability of the solution
by half

Application

DB Server 1

DB Server 2

(Failed)
Server Not Available !

Event

Data

Data

Event
Confirmed
26

Openstack Architecture for the Enterprise

Services

27

MySQL MultiMaster

27

Openstack Architecture for the Enterprise

Services

28

MySQL Multi-Master Cluster
Application
01

Application
02
Load balancer

DB
Server 1

DB
Server 2

Data

Data

DB
Server 3
Data

28

Openstack Architecture for the Enterprise

Services

29

MySQL Multi-Master Cluster (Failed Node)
Application
01

Application
02
Load balancer

DB
Server 1

DB
Server 2

Data

Data

DB
Server 3
Data

29

Openstack Architecture for the Enterprise

Services

30

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

Openstack Architecture for the Enterprise

Server N

Data

30

Server 1

Data

Services

31

MySQL Single Thread replication
Processor
C1

Openstack Architecture for the Enterprise

C3

C4

C5

31

C2

C6

C7

C8

Services

32

MySQL Multi-Master Cluster
Application
01

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

Application
02
Load balancer

DB
Server 1

DB
Server 2

Data

Data

DB
Server 3
Data

32

Openstack Architecture for the Enterprise

Services

33

Percona
MySQL
Cluster

33

Openstack Architecture for the Enterprise

Services

34

Percona MySQL Cluster

Capability
Synchronous Replication
Data Consistency
Parallel Applying on All Nodes
Automatic Node Provisioning
Multi-Master

34

Openstack Architecture for the Enterprise

Services

35

Synchronous Replication
Application
01

Capability

Controller

Controller

DB 1

DB 2

Synchronous Replication
Data Consistency

Event

Parallel Applying on All
Nodes
Data

Data

Event
Confirmed
35

Openstack Architecture for the Enterprise

Automatic Node
Provisioning
Multi-Master

Services

36

Data Consistency

Controller

Controller

Server

DB 1

DB 2

DB 3
Capability

Data

Data

Data

Synchronous Replication
Data Consistency
Parallel Applying on All
Nodes

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

Openstack Architecture for the Enterprise

Automatic Node
Provisioning
Multi-Master

Services

37

Parallel Applying on All Nodes
Processor
C1

C2

C3

C4

C5

C6

C7

C8

Capability

Synchronous Replication
Data Consistency
Parallel Applying on All
Nodes

Automatic Node
Provisioning
Multi-Master

37

Openstack Architecture for the Enterprise

Services

38

Automatic Node Provisioning
Controller
DB 1

New Node
Controller
DB 4

Join Cluster

Data

Join Cluster

Data

Capability

Cluster
Controller
DB 2
Data

Synchronous Replication
Controller
DB 3
Data

Data Consistency
Parallel Applying on All
Nodes

Automatic Node
Provisioning
Multi-Master

38

Openstack Architecture for the Enterprise

Services

39

Multi-Master Cluster
Application
01

Application
02
Dynamic Load balancer

Capability
Controller
DB 1

Controller
DB 2

Synchronous Replication
Data Consistency

Data

Data
Controller
DB 3

Data

39

Openstack Architecture for the Enterprise

Parallel Applying on All
Nodes

Automatic Node
Provisioning
Multi-Master

Services

40

Block Storage

40

OpenStack Architecture for the Enterprise

Services

41

Block Storage
CEPH on R720

41

OpenStack Architecture for the Enterprise

Services

42

Logical Architecture

42

OpenStack Architecture for the Enterprise

Services

43

Thank you
Chat with Keith and Greg
@ the Dell booth
Keith Tobin Greg Jacobs
Cloud Architect
43

Network Architect

OpenStack Architecture for the Enterprise

Services

More Related Content

Architecture Openstack for the Enterprise

  • 1. OpenStack Architecture for the Enterprise Keith Tobin Greg Jacobs Cloud Architect Network Architect
  • 2. Speaker Profiles Keith Tobin Greg Jacobs • Dell Cloud Architect • Dell Network Architect • Located in the Dell Cloud Center of Excellence in Dublin, Ireland • 20 years working as a network architecture and solutions specialist • Over two decades of software, platform and cloud development • Network evangelist and packet head • Organizer for OpenStack Ireland • Loves all things OpenStack and Cloud 2 OpenStack Architecture for the Enterprise Services
  • 3. 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 3 OpenStack Architecture for the Enterprise Services
  • 4. Solution Stack Dell Private Managed Cloud Solution Enstratius Dell Multi-Cloud Manager OpenStack CEPH on R720 R720 C6100 4 OpenStack Architecture for the Enterprise Force10 SonicWall Servers Security Cloud Services Crowbar SUSE Linux Networking Physical Layer R620 OpenStack Titanium Storage Deployment SUSE Linux Tested Qualified Solution SecureWorks Managed Services
  • 6. 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 6 OpenStack Architecture for the Enterprise Services
  • 7. Crowbar Deployment OpenStack Database Controller Barclamp Node 01 Identity Controller DHCP Barclamp Node 02 Image Controller Barclamp Node 03 Block storage Barclamp Crowbar PXE Node 01 Networking Barclamp Nova Compute Chef Server Compute Node 02 Barclamp Compute Horizon Node 03 Barclamp 7 OpenStack Architecture for the Enterprise Services
  • 8. Crowbar 2 Status 8 OpenStack Architecture for the Enterprise Services
  • 10. Active/Passive (Normal) Incoming API Requests Controller VIP 01 Controller 02 KeepaliveD Load Balancer 01 KeepaliveD Load Balancer 02 (Inactive) (Active) (Passive) (Active) Keystone etc… 10 OpenStack Architecture for the Enterprise Keystone etc… Keystone etc… Services
  • 11. Active/Passive (Fault) Incoming API Requests Controller Controller 01 02 VIP KeepaliveD Load Balancer 01 KeepaliveD Load Balancer 02 (Inactive) (Active) (Passive) (Active) Keystone etc… 11 OpenStack Architecture for the Enterprise Keystone etc… Keystone etc… Services
  • 12. Single HAProxy Bottleneck Controller 01 (Active LB) iVIP eVIP Controller 02 HAProxy MySQL Inactive LB HAProxy MySQL RabbitMQ Horizon Horizon Glance-API Glance-API Glanceregistry Novascheduler Glanceregistry Novascheduler Nova-API Nova-API Keystone-API Keystone-API Cinder-API Cinder-API Neutron-API Neutron-API Neutron L2 Neutron L2 Neutron L3 Neutron L3 Neutron DHCP 12 RabbitMQ Neutron DHCP OpenStack Architecture for the Enterprise Services
  • 13. Dynamic Load Balancing Incoming API Traffic Network Network Switch Switch OSPF ECMP Controller 01 Controller 02 Quagga HAProxy Controller Quagga 03 HAProxy HAProxy Keystone Keystone Keystone etc… 13 Quagga etc… etc… OpenStack Architecture for the Enterprise Services
  • 14. Neutron 14 OpenStack Architecture for the Enterprise Services
  • 15. Neutron (Single Networking Node) Controller 01 Controller 02 Compute 01 Compute 03 Keystone Keystone Nova Nova Glance Glance MySQL MySQL Compute 02 Compute 04 etc… etc… Nova Nova Network 01 Neutron API L3 Agent OVS Agent DHCP Agent Internet 15 OpenStack Architecture for the Enterprise Services
  • 16. Neutron (Separate Networking Nodes) Controller 02 Controller 03 Compute 01 Compute 02 HAProxy HAProxy HAProxy L3 Agent L3 Agent Quagga Quagga Quagga DHCP Agent DHCP Agent Neutron API Neutron API Neutron API OVS Agent OVS Agent Neutron Scheduler Neutron Scheduler Neutron Scheduler Other OpenStack Services Other OpenStack Services OpenStack Services Compute 03 Compute 04 L3 Agent L3 Agent DHCP Agent DHCP Agent OVS Agent OVS Agent Controller 01 Ect…. Other Internet 16 OpenStack Architecture for the Enterprise Services
  • 17. RabbitMQ 17 OpenStack Architecture for the Enterprise Services
  • 18. RabbitMQ Cluster (With Mirrored Queues) Physical View Logical View Controller 02 HAProxy HAProxy HAProxy Quagga Quagga Quagga RabbitMQ RabbitMQ RabbitMQ Other OpenStack Services Other OpenStack Services End Point Controller 03 Other Ect…. OpenStack Services Controller 01 Dynamic Load Balancer RabbitMQ 01 18 OpenStack Architecture for the Enterprise RabbitMQ 02 RabbitMQ 03 Services
  • 20. MySQL Single Server (Normal Operation) Application DB Server Data 20 Openstack Architecture for the Enterprise Services
  • 21. MySQL Single Server (Failed) Application DB Server 1 (Active) Data 21 Openstack Architecture for the Enterprise Services
  • 22. MySQL Single Server (Failed) • Disadvantage • Single point of failure Application DB Server 1 (Active) Data 22 Openstack Architecture for the Enterprise Services
  • 24. MySQL Active/Passive Failover (Failed Node) Active/Passive Failover (Normal Operation) 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 24 Openstack Architecture for the Enterprise Application DB Server 1 DB Server 2 DB Server 2 (Active) (Failed) (Passive) (Active) Async Replication Data Data Services
  • 25. MySQL With DRDB 25 Openstack Architecture for the Enterprise Services
  • 26. MySQL With DRDB (Normal Operation) Disadvantages • Inactive server • Limits scale • Reduces the potential workload processing ability of the solution by half Application DB Server 1 DB Server 2 (Failed) Server Not Available ! Event Data Data Event Confirmed 26 Openstack Architecture for the Enterprise Services
  • 27. MySQL MultiMaster 27 Openstack Architecture for the Enterprise Services
  • 28. MySQL Multi-Master Cluster Application 01 Application 02 Load balancer DB Server 1 DB Server 2 Data Data DB Server 3 Data 28 Openstack Architecture for the Enterprise Services
  • 29. MySQL Multi-Master Cluster (Failed Node) Application 01 Application 02 Load balancer DB Server 1 DB Server 2 Data Data DB Server 3 Data 29 Openstack Architecture for the Enterprise Services
  • 30. MySQL Async Replication • No guarantee that data will be consistent across all nodes at any point in time Openstack Architecture for the Enterprise Server N Data 30 Server 1 Data Services
  • 31. MySQL Single Thread replication Processor C1 Openstack Architecture for the Enterprise C3 C4 C5 31 C2 C6 C7 C8 Services
  • 32. MySQL Multi-Master Cluster Application 01 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 Application 02 Load balancer DB Server 1 DB Server 2 Data Data DB Server 3 Data 32 Openstack Architecture for the Enterprise Services
  • 34. Percona MySQL Cluster Capability Synchronous Replication Data Consistency Parallel Applying on All Nodes Automatic Node Provisioning Multi-Master 34 Openstack Architecture for the Enterprise Services
  • 35. Synchronous Replication Application 01 Capability Controller Controller DB 1 DB 2 Synchronous Replication Data Consistency Event Parallel Applying on All Nodes Data Data Event Confirmed 35 Openstack Architecture for the Enterprise Automatic Node Provisioning Multi-Master Services
  • 36. Data Consistency Controller Controller Server DB 1 DB 2 DB 3 Capability Data Data Data Synchronous Replication Data Consistency Parallel Applying on All Nodes At any point in time data is always consistent across all nodes in the cluster 36 Openstack Architecture for the Enterprise Automatic Node Provisioning Multi-Master Services
  • 37. Parallel Applying on All Nodes Processor C1 C2 C3 C4 C5 C6 C7 C8 Capability Synchronous Replication Data Consistency Parallel Applying on All Nodes Automatic Node Provisioning Multi-Master 37 Openstack Architecture for the Enterprise Services
  • 38. Automatic Node Provisioning Controller DB 1 New Node Controller DB 4 Join Cluster Data Join Cluster Data Capability Cluster Controller DB 2 Data Synchronous Replication Controller DB 3 Data Data Consistency Parallel Applying on All Nodes Automatic Node Provisioning Multi-Master 38 Openstack Architecture for the Enterprise Services
  • 39. Multi-Master Cluster Application 01 Application 02 Dynamic Load balancer Capability Controller DB 1 Controller DB 2 Synchronous Replication Data Consistency Data Data Controller DB 3 Data 39 Openstack Architecture for the Enterprise Parallel Applying on All Nodes Automatic Node Provisioning Multi-Master Services
  • 40. Block Storage 40 OpenStack Architecture for the Enterprise Services
  • 41. Block Storage CEPH on R720 41 OpenStack Architecture for the Enterprise Services
  • 42. Logical Architecture 42 OpenStack Architecture for the Enterprise Services
  • 43. Thank you Chat with Keith and Greg @ the Dell booth Keith Tobin Greg Jacobs Cloud Architect 43 Network Architect OpenStack Architecture for the Enterprise Services