OpenStack’s Orchestration Service
Cookin’ with Heat
Eric Williams
DevOps Specialist
Rackspace Ltd., UK
DevOps Exchange London
18 February 2015
Eric Williams
DevOps Specialist
Rackspace, Ltd. UK
twitter.com/rube
eric@ehw.io
About Myself
9 Worldwide
Data Centers
5,000+ Rackers
Global Footprint
Customers in
120+ Countries
Annualized RevenueOver $1B
3www.rackspace.com
About Rackspace
60% 100OF
THE
We Serve FORTUNE®
OVER
200,000+
90,000+ Servers
26,000+ VM
≅70 PB Stored
Customers
Portfolio of
Hosted Solutions
Dedicated - Cloud - Hybrid
OpenStack
OPEN SOURCE
APACHE 2.0 LICENCE
OPEN DESIGN
ANYONE CAN HELP DEFINE
CORE ARCHITECTURE
OPEN
DEVELOPMENT
ANYONE CAN INVOLVE
DEVELOPMENT PROCESS VIA
LAUNCHPAD & GITHUB
OPEN COMMUNITY
www.rackspace.com 5
Heat
“Managing the entire lifecycle
of infrastructure and
applications within OpenStack
clouds”
6www.rackspace.com
Heat: Who’s Involved
Source: Stackalytics.com
Heat contributions • Public Cloud Providers
• Operating System Vendors
• Systems Integrators
• Telecommunications
• A replacement for configuration
management
• Hipster-DevOps
Heat: What it isn’t
Where does Heat fit in?
8www.rackspace.com
Orchestration Configuration Management
Heat
Chef
SaltStack
Ansible
Vagrant
Puppet
What’s Included
Heat Service
Infrastructure
Cloud Networks
Cloud Block Storage
Cloud Databases
Cloud Servers
Object Storage (Swift)
Service Management
Autoscaling
Chef::Solo
Cloud Monitoring
Auxiliary Services
Cloud Load Balancers
Cloud DNS
Message Queues
What does it look like?
10www.rackspace.com
Infrastructure as Code
resources:
db:
type: ”OS::Nova::Server"
properties:
name: rs-ehwio-db
image: Ubuntu 14.04 LTS
flavor: 4 GB Performance
key_name: ewmb
app:
type: Rackspace::AutoScale::Group
…
$ heat stack-create –f test.yaml TestStack01
DB
APPAPP APP
LB
CACHE
TestStack01
Repeatability
12www.rackspace.com
DB
APPAPP APP
LB
CACHE
TestStack02
DB
APPAPP APP
LB
CACHE
TestStack03
DB
APPAPP APP
LB
CACHE
TestStack04
DB
APPAPP APP
LB
CACHE
TestStack01
$ for i in 0{1..4}; do
> !!:s/01/$i
>done
Parameterization
heat stack-create 
–f multiserver.yaml 
–P “num_servers=2” GoodStack01
13www.rackspace.com
DB
APP APP
LB
CACHE
GoodStack01
Parameterization
heat stack-create 
–f multiserver.yaml 
–P “num_servers=1000” YoloStackLOLOL
14www.rackspace.com
DB
APP
APP
LB
CACHE
YoloStackLOLOL
APPAPP
APPAPP
APP
APP
APP
APP
APP
APP APP
APP
APP
APP APP
APP APPAPP
APP
APP APP
APP
CACHE
APPAPP
APPAPP
APP
APP
APP
APP
APP APP
APP
APP APP
APP
APP APP
Heat Templates
• Resources
– Servers
– Databases
– Load Balancers
– Scaling Groups
• Parameters
– SSH Keys
– Chef secrets
– Name or Number of Resources
• Outputs
15www.rackspace.com
description:
resources:
parameters:
Demo
16www.rackspace.com
Command Line
$ heat stack-create wp_stack 
–f lb-app-db.yaml
$ heat stack-list
$ heat stack-update wp_stack 
-f lb-app-db-fixed.yaml
Opportunities for Improvement
• Better integration with external services
• Dealing with Failure
• That logo*
SRSLY?
Get involved
Rackspace Developer+ : http://developer.rackspace.com/
DevStack : http://devstack.org
Rackspace Orchestration Templates: http://git.io/Nj4e
THANK YOU
RACKSPACE® | 1 FANATICAL PLACE, CITY OF WINDCREST | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED S TATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
RACKSPACE® | 5 MILLINGTON ROAD | HAYES, UNITED KINGDOM UB3 4AZ
UK SALES: +44 (0)20 8712 6507 | UK SUPPORT: 0800 988 0300 | WWW.RACKSPACE.CO.UK
We’re hiring!
21www.rackspace.com

Eric Williams (Rackspace) - Using Heat on OpenStack

Editor's Notes

  • #5 Before discussing Heat, a word about openstack Run your own cloud, enough said. OK, not enough said: Open-Source Cloud Computing platform founded by NASA and Rackspace; behind some of the largest public clouds: Rackspace, HP, Also currently the private cloud of choice (compare maybe to Eucalyptus a few years ago, gauge the audience); huge opensource community, gigantic momentum.
  • #8 Heat’s logo isn’t to my taste, so I grabbed something prettier from Openclipart.org (Public Domain). * Upstream project; service orchestration;
  • #10 Heat gives provider-side access to infrastructure; In Rackspace’s implementation, all of these things are included. YMMV, because OpenStack administrators decide what is and is not available to their heat users.
  • #12 Heat is about turning this (1) into this (2). Predictable, repeatable, extremely simple. Includes all the benefits of SCM: Versioning, Diff, test/dev/prod workflows
  • #19 New DSLs seem to be the answer to all challenges these days: Chef, Puppet, Heat, you name it, *JUST MY OPINION, I MEAN NO OFFENSE Integrating with existing Chef or Puppet client-server infrastructures is doable, but should be easier. Upcoming Resource types for other integration points should resolve this Dealing with Failure is possible, but fiddly Reacting to failed nodes and services exposes the manual nature of integrating with existing integration points; self-healing is on the roadmap. better Scaling policies and newer resource types could address this
  • #20 Integrates awesomely with OpenStack, because it’s official. Mention ceilometer. Focuses on Orchestration, leaving config management to the experts