Turning the Heat up on DevOps: Providing a web-based editing experience around OpenStack Heat templates


Published on

We’ll present a web-based editing experience around Heat Orchestration Templates. We have created a unified editing experience leveraging diagram and text-based metaphors into one seamless flow. We have also extended the Heat engine to support full-stack deployment by integrating application deployment capabilities from IBM UrbanCode Deploy. We’ll demonstrate creating ready to deploy HOT documents which capture Compute, Network, and Storage resources as well as our own extensions around software configuration and deployment resources.

We’ll describe how our solution supports three characteristics for Software Defined Environments:

- Organic: Support creating and updating environments in place as their purpose or architecture changes over time.
- Version-aware: We’ll show incorporating native scm solutions like git as part of the web-based interface to version and update templates across multiple environments.
- Fullstack Engineering: We’ll describe templates which capture cloud resources and software resources as part of a unified template which can then provision cloud resources and deploy software in one action.

Our extensions to Heat will be described along with our experiences in extending the engine as a vendor.

Published in: Software, Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Turning the Heat up on DevOps: Providing a web-based editing experience around OpenStack Heat templates

  1. 1. 1 OpenStack Summit May 12-16, 2014 Atlanta, Georgia Turning the Heat up on DevOps! Providing a web-based editing experience around Heat templates ! ! Michael D. Elder! mdelder@us.ibm.com | @mdelder!
  2. 2. 2 © 2014 IBM Corporation What is this talk about?! Managing
  3. 3. 3 © 2014 IBM Corporation DevOps Manages Risk Differently! o The adoption of DevOps => increased velocity of application delivery! o Puts pressure on the infrastructure to respond more quickly! o Software Defined Environments enable you to capture infrastructure as a software artifact! Application Changes Infrastructure Changes
  4. 4. 4 © 2014 IBM Corporation What is a #fullstackapp ? ! Application 
 Changes" Infrastructure
 Changes" Consistent Incremental Change" …" …"
  5. 5. 5 © 2014 IBM Corporation OpenStack Heat! o Provides a way to represent infrastructure from OpenStack! o Recently added support for client-side automation through Shell, Chef, or Puppet! o Defined a new Domain Specific Language for templates: Heat Orchestration Template (HOT) format! o Supports updating existing environments in place!
  6. 6. 6 Software Defined Landscapes!
  7. 7. 7 © 2014 IBM Corporation Long, complex lifecycle Small iterative changes Role Layer … … Developers/ Testers Integrators Specialists Compute, Network, and Storage Platforms Apps
  8. 8. 8 © 2014 IBM Corporation Developers/ Testers Integrators Specialists Capture the full stack as a blueprint document,! actionable by an automated process! Compute, Network, and Storage Platforms Apps Full Stack Blueprint (HOT) Cloud Orchestration Describe software defined resources (Compute, ! Network, Storage) alongside middleware and applications!
  9. 9. 9 © 2014 IBM Corporation Apply the same blueprint to multiple environments! Compute, Network, and Storage Platforms Apps Compute, Network, and Storage Platforms Apps Compute, Network, and Storage Platforms Apps Dev/Test Cloud Production Cloud Full Stack Blueprint Dev QA Prod
  10. 10. 10 © 2014 IBM Corporation Software Defined Delivery! o  Version the blueprint using your source control repo (native support for git)! o  Apply the new versions of the template to an existing environment or provision an entire new stack! o  Validate changes with a "canary" pattern to ensure correctness and detect problems earlier! o  Verify entire stack before production! Full-Stack Blueprint
  11. 11. 11 © 2014 IBM Corporation Software Defined Portability! o Parametrize differences between cloud environments (network ids, image ids, software versions)! o Overlay resource types for different kinds of clouds in the same blueprint! o Enable portability but optimize for each specific cloud platform! Full Stack Blueprint Config/ Params Cloud A Cloud B Config/ Params
  12. 12. 12 Applied Theory!
  13. 13. 13 © 2014 IBM Corporation Introducing Web-based HOT Editor!!
  14. 14. 14 © 2014 IBM Corporation Let’s get textual!!
  15. 15. 15 © 2014 IBM Corporation Bring along our friends!! Nova/Glance Neutron Cinder
  16. 16. 16 © 2014 IBM Corporation And Software Configuration!! UrbanCode Deploy o Provide Software Components right along side infrastructure! o Represent these resources in HOT documents! o Once, deployed update either from Heat or UrbanCode Deploy! o Will support Chef, Puppet, etc over time!
  17. 17. 17 © 2014 IBM Corporation Manage Identity through Keystone!! o Users authenticated upon login with keystone! o Keystone tokens used for discovery of existing content! !
  18. 18. 18 Demo: Web-based design and provisioning of HOT! •  Diagram editor •  Source text editor •  HOT as-you-type validation •  Annotated TODO & errors •  Quick palette for searching •  Editor functions: Cut, Copy, Paste, Find & Replace •  Zoom diagram or text •  Comment out infrastructure
  19. 19. 19 © 2014 IBM Corporation IBM UrbanCode focuses on Release Automation! Drive down cost Remove manual effort and wasted resource time with push button deployment processes Speed time to market Simple, graphical process designer, with built-in actions to quickly create deployment automation Reduce risk Robust configuration management, coordinated release processes, audits, and traceability Enabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low risk IBM UrbanCode Deploy automates the deployment of applications, databases and configurations into development, test and production environments, helping to drive down cost, speed time to market with reduced risk. IBM UrbanCode Release is an intelligent collaboration release management solution that replaces error-prone manual spreadsheets and streamlines release activities for application and infrastructure changes.
  20. 20. 20 © 2014 IBM Corporation Example: Software! o Defined by the community and vendors! o Integration with UrbanCode Deploy enables rapid configuration of full application stack! o Support ongoing updates of deployed versions through UrbanCode Deploy!
  21. 21. 21 © 2014 IBM Corporation IBM UrbanCode Deploy! o Application-centric view! o Understands components, environments, snapshots of verified component versions! o Promote from one environment to the next, with approval gates!
  22. 22. 22 © 2014 IBM Corporation IBM UrbanCode Deploy & Heat Templates! o Extended to create environments in OpenStack!! ! o Provisioned resources made available for ongoing updates!
  23. 23. 23 © 2014 IBM Corporation IBM UrbanCode Deploy & Heat Templates! ! o Choose HOT document, configuration, and parameters! o Discovery service provides easy access to Glance, Neutron, Cinder resources!
  24. 24. 24 Demo: UrbanCode Deploy Consuming HOT Templates! •  View current environments •  Create new environments in the cloud •  Select available resources from Nova, Neutron, Cinder •  Validation feedback in place •  Update environment over time •  Deploy new component versions
  25. 25. 25 © 2014 IBM Corporation Managing Attributes from Different Clouds! o We’ve been in the tools business for a long time and seen different approaches to common + vendor information models! o Approaches like Java EE keep a common file (web.xml) and then extend it with vendor content (ibm-web- bnd.xml)! o These approaches become harder to maintain over time!
  26. 26. 26 © 2014 IBM Corporation Cloud Portability through Decoration! o Chose to extend the Heat Resource Types to understand other Service API directly! o “Overlay” additional properties alongside Heat and use the Resource Registry to implement different behavior! o Capability was restricted from Havana to Icehouse, so we now embed properties in metadata!
  27. 27. 27 © 2014 IBM Corporation Example: Decorating Amazon! o Chose this approach to support multiple cloud targets from Heat! o Enable Heat to talk natively to different cloud APIs! o Support portability for customers who haven’t yet adopted OpenStack!
  28. 28. 28 Demo: Cloud Portability! •  Provision Network architecture to OpenStack •  Provision Network architecture to Amazon (no OpenStack required) •  Select pre-defined configuration for each cloud
  29. 29. 29 History!
  30. 30. 30 © 2014 IBM Corporation How did we get here?! o Customers indicated a desire for greater control over the entire application stack! o We wanted to also support iterative development of the complete application stack, along with versioning! o We also heard the need for cloud agnosticism and portability!
  31. 31. 31 © 2014 IBM Corporation So what did we do?! o Began with a Minimum Viable Product!! ‒  Quickly iterated to deliver an end to end experience within a few iterations (2 weeks per iteration)! ‒  Built on technology from IBM Research to describe topology and decouple representation from cloud! o Delivered some early wins, but decided to pivot towards OpenStack Heat instead of IBM Research language! ‒  Believed it would be better for users and the community! ‒  Believed it would be easier to learn and adopt by users!
  32. 32. 32 © 2014 IBM Corporation Into our First Pivot! o In January, we re-wrote much of the core technology of Landscaper, including applying Netflix OSS for the underpinnings of the web designer! o Moved to HOT as our native document format! o Extended HOT to understand Software Configurations, in alignment with community proposals!
  33. 33. 33 © 2014 IBM Corporation Reacting at the Speed of Open Source! o In March, we noticed the changes coming in which changed directions for Software Configuration! o Ultimately, these weren’t formatted around our requirements for a centralized point of control! o We continue to support community types for software configuration, but also built custom types for UrbanCode Deploy!
  34. 34. 34 Feedback! @mdelder or mdelder@us.ibm.com!
  35. 35. 35 © 2014 IBM Corporation Please note the following IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  36. 36. 36 © 2014 IBM Corporation Monday, May 12 – Room B314 12:05-12:45 Wednesday, May 14 - Room B312 9:00-9:40 9:50-10:30 11:00-11:40 11:50-12:30 OpenStack is Rockin’ the OpenCloud Movement! Who‘s Next to Join the Band ? Angel Diaz, VP Open Technology and Cloud Labs David Lindquist, IBM Fellow, VP, CTO Cloud & Smarter Infrastructure Getting from enterprise ready to enterprise bliss - why OpenStack and IBM is a match made in Cloud heaven. Todd Moore - Director, Open Technologies and Partnerships Taking OpenStack beyond Infrastructure with IBM SmartCloud Orchestrator. Andrew Trossman - Distinguished Engineer, IBM Common Cloud Stack and SmartCloud Orchestrator IBM, SoftLayer and OpenStack - present and future Michael Fork - Cloud Architect IBM and OpenStack: Enabling Enterprise Cloud Solutions Now. Tammy Van Hove -Distinguished Engineer, Software Defined Systems IBM Sponsored Sessions
  37. 37. 37 © 2014 IBM Corporation Monday, May 12 2:50 - 3:30 3:40 - 4:20 3:40 - 4:20 Tuesday, May 13 11:15 - 11:55 2:00 - 2:40 5:30 - 6:10 5:30 - 6:10 Wednesday, May14 9:50 - 10:30 2:40 - 3:20 Thursday, May 15 9:50 - 10:30 1:30 - 2:10 2:20 - 3:00 IBM Technical Sessions