Template Languages for
OpenStack
Shay Naeh and Yaron Parasol
About Us
• Shay Naeh – Senior Solution Architect,
GigaSpaces
• Yaron Parasol – VP of Product, GigaSpaces
– @yaronpar on tw...
Meet the Cast
• HOT
– Heat Orchestration Template
– Declarative
– YAML
• TOSCA
– Topology & Orchestration Standard for Clo...
History
• HOT
– Came to replace Cloud Formation syntax
– Main use case in mind – Infrastructure creation
– Following the C...
Similarities
• Similar structure:
– Description
– Input parameters
– Components graph
– Output parameters
• Components Des...
Mutual Influences
• TOSCA adopted HOT Input and Output
parameters (coming from Cloud Formation)
• HOT added software_confi...
Differences
• Lifecycle
– HOT has limited lifecycle events model
• post create hook for installation
– TOSCA using interfa...
Putting it all together
• TOSCA to HOT translator project:
– Developed outside of stackforge but coming in soon
– Contribu...
DEEP DIVE
Topology
Infrastructure
Middleware
Application
Host Host Network
Apache Tomcat MySQL
Mod_proxy WAR Schema
TOSCA in a Nutshell
Sugar CRM Example
HOT
Type
LanguageTypesTemplates
OS::Nova::Server OS::Heat::software_c
onfig
Sugar_CRM_VM Sugar_CRM_App
Sugar_CRM_DB
apache...
TOSCA Input
Hot Input
TOSCA Node
HOT Component & Resource
TOSCA Requirements
TOSCA Relationship
HOT Relationships
DEMO
Heat Template
Heat Topology View
Apache Server DB Server
NodeJS
NodeCeller
MongoDB
TOSCA (Like) Example
• App Network
• App Subnet
• App Port
• Security Gr...
Network View
Topology View
TOSCA (Like) Blueprint
References
• Wine cellar example
– https://github.com/cloudify-cosmo/cloudify-
nodecellar-openstack
• Cloudify 3
– http://...
Upcoming SlideShare
Loading in …5
×

Template Languages for OpenStack - Heat and TOSCA

16,733 views

Published on

Published in: Technology
  • Be the first to comment

Template Languages for OpenStack - Heat and TOSCA

  1. 1. Template Languages for OpenStack Shay Naeh and Yaron Parasol
  2. 2. About Us • Shay Naeh – Senior Solution Architect, GigaSpaces • Yaron Parasol – VP of Product, GigaSpaces – @yaronpar on twitter
  3. 3. Meet the Cast • HOT – Heat Orchestration Template – Declarative – YAML • TOSCA – Topology & Orchestration Standard for Cloud Application – Declarative & Imperative – XML and now YAML
  4. 4. History • HOT – Came to replace Cloud Formation syntax – Main use case in mind – Infrastructure creation – Following the Cloud Formation limited model • TOSCA – Application centric by design – Automation of any production process
  5. 5. Similarities • Similar structure: – Description – Input parameters – Components graph – Output parameters • Components Design – Component is an object of type – It has dependencies on other components – It has configuration / initial state in the format of properties
  6. 6. Mutual Influences • TOSCA adopted HOT Input and Output parameters (coming from Cloud Formation) • HOT added software_config provider to describe application stack explicitly • HOT adopted TOSCA relationship syntax and semantics
  7. 7. Differences • Lifecycle – HOT has limited lifecycle events model • post create hook for installation – TOSCA using interfaces has lifecycle hooks for node and for relationship node • Wiring and Validation - Requirements and Capabilities – HOT doesn’t have wiring beyond explicit relationship and parameters injection through user data – TOSCA – has the mechanism of requirements and capabilities for fine grained wiring and validations • Support of Workflows – HOT is 100% declarative. The WF is hardcoded into Heat engine – TOSCA using interfaces allow for any imperative workflow as the driver of processes (No hard coded processes)
  8. 8. Putting it all together • TOSCA to HOT translator project: – Developed outside of stackforge but coming in soon – Contributors: IBM, GigaSpaces, Huawei and others – Allow users to describe their stack in TOSCA and use HEAT • Cloudify – Holistic approach to application automation on Openstack – Uses TOSCA (currently TOSCA like) templates – Soon to use HEAT to orchestrate infrastructure – Adds: Monitoring, Log collection, Analytics, workflows
  9. 9. DEEP DIVE
  10. 10. Topology Infrastructure Middleware Application Host Host Network Apache Tomcat MySQL Mod_proxy WAR Schema
  11. 11. TOSCA in a Nutshell
  12. 12. Sugar CRM Example
  13. 13. HOT Type LanguageTypesTemplates OS::Nova::Server OS::Heat::software_c onfig Sugar_CRM_VM Sugar_CRM_App Sugar_CRM_DB apache mySQL Relationship Script Depends_on Hosted_on Connects_to
  14. 14. TOSCA Input
  15. 15. Hot Input
  16. 16. TOSCA Node
  17. 17. HOT Component & Resource
  18. 18. TOSCA Requirements
  19. 19. TOSCA Relationship
  20. 20. HOT Relationships
  21. 21. DEMO
  22. 22. Heat Template
  23. 23. Heat Topology View
  24. 24. Apache Server DB Server NodeJS NodeCeller MongoDB TOSCA (Like) Example • App Network • App Subnet • App Port • Security Group • Apache Floating IP • Router Gateway • Data Network • Data Subnet • Data Port • Security Group Router Monitoring, Logging CI
  25. 25. Network View
  26. 26. Topology View
  27. 27. TOSCA (Like) Blueprint
  28. 28. References • Wine cellar example – https://github.com/cloudify-cosmo/cloudify- nodecellar-openstack • Cloudify 3 – http://getcloudify.org

×