The experience of running Heat at Rackspace
Orchestration for Public Cloud
Keith BrayRandall Burt"
How our customers use Heat API
• Software Vendors à seat-by-seat to customer account provide template or script
• SaaS Providers à fully hosted managed apps website integration w/Heat
• Personal/Enterprise Use à reliable, repeatable application deployment
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 2
Application Deployment
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
Simple, single node!Frameworkssingle node!
Complex, multi-node!
Databases"
Things we’ve heard from customers
• Provision to other clouds • Multi-zone orchestration • Config Management (tight integration) • AWS CFN Compatibility • Want opinionated recommendations (e.g. catalog) • Deployment vs. Provisioning vs. ALM
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
Example Deployment Pipeline Project Solum make it easy for developers to convert code into a managed app running on OpenStack
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5
Heat!
Example app deploy pipeline!
Jenkins
Build Config
Changes Verified Patches
Merged Patches
CI/CD Pipeline
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
Build
Unit test
Package Deploy (Chef)
Verify
• Triggered by Gerrit • Controlled by a Build Config • Maintain a weekly release cycle • Stay close to trunk without losing our minds • Constantly evolving process
#rackstackatl
• Full disclosure: still some manual testing prior to production deploy • Automated up to that point
– “Kitchen Sink” template used as smoke test
– Full regression run on a timer against pre-production – Select templates run against production several times a day
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
CI/CD Testing and Validation
#rackstackatl 8
Architecture
Stats"
Ops"
Chef"
Galera"Engine (Blue)"
API (Blue)"
RabbitMQ"
API (Green)"
Engine (Green)"
#rackstackatl
• Blue/Green deployment based on active/inactive VIPs • Shared Queue for both sets using different topics • Shared DB between both sets (still a tricky bit)
– Heat community is very good about data migrations and what they may break
• Active/Inactive flip is a “manual” process during deployment (it’s a job in Jenkins, though) • Configuration of all infrastructure managed by Chef • Everything runs on Rackspace Public Cloud • The Rackspace team contributed the bulk of the first iteration of multi-engine support
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
Architecture
#rackstackatl
• Shim/proxy over the stock Heat API • Does not duplicate Heat functionality or interfere with Heat • Template Catalog
– Templates developed and tested by Rackspace Specialists in the application/architecture – Allows for Rackspace supported application deployments – Catalog functionality being developed in Glance during Juno – Track which stacks created with catalog templates and which were custom
• Allows us to deliver required functionality quickly while working out the “right way” to contribute the functionality to the community – Eventually will be replaced with Glance artifacts API
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 10
Fusion and Added value
#rackstackatl
• 6 developers dedicated to the Heat project – 4 full time Heat – 2 part time Heat/internal tools – Two core reviewers
• 2 Quality Engineers – Use Tempest for internal testing – Roadmap for contributing upstream
RACKSPACE® HOSTING | WWW.RACKSPACE.COM 11
Rackspace Heat Team
#rackstackatl
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
Top Related