+ All Categories
Home > Technology > Template Languages for OpenStack - Heat and TOSCA

Template Languages for OpenStack - Heat and TOSCA

Date post: 12-May-2015
Category:
Upload: eliza-croen
View: 3,632 times
Download: 5 times
Share this document with a friend
Popular Tags:
28
Template Languages for OpenStack Shay Naeh and Yaron Parasol
Transcript
Page 1: Template Languages for OpenStack - Heat and TOSCA

Template Languages for OpenStack

Shay Naeh and Yaron Parasol

Page 2: Template Languages for OpenStack - Heat and TOSCA

About Us

• Shay Naeh – Senior Solution Architect, GigaSpaces

• Yaron Parasol – VP of Product, GigaSpaces– @yaronpar on twitter

Page 3: Template Languages for OpenStack - Heat and TOSCA

Meet the Cast

• HOT – Heat Orchestration Template– Declarative– YAML

• TOSCA– Topology & Orchestration Standard for Cloud

Application– Declarative & Imperative– XML and now YAML

Page 4: Template Languages for OpenStack - Heat and TOSCA

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

Page 5: Template Languages for OpenStack - Heat and TOSCA

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

Page 6: Template Languages for OpenStack - Heat and TOSCA

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

Page 7: Template Languages for OpenStack - Heat and TOSCA

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)

Page 8: Template Languages for OpenStack - Heat and TOSCA

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

Page 9: Template Languages for OpenStack - Heat and TOSCA

DEEP DIVE

Page 10: Template Languages for OpenStack - Heat and TOSCA

Topology

Infrastructure

Middleware

Application

Host Host Network

Apache Tomcat MySQL

Mod_proxy WAR Schema

Page 11: Template Languages for OpenStack - Heat and TOSCA

TOSCA in a Nutshell

Page 12: Template Languages for OpenStack - Heat and TOSCA

Sugar CRM Example

Page 13: Template Languages for OpenStack - Heat and TOSCA

HOT

Type

Lang

uage

Type

sTe

mpl

ates

OS::Nova::Server OS::Heat::software_config

Sugar_CRM_VM Sugar_CRM_App

Sugar_CRM_DB

apache

mySQL

RelationshipScript

Depends_on

Hosted_on

Connects_to

Page 14: Template Languages for OpenStack - Heat and TOSCA

TOSCA Input

Page 15: Template Languages for OpenStack - Heat and TOSCA

Hot Input

Page 16: Template Languages for OpenStack - Heat and TOSCA

TOSCA Node

Page 17: Template Languages for OpenStack - Heat and TOSCA

HOT Component & Resource

Page 18: Template Languages for OpenStack - Heat and TOSCA

TOSCA Requirements

Page 19: Template Languages for OpenStack - Heat and TOSCA

TOSCA Relationship

Page 20: Template Languages for OpenStack - Heat and TOSCA

HOT Relationships

Page 21: Template Languages for OpenStack - Heat and TOSCA

DEMO

Page 22: Template Languages for OpenStack - Heat and TOSCA

Heat Template

Page 23: Template Languages for OpenStack - Heat and TOSCA

Heat Topology View

Page 24: Template Languages for OpenStack - Heat and TOSCA

Apache Server DB Server

NodeJS

NodeCellerMongoDB

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

Page 25: Template Languages for OpenStack - Heat and TOSCA

Network View

Page 26: Template Languages for OpenStack - Heat and TOSCA

Topology View

Page 27: Template Languages for OpenStack - Heat and TOSCA

TOSCA (Like) Blueprint


Recommended