openstack at scale: lessons learned from hp cloud
DESCRIPTION
Blake Yeager, Director of Product Management at HP Cloud Services presented a keynote at Gluecon 2013 on the OpenStack Public Cloud and the lessons learned from building the HP Public Cloud.TRANSCRIPT
© Copyright 2013 Hewlett-Packard Development Company, L.P.
OpenStack at ScaleLessons learned building HP Cloud Services
Blake YeagerDirector of Product [email protected]
© Copyright 2012 Hewlett-Packard Development Company, L.P.
What is OpenStack?
© Copyright 2013 Hewlett-Packard Development Company, L.P.
What is OpenStack?
OpenStack is an open source cloud management platform, consisting of a
collection of open source projects developed and released together which when deployed
allow you to quickly stand up an infrastructure-as-a-service cloud.
© Copyright 2013 Hewlett-Packard Development Company, L.P.
A Brief History of OpenStack
• Launched by Rackspace & NASA at OSCON in Portland, July 2010
• Original projects: Compute, Image Management and Object Storage
• OpenStack has expanded to include 9 “Integrated” projects
• The OpenStack Foundation was created in 2012
• Community of over 200 companies and growing
• Currently working on “Havana”, the 8th major release
© Copyright 2013 Hewlett-Packard Development Company, L.P.
OpenStack’s Mission
The OpenStack Open Source Cloud Mission:To produce the ubiquitous Open Source Cloud Computing
platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively
scalable
OpenStack’s Three Opens:Open Design Process
Open Development ModelOpen Community
© Copyright 2013 Hewlett-Packard Development Company, L.P.
The Projects of OpenStack (Havana Release)Integrated Projects• Compute (Nova)• Object Storage (Swift)• Image Management (Glance)• Identity Management
(Keystone)• Dashboard (Horizon)• Networking (Quantum)• Block Storage (Cinder)• Monitoring and Metering
(Ceilometer)• Orchestration (Heat)
Plus multiple library, infrastructure, documentation,
continuous integration and other supporting projects
© Copyright 2013 Hewlett-Packard Development Company, L.P.
The Projects of OpenStack (Havana Release)Incubated Projects• Ironic (Bare Metal Provisioning)• Red Dwarf (Relational Database)Related Projects• Triple O (OpenStack on
OpenStack)• Moniker (DNS-as-a-Service)• Marconi (Message Queuing)• Savanna (Hadoop Provisioning)• Murano (Windows
Orchestration)• Convection (Task System
Service)
© Copyright 2013 Hewlett-Packard Development Company, L.P.
OpenStack Releases
OpenStack uses a fixed time release cadence • First 2 releases where on a 3 month release cycle• OpenStack now uses a 6 month release cycle with releases in April
& October
Prior to each release a design summit is held for developers and the community• Community meets and to discuss priorities and work for the next
release
Release are named alphabetically• Normally named after a city or county in which the design summit
is held
AustinOct
2010
BexarJan
2011
CactusApr
2011
DiabloOct
2011
EssexApr
2012
FolsomOct
2012
GrizzlyApr
2013
Havana
Oct 2013
“I”Apr
2014
© Copyright 2012 Hewlett-Packard Development Company, L.P.
What does scale mean to IaaS providers?
© Copyright 2013 Hewlett-Packard Development Company, L.P.
What is scale? – The wrong questions to ask…
How many nodes
(hosts) does your cloud
have?
How many regions or
availability zones does your cloud
include?
How many instances (VMs) are running in
your cloud?
© Copyright 2013 Hewlett-Packard Development Company, L.P.
What is scale? – The wrong questions to ask…
How many nodes
(hosts) does your cloud
have?
How many regions or
availability zones does your cloud
include?
How many instances (VMs) are running in
your cloud?
These are all
questions
about size,
not scale
© Copyright 2013 Hewlett-Packard Development Company, L.P.
What is scale? – The right questions to ask…
How long does it take to create an instance in your cloud?
How many API requests per
second can your cloud handle?
How many instances (VMs) can you create concurrently in
your cloud?
© Copyright 2013 Hewlett-Packard Development Company, L.P.
© Copyright 2013 Hewlett-Packard Development Company, L.P.
© Copyright 2012 Hewlett-Packard Development Company, L.P.
Planning your OpenStack deployment
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Per availability zone deployment model
AZ1 AZ2 AZ3
Region A
Nova, Glance, Cinder & Network
Nova, Glance, Cinder & Network
Nova, Glance, Cinder & Network
Swift
Keystone
Compute Nodes
Compute Nodes
Compute Nodes
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Per availability zone deployment model
• Each control plane is fully isolated, good for
availability
• Control plane is easier to scale, good for scalability
• But, the overall user experience suffers…
• Images can’t be used in multiple availability zones
• Networks and IP addresses can span multiple
availability zones
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Per region deployment model with host aggregates
AZ1 AZ2 AZ3
Region A
Swift
Keystone
Compute Nodes
Compute Nodes
Compute Nodes
Nova, Glance, Cinder & Network Control Plane
Host AggregateHost Aggregate Host Aggregate
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Per region deployment model with cellsAZ1 AZ2 AZ3
Region A
Nova “Cell” Nova “Cell”Nova “Cell”
Swift
Keystone
Compute Nodes
Compute Nodes
Compute Nodes
Nova API “Cell”
Block, Glance & Network
© Copyright 2012 Hewlett-Packard Development Company, L.P.
Scaling the OpenStack control plane
© Copyright 2013 Hewlett-Packard Development Company, L.P.
The detailed architecture of OpenStack
*Image provided by Ken Pepple under the following license: CC BY-SA 3.0
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Areas where it is easy to horizontally scale
*Image provided by Ken Pepple under the following license: CC BY-SA 3.0
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Areas to focus on for improved scalability
*Image provided by Ken Pepple under the following license: CC BY-SA 3.0
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Glance’s role in starting new instances
1. A request for new instance is received and scheduled on a
compute node
2. The compute node checks if it has a local copy of the image
it needs
3. If it does not, the compute node requests the image from
Glance
4. Glance then streams the image to the compute node
The ability to create multiple instances concurrently is directly tied Glance’s ability to
stream the instances to the compute nodes starting the instances
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Pre-caching popular images on compute nodes
• Allows for fastest instance startup
• Allows Glance to handle only custom or rare images
• Compute node cache should be actively managed
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Other key areas for scalability
Nova Database The Nova Database is probably the single most critical component of
Nova for scalability, size this component wisely
Nova Compute NodesA compute node will only be able to create so many instances at a
time without destroying performance of existing instances
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Other key areas for scalability
Network Pick your network deployment model very carefully, VLANs and even a flat networking model are very hard to scale, a good SDN solution
will go a long way
KeystoneThe number of API calls your service can handle is directly tied to the
number of authorization requests Keystone can handle
© Copyright 2012 Hewlett-Packard Development Company, L.P.
Deploying OpenStack at Scale
© Copyright 2013 Hewlett-Packard Development Company, L.P.
Triple O - “OpenStack on OpenStack”
Goal of the project is to deploy an OpenStack cloud using an OpenStack cloud
Requirements:
1. Basic server management – Nova2. Bare metal provisioning – Ironic3. Orchestration – Heat4. Image Management – Glance5. Configuration – Chef/Puppet/etc.
© Copyright 2012 Hewlett-Packard Development Company, L.P.
Thank you!
[email protected]@Blake_Yeager