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