Architecture Openstack for the Enterprise

1,793 views

Published on

Published in: Technology

Architecture Openstack for the Enterprise

  1. 1. OpenStack Architecture for the Enterprise Keith Tobin Greg Jacobs Cloud Architect Network Architect
  2. 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. 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. 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. 5. Deployment With Crowbar 5 OpenStack Architecture for the Enterprise Services
  6. 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. 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. 8. Crowbar 2 Status 8 OpenStack Architecture for the Enterprise Services
  9. 9. Load Balancer 9 OpenStack Architecture for the Enterprise Services
  10. 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. 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. 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. 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. 14. Neutron 14 OpenStack Architecture for the Enterprise Services
  15. 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. 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. 17. RabbitMQ 17 OpenStack Architecture for the Enterprise Services
  18. 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. 19. MySQL Database 19 OpenStack Architecture for the Enterprise Services
  20. 20. MySQL Single Server (Normal Operation) Application DB Server Data 20 Openstack Architecture for the Enterprise Services
  21. 21. MySQL Single Server (Failed) Application DB Server 1 (Active) Data 21 Openstack Architecture for the Enterprise Services
  22. 22. MySQL Single Server (Failed) • Disadvantage • Single point of failure Application DB Server 1 (Active) Data 22 Openstack Architecture for the Enterprise Services
  23. 23. MySQL Active/Passive Failover 23 Openstack Architecture for the Enterprise Services
  24. 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. 25. MySQL With DRDB 25 Openstack Architecture for the Enterprise Services
  26. 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. 27. MySQL MultiMaster 27 Openstack Architecture for the Enterprise Services
  28. 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. 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. 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. 31. MySQL Single Thread replication Processor C1 Openstack Architecture for the Enterprise C3 C4 C5 31 C2 C6 C7 C8 Services
  32. 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. 33. Percona MySQL Cluster 33 Openstack Architecture for the Enterprise Services
  34. 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. 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. 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. 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. 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. 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. 40. Block Storage 40 OpenStack Architecture for the Enterprise Services
  41. 41. Block Storage CEPH on R720 41 OpenStack Architecture for the Enterprise Services
  42. 42. Logical Architecture 42 OpenStack Architecture for the Enterprise Services
  43. 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

×