OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account...

66
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. OpenStack Architectural Decisions How to architect OpenStack for your organization Thomas Goh

Transcript of OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account...

Page 1: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

OpenStack Architectural Decisions How to architect OpenStack for your organization Thomas Goh

Page 2: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Agenda

• The General Purpose Cloud • General Considerations • Compute Considerations • Network Considerations • Storage Considerations

Page 3: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Purpose Cloud

•  Good starting point • Balance components and features • Equal weight to

– Compute – Network – Storage

• Not specialized workload or edge case • 80% of potential use cases • Designed for future workloads

Page 4: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Purpose Cloud

• Common Use Cases –  Providing a simple database –  A web application runtime environment –  A shared application development platform –  Lab test bed –  scale-out workloads

Page 5: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Purpose Cloud Basics •  Virtual-machines •  Disk image library •  Block storage •  Object storage •  Firewalls •  Load balancers •  VPNs •  IP address Management •  Network overlays •  Software bundles

Page 6: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations

Page 7: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations

• Cost – Primary concern for any organization – Private vs Public Cloud Cost structures

• Enterprise vs Commodity • Margins for public clouds

– CapEx vs OpEx vs Lease/Loan

• Time to market – Cloud Deployment – Products and services delivery

• Agility • Self-Service • On-Demand • Elasticity

Page 8: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations • Performance

–  Majority of resources (Compute, storage, network) should target general workloads –  Provide targeted performance enhancements

• No predefined usage model –  Should be designed to handle 80% of the workloads

• On-demand and self-service application –  The self-service model allows users to scale out their resources, systems should be able to handle such

operations without disruption.

• Security –  Clouds requiring significant specialized security requirements goes against a general purpose cloud and will

significantly increase complexity.

• Scalability and Resource Planning –  Cloud systems are easy to scale –  Resource planning is important to ensure there is enough capacity to satisfy user demand

Page 9: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations • Public cloud

–  May examine commodity hardware and financial leasing to increase margins and ease capital expenditure

• Private cloud –  Is it logical to create their own clouds internally –  CapEx vs OpEx –  Increase control over technical architecture and capabilities.

•  Legal –  Data retention –  Data Ownership –  Data Sovereignty –  Data compliance

Page 10: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations • Large org with complex needs

– Need to identify appropriate workloads or use cases

• Legacy infrastructure – Legacy infrastructure not really suited for cloud – Special consideration needed for high-availability

• Corporate culture (Slow vs Fast) – Will need to establish a proper roadmap to the cloud for slow organizations

•  IT Competence – The base cloud infrastructure requires specialized knowledge from IT generalist. – Need to manage cloud in an agile manner – Must learn about automation and distributed technology

Page 11: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Considerations • Stage in Cloud Journey

– Are you ready for the cloud? – Have you standardized, virtualized and automated yet?

•  Internally Managed – Do you have the technical competency to manage a cloud infrastructure and deploy legacy

and cloud native application

• Outsourced – Does your outsourced agency have the capabilities to manage an end-to-end cloud

Page 12: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Cloud Architecture Examples

Page 13: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

What your cloud might look like

Hardware

OpenStack Operations

KVM

Redhat

Ceph

Automation

Monitoring

Log Mgmt

Provisioning OS

Swift

CPU

Cloud Applications Cloud Operations

Network Storage Compute

OpenStack API

HyperV VMWare Bare Metal

SAN

Page 14: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

General Architecture

Page 15: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations

Page 16: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations •  General Considerations

–  Processor Type –  Memory –  Local Storage –  Operating Systems & Hypervisors

•  Compute Pools –  Multiple pools for specific workload types

•  Compute/Memory/Storage Intensive •  Instances are scheduled to appropriate pool

•  Consistent hardware design –  CPU Type (can cause issues migrating between hosts) –  Storage (Inefficient storage usage) –  Memory (Inefficient memory utilization)

Page 17: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations

• Overcommit ratio – OpenStack is able to configure the overcommit ratio for CPU and memory – Default CPU overcommit ratio is 16:1 and the default memory overcommit ratio is 1.5:1

(Personally I do not like to over commit) – Consider a m1.small instance uses 1 vCPU, 20 GB of ephemeral storage and 2,048 MB of

RAM • Assuming a server with 2 CPUs of 10 cores each, with hyper-threading • Default CPU overcommit ratio of 16:1 would allow for 640 (2 × 10 × 2 × 16) total m1.small instances. A bit high

Page 18: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations •  Bin Packing

–  Ensuring that compute resources are optimally used by right sizing resources –  Make sure to balance your vCPUs to Local Storage to Memory –  Example:

•  Each small instance is 1 vCPU, 2 GB Memory, 64 GB Ephemeral Storage •  Medium, large and X-Large are multiples of a small instance •  Server specification (Assuming dual socket 8 core with hyper-threading)

–  Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) –  Total memory = 32 x 2 GB Memory = 64 GB Memory –  Total ephemeral Storage = 32 x 64 GB storage = 2 TB Ephemeral storage

Page 19: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations • I/O Issues

– Don’t overload your compute nodes – 4 Socket servers probably not useful unless you have CPU intensive workloads and

will run small number of Instances per physical node – Consider 10GbE everywhere

• 10 Gbase-T is affordable for your management network and runs on Cat 6E • 10 GbE for everything else

• Financial Costs – Operations cost is key – automate as much as possible

• Easier management • Less error • Measure all metrics to resolve issues quick

– Cost $/instance, $/GB Storage – Commodity vs enterprise

Page 20: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations • Server Form Factor (1U vs 2U vs Sleds vs Blades)

– Affects rack density – DC Power requirements – Weight (Can your floors handle the weight) – Hardware support (NICs, HBA,# of disks etc)

• 1U limited in hardware support – The denser the rack the larger the networking requirements (Not for Blades) • Sleds will double or quadruple networking requirements and power requirements

• Denser – Consider potential bottle necks for blades – Expandability (Cards) – Automation complexities

Page 21: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations •  Security

–  Compute nodes have a number of cross domain access •  External, data, management and storage networks

–  Important that compute nodes are hardened appropriately •  Local Storage

–  Consider if you require local storage •  Do you want persistent storage or Ephemeral

–  Persistent for legacy or higher availability –  Ephemeral for cloud native or cost sensitive workloads

•  Networking –  Compute nodes require access to:

•  Management network •  Data Network •  Storage Network •  IPMI Network

–  Consider 10GbE TwinAx for Data and storage to ToR Switch –  Consider 10GBase-T for management to support increasing monitoring and log traffic –  Consider 100Mbps or 1GbE for IPMI

Page 22: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations

• Hypervisor support matrix – Choose a well supported hypervisor (KVM is best supported) – http://docs.openstack.org/developer/nova/support-matrix.html

Page 23: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations • Hypervisor Criteria

–  Group A •  These drivers are fully supported. Test coverage includes:

–  unit tests that gate commits –  functional testing that gate commits

• Drivers in this group include: –  libvirt (qemu/KVM on x86)

–  Group B •  These drivers are in a bit of a middle ground. Test coverage includes:

–  unit tests that gate commits –  functional testing providing by an external system that does not gate commits, but advises patch authors and reviewers of results

in gerrit (the code review system). • Drivers in this group include:

–  Hyper-V –  Vmware –  XenServer –  Xen via libvirt

Page 24: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations

•  Hypervisor Criteria –  Group C •  These drivers have minimal testing and may or may not work at any given time. Use them at your own risk. Test coverage includes: –  (maybe) unit tests that gate commits –  no public functional testing

•  Drivers in this group include. –  Baremetal –  Docker

–  LXC via libvirt

Page 25: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Rack Configurations •  This is a sample of how a full cloud would be

setup (Larger Scale). –  2 Management racks for high availability of

controller and management nodes and network aggregation. Each rack is a failure zone. 3 Racks if you want to use Pacemaker with Quorum

–  2 or more compute node racks –  2 or more storage node racks –  3 racks Ceph node racks, each rack is a failure

zone –  5 Racks Swift node racks, each rack is a failure

zone.

•  This setup can be partially filled to allow for future capacity.

•  Having this configuration follows best practices and prevents future migrations or reconfigurations. –  Allows for easy expansion planning

One Year Full Capacity

Network Aggregatio

n

Management

Cloud Manageme

nt

Network Aggregatio

n

Management

Cloud Manageme

nt

Compute

Network

Management

SAN iSCSI 3Par

NetAPP

Network

Management

Ceph Storage

Network

Management

Ceph Storage

Network

Management

Object Storage

Network

Management

Object Storage

Network

Management

Object Storage

Network

Management

Object Storage

Network

Management

Object Storage

Network

Management

Ceph Storage

Network

Management

Page 26: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Compute Considerations Scaling your cloud:

Page 27: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations

Page 28: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations • OpenStack Networking is complicated and has always had high-availability

issues – High-Availability issues are now at an acceptable level

• DVR • VRRP

• OpenStack Networking – Nova-Network (legacy)

• Flat – Each instance has an external IP address in common pool

• Vlan – Each tenant has a VLAN

•  4096 tenants

– Neutron •  first class networking service that gives full control over creation of virtual network resources to tenants • Via Tunneling or VLAN

Page 29: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations • Topology

– Data + External Networks • These are your virtual networks • L2 Flat

– Legacy • L2 VLAN

– Not Scalable – Each Tenant has one or more VLANs

• Encapsulating – VXLAN – GRE – Scalable – SDN – Trend is moving in this direction

• Leaf and Spine architecture • Consider using 10GbE

Page 30: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations •  Topology

– Storage Networks •  L2 network mostly •  Leaf and Spine architecture •  Consider using 10GbE

– Management Network •  L2 network mostly •  Leaf and Spine architecture •  Consider 10GBaseT if you have a large scale cloud

– IPMI/iLO •  IPMI is usually very insecure •  Advisable to not have it routable •  Access via management servers •  100Mbps (IPMI) or 1GbE

Page 31: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations Leaf and Spine Architecture

Rack Rack Rack Rack

Leaf

Spine

Redundant and 2 Hops to any node

Page 32: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations •  Layer 2

–  Pros •  Speed •  Reduced overhead •  No need for controller to keep track of where everything is

–  Cons •  VLAN = 4096 OpenStack tenants •  Number of MAC address storable on a switch •  MLAG is proprietary •  Difficult to troubleshoot •  ARP complicated in large networks •  Constant churn on MAC Tables and broadcast

Page 33: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations •  Layer 3

•  L3 networks for the data network is the preferred trend via encapsulation technologies –  Pros

•  Resiliency and scalability •  Routing state change only occurs when there is failures •  Easy to troubleshoot •  QoS

–  Cons •  Must rely on L2 over L3 tunneling, which can effect Performance •  Requires L3 capable switch

Page 34: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations • Encapsulating Technology • OpenStack Native Drivers

– Compute nodes use Open vSwitch (OVS) to create virtual networks – OVS maintains information about tenant networks – OVS wraps L2 packets into a L3 packet and send it out to the NIC – Compute nodes are configured with an L3 IP address and packets are sent via normal L3

mechnisms – Packets are decapsulated at the destination compute node.

• OpenStack Drivers –  GRE (Native) –  VXLAN (Native) –  MidoNet (3rd Party) –  OpenContrail (3rd Party) –  Nuage (3rd Party) –  NSX (3rd Party)

Page 35: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations

• Security – Segregate different domains – Network misconfiguration

• Automate switch configurations – Single Point of Failure

• Having redundant ToR Switches is expensive • MBTF of a properly maintained switch is well past 5 years

– Consider having spares for failed switches

– Firewalls between network segments

Page 36: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations •  Switch Configurations

–  Port Speed •  10GBase-T network switches prices are relatively cheap. Consider this for the management network in large scale clouds •  10GbE network switches for Data and storage networks •  40GbE uplinks

–  Cabling •  SFP+ TwinAx

–  Server to ToR switch (Unless latency is an issue) –  Cost is an issue

•  SFP+ Fiber – Between ToR and aggregation layer

–  Layer 3 routing for data network switches via ECMP

Page 37: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network Considerations •  Switch Configurations

–  Switch Count •  This is dependent on Rack/Server density •  Try to keep it to one switch per network

–  Port Count/Density •  Depends on rack/server density •  Generally 48 or more ports for compute, management, block storage networks •  Object and block storage may require less port density if using large JBODs

–  Software •  New Linux based switches allow for easy integration with Automation tools •  Arista and Cumulus Linux

–  Cost •  Commodity vs Proprietary •  Port Type and speed •  Redundancy

Page 38: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Network •  Use Case Network Considerations

–  High availability •  Proper sizing of the network to maintain replication of data between sites for high availability or Disaster Recovery.

–  Big data •  Demand on network resources via data ingress and replication.

–  Virtual desktop infrastructure (VDI) •  Sensitive to network congestion, latency, jitter, and other network characteristics.

–  Voice over IP (VoIP) •  Sensitive to network congestion, latency, jitter, and other network characteristics. •  Symmetrical traffic pattern and requires QoS

–  Video Conference or web conference •  sensitive to network congestion, latency, jitter, and other network characteristics.

–  High performance computing (HPC) •  High east-west traffic patterns for distributed computing

Page 39: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Object Storage Considerations

Page 40: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Swift Object Storage Consideration

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Zone 1 Zone 2 Zone 3 Zone 4 Zone 5

Proxy Node

Proxy Node

Proxy Node

Scale Out

Scale Out

Page 41: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Object Storage Considerations •  Goal

–  Maximize storage –  Keep cost per terabyte down

•  Large capacity Nearline or SATA disk only

•  No RAID

•  Swift handles integrity checks and replication

•  Maximize disk density –  60 disk JBODs in 4U –  12 3.5” disks in 1U –  30 disk OCP JBOD

Page 42: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Object Storage Considerations •  Minimum 5 zones (Generally at the rack level)

–  5 nodes to achieve quorum for durability and availability –  Zones are fault zones (Power, cooling, network, etc) –  3 replicas of every object blob

•  Consider separate replication and front-end networks

•  Use dual socket 8 core or more CPUs for storage nodes

•  Proxy nodes should also have a lot of memory and/or SSD drives for caching

•  Aim for 1PB per Rack

•  10GbE network for replication, front-end and public networks.

•  Distribute over availability zones or regions

Page 43: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations

Page 44: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations •  Understand the workloads and requirements that will drive the use of block storage in the cloud.

•  Create block storage tiers for most common workloads –  Normal Tier

•  Ceph •  SATA based SAN

–  High-Performance tier •  SSD based SAN •  Enhance Ceph with SSD caching

•  Local Storage –  Ephemeral (non-persistent, low cost, speed) –  Persistent (Data integrity, increase speed) –  File based

•  Img, VDH, VMDK, VDI, QCOW2, AMI

–  Block Based •  LVM

Page 45: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Local File based Ephemeral Storage

Host

Logical Volume

HDD 01 HDD 02 HDD 03 HDD 04 HDD 05 HDD 06 HDD 07 HDD 08 HDD 09 HDD 10 HDD 11 HDD 12

VM

APP

OS

Host File System VM Image VM Image VM Image

VM

APP

OS

VM

APP

OS

-  Images stored on the host file system as an image file -  1U or 2U with 4 – 24 disks

RAID 0/JBOD

Page 46: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Local File based Persistant Storage

Host

Logical Volume

HDD 01 HDD 02 HDD 03 HDD 04 HDD 05 HDD 06 HDD 07 HDD 08 HDD 09 HDD 10 HDD 11 HDD 12

VM

APP

OS

Host File System VM Image VM Image VM Image

VM

APP

OS

VM

APP

OS

-  Images stored on the host file system as an image file -  1U or 2U with 4 – 24 disks

RAID 5/RAID 6/RAID 10

Page 47: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Local Block based Ephemeral Storage

Host

Logical Volume

HDD 01 HDD 02 HDD 03 HDD 04 HDD 05 HDD 06 HDD 07 HDD 08 HDD 09 HDD 10 HDD 11 HDD 12

VM

APP

OS

Storage Block

VM

APP

OS

VM

APP

OS

-  VM backing store is generally allocated as logical Volumes -  1U or 2U with 4 – 24 disks

RAID 0/JBOD

Storage Block

Storage Block

Page 48: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Local Block based Persistent Storage

Host

Logical Volume

HDD 01 HDD 02 HDD 03 HDD 04 HDD 05 HDD 06 HDD 07 HDD 08 HDD 09 HDD 10 HDD 11 HDD 12

VM

APP

OS

Storage Block

VM

APP

OS

VM

APP

OS

-  VM backing store is generally allocated as logical Volumes -  1U or 2U with 4 – 24 disks

RAID 5/RAID 6/RAID 10

Storage Block

Storage Block

Page 49: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations •  Networked Storage

–  File Based •  NFS/NAS

–  NetAPP

•  Distributed FileSystem –  GlusterFS

–  Block Based •  SAN

–  iSCSI –  3Par –  StoreVirtual

•  Distributed Block Storage –  Ceph via RBD

Page 50: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Highly Availability NAS

RAID 5/RAID 6/RAID 10

Logical Volume

Host File System

Compute Host

-  Images stored on remote file system as an image file -  1U or 2U with JBODs

JBOD SIM/FC

VM

Imag

e

VM

Imag

e

VM

Imag

e

Storage Host

Logical Volume

Host File System

RAID 5/RAID 6/RAID 10

VM

Imag

e

VM

Imag

e

VM

Imag

e

APP

OS VM

APP

OS VM

APP

OS VM

HA/Fail-Over Storage Host

Network File System (NFS/CIFS) Heartbeat

Page 51: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Distributed Network Filesystem

Tend to be CPU intensive

JBOD JBOD

JBOD Mode

Logical Volume

File System

JBOD Mode

Logical Volume

File System

Storage Host Storage Host

JBOD JBOD

JBOD Mode

Logical Volume

File System

JBOD Mode

Logical Volume

File System

Storage Host Storage Host

Distributed File System CephFS GlusterFS

Compute Host

VM

Imag

e

APP

OS VM

VM

Imag

e

APP

OS VM

VM

Imag

e

APP

OS VM

Compute Host

VM

Imag

e

APP

OS VM

VM

Imag

e

APP

OS VM

VM

Imag

e

APP

OS VM

Storage Pool

Image file is striped and replicated by factor of X (Sync/Async)

Cluster Management Server

Page 52: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Highly Available SAN

RAID 5/RAID 6/RAID 10

Compute Host

JBOD SIM/FC

Storage Host

RAID 5/RAID 6/RAID 10

APP

OS VM

APP

OS VM

APP

OS VM

Heartbeat

Logical Volume iSCSI FCoE AoE FC

Storage LUN

Storage LUN

Storage LUN

Logical Volume iSCSI FCoE AoE FC

Storage LUN

Storage LUN

Storage LUN

HA/Fail-Over Storage Host

Page 53: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Highly Available SAN - Replicated

RAID 5/RAID 6/RAID 10

Compute Host

-  Images stored on remote file system as an image file -  1U or 2U with JBODs

JBOD

Storage Host

RAID 5/RAID 6/RAID 10

APP

OS VM

APP

OS VM

APP

OS VM

Logical Volume iSCSI FCoE AoE Storage

LUN Storage

LUN Storage

LUN

Logical Volume iSCSI FCoE AoE Storage

LUN Storage

LUN Storage

LUN

JBOD

Heartbeat/Replication HA/Fail-Over Storage Host

Page 54: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Distributed Networked Block Storage

Storage Pool

SIM

JBOD

SIM

JBOD

JBOD Mode

Logical Volume

File System

JBOD Mode

Logical Volume

File System

Storage Host Storage Host

SIM

JBOD

SIM

JBOD

JBOD Mode

Logical Volume

File System

JBOD Mode

Logical Volume

File System

Storage Host Storage Host

Compute Host APP

OS VM

APP

OS VM

APP

OS VM

Compute Host APP

OS VM

APP

OS VM

APP

OS VM

Cluster Management Server

Storage LUN

Storage LUN

Storage LUN

Storage LUN

Storage LUN

Storage LUN

Replicated Copy on Write (COW) Gold VM

Replicated COW VM Data (Delta of Gold VM)

Replicated VM Block

Striped and Replicated VM Block

Page 55: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations •  Well Supported block storage systems

–  Linux iSCSI –  Ceph –  NetAPP –  3Par –  StoreVirtual

Page 56: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations •  Consider distributed block storage for normal workloads

–  Easy to add capacity –  May benefit from distributed reads

•  Connectivity –  10GbE vs FC (review cost and salability requirements)

•  Instance and image locations –  Some block storage can store base images permanently for fast loading (CoW)

•  E.g Ceph

•  Server hardware –  Commodity/CoTs vs Proprietary

•  Cost •  Features (High-Availability, snapshots, etc)

Page 57: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Block Storage Considerations •  Capacity

–  Are there capacity limits

•  RAID –  Redundancy –  Performance –  Watch out for rebuild times for large cluster –  N+2 is recommended

•  Benchmark potential storage systems

•  Maintenance Tasks –  Disk replacements without interuption –  Scrubbing data

Page 58: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Operational Considerations

Page 59: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Software Considerations •  Choice of operating system

–  Linux •  RHEL •  Ubuntu •  SuSe •  CentOS •  Debian •  Windows

•  Choice of hypervisor –  KVM, Xen, VMWare ESX, HyperV, LXC, baremetal, docker

•  Monitoring & Metrics –  Measure everything –  Nagios still heavily used

•  Xabbix, Sensu, reimann,

•  Log Management –  Elastic Search, logstash, kibana

•  Automation –  Chef, Puppet, CSA, CSA-Chef, server automation

Page 60: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Software Considerations

Advice

Automate, Automate, Automate and Automate

Page 61: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Software Considerations •  Capacity Planning

–  Measuring metrics is important to understand utilization trends and will help plan your future capacity plans

•  Selection of supplemental software –  Message Queue, Databases –  Load balancers –  HA –  Memcache/Redis –  Monitoring –  Log management –  Metrics

•  Keep things as standardized as possible to simplify management

Page 62: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Software Considerations •  Cost

•  Supportability

•  Management tools

•  Scale and performance

•  Security

•  Supported features

•  Interoperability

Page 63: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

OpenStack Considerations •  Compute (Nova) •  Image Service (Glance)

•  Object Storage (Swift)

•  Dashboard (Horizon)

•  Identity Service (Keystone) •  Networking (Neutron)

•  Block Storage (Cinder)

•  Orchestration (Heat)

•  Telemetry (Ceilometer) •  Database (Trove)

•  Elastic Map Reduce (Sahara)

•  Bare Metal Provisioning (Ironic)

•  Multiple Tenant Cloud Messaging (Zaqar) •  Shared File System Service (Manila)

•  DNSaaS (Designate)

•  Security API (Barbican)

Page 64: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Availability Considerations •  Most HA issues have been solved to acceptable levels

–  Biggest issues have been networking •  DVR + VRRP

–  Ceilometer •  Greatly improving

•  Switches, routes and redundancies of power should be factored into core infrastructure, as well as the associated bonding of networks to provide diverse routes to your highly available switch infrastructure.

•  Backups – Git and databases

•  Virtual Infrastructure Availability –  Mult-region/AZ deployment –  Scale out design

Page 65: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Security Considerations •  Cross Domain access

•  Normal security applies

•  Identity and access control

•  SSL termination

•  Encrypted communications

Page 66: OpenStack Architectural Decisions · – Total vCPUs = 2 x 8 x 2 = 32 vCPUs (Do take into account your over-commit ratio) – Total memory = 32 x 2 GB Memory = 64 GB Memory – Total

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Thank you

Contact information