Orchestration across multiple Cloud platforms using HEAT can be achieved through Heat's support of:
1) A TOSCA translator that allows templates written in TOSCA to be executed by Heat across different cloud platforms.
2) A resource plugin structure and mapping that enables Heat to orchestrate resources from different cloud providers.
3) The ability to execute HOT templates through a standalone Heat deployment to remote OpenStack installations.
2. About Myself
Rathinasabapathy (Saba)
Co-founder, Solutions Architect, Cloudenablers
sabapathy@cloudenablers.com
Has over 17+ years of experience in Software Industry. Heads Cloud lab
and defines technology direction and Strategy in Cloudenablers.
3. Agenda
• HEAT Introduction
• Multi Cloud Orchestration
– Workflow
– TOSCA
• Heat Features Supporting Multi Cloud Orchestration
– Heat Architecture
– Resource Plugin Structure
– Standalone Heat deployment
– Context
• Centralized template repository with indexing and search
• New features in Kilo Release
4. Heat Introduction
4
• Heat provides a mechanism for Orchestrating Openstack resources through the
use of modular templates
• It provides advanced functionality such as instance high availability, instance
auto scaling, Software deployment and nested stacks
5. Evolution of Heat
5
Havana
•Native template language (HOT)
•Concurrent resource operations
•Improved support to Networking, Ceilometer, Keystone trust
•Update/Suspend/resume Stack
Icehouse
•Support for all native Openstack resources
•Software Configurations
•Autoscaling resources
•Notifications and File inclusions
•Stack abandon/adopt/preview
Juno
•Recovery from failures during stack updates
•API to cancel and roll back an in -progress stack update
•Remember the previously-supplied parameters when updating a stack
•Improved scalability
•Improved visibility into trees of nested stacks
Kilo
• Improved scaling using nested stacks
•oslo versioned objects
•Multi region stacks
•Stack lifecycle scheduler hints
•Software-config improvements
7. Multi Cloud Orchestration using Heat
7
HOT
End User
Heat-Engine
Heat-API
Heat-API-
CFN
CFN
TOSCA
HEAT
Translator
AWS
Stack
VM VS
VPS
Cloud
Brokerage
Gogrid
Cloudsig
ma
Openstack
Stack
VM VS
Cloudcen
tral
Internap
Interoute
KS
8. TOSCA - Topology and Orchestration Specification for Cloud Applications
8
• TOSCA specification provides a language to describe service components
and their relationships using a service topology
• TOSCA enhances the portability and management of cloud applications and
services across their lifecycle
• Enables Smoother migration of existing applications to the cloud
• Enables dynamic, multi-cloud provider applications
• Flexible bursting (consumer choice)
• TOSCA is OASIS Standard
9. TOSCA - Topology and Orchestration Specification for Cloud Applications
9
10. Multi Cloud Orchestration using Heat - Demo
10
• Centralized Template Library with meta data
• Indexing and Search of Templates
• Scope and Access definition for Templates
• Support for multiple cloud platforms (AWS, vCenter, Cloud Brokerage)
• HEAT is used as Orchestration Engine
11. Heat features supporting Multi Cloud Orchestration
11
• Heat Architecture
• Heat Resource Plugin Structure
• Standalone Heat Deployment
• Context in Template
12. HEAT - Architecture
12
Heat Engine
HEAT APIHEAT CLI
HORIZON
Heat Engine
Keystone
Nova
Glance
Neutron
Cinder
Trove
Ceilometer
Swift
Sahara
Resources
Functions
Parameters
Templates
Parser
Sahara
Contrib
Stack/
Template
VM
VM
DB CFN/Signal
AMQP
Watcher Task
Scaling
13. HEAT – Resource Plugin Architecture
13
Heat-Engine
Resource
BaseClass
Create Properties
Attributes
Update Properties
Attributes
Delete Properties
Attributes
Suspend Properties
Attributes
Resume Properties
Attributes
Life cycle of a resource
Heat Engine
Contrib
Keystone
Docker
Gnochii
Mistral
Zaqar
Rackspace Server DNS Network LB
Resources
21. Centralized template repository with indexing and search
21
Templates
Meta Data
Content
HEAT MySQL
Solr
HEAT API
Indexing Bridge
Create, List
Solr API
Stack
Meta Data
Content
Event
Template Library
Execute
22. Advantages of Centralized Template Library
22
• Ease of access with scope for Templates
• Advanced Full Text Search
• Search based on substring
• Faceted Search
• Search both raw template and stack output parameters
• Search stack across multiple Openstack
HOT, CFN,
Engine –
Stack – Resources and Life cycle
EMC, CA, Cisco, Citrix, Canonical etc are part of the TC
OASIS – Advanced Open Standard for Information Society
Service Templates -
Service Template describes what is needed to be preserved across deployments in different environments to enable interoperable deployment of cloud services and their management throughout the complete lifecycle (e.g. scaling, patching, monitoring, etc.)
Service Templates contains Topology Templates and plans
XML Schema 1.0
BPMN - business process Model and Notation
BPEL - business process Execution Language
OVF - Open Virtualization format Specifications
Resource Plugin
Heat allows service providers to extend the capabilities of the orchestration service by writing their own resource plug-ins
heat/engine/resources
Resource plugin Life Cycle
A resource plug-in is relatively simple in that it needs to extend a base Resource class and implement some relevant life cycle handler methods. The basic life cycle methods of a resource are:
Create, Delete, Update, Suspend, Resume
Base Class
Plug-ins must extend the class heat.engine.resource.Resource
This class is responsible for managing the overall life cycle of the plug-in
Properties
A resource’s properties define the settings the template author can manipulate when including that resource in a template. Some examples would be:
Which flavor and image to use for a Nova server
Attributes
Attributes describe runtime state data of the physical resource that the plug-in can expose to other resources in a Stack
Ex: Hostid of a Nova Server
Gnochii – Gnocchi. Gnocchi is the project name of a TDBaaS (Time Series Database as a Service) project started under the Ceilometer program umbrella"
Zaqar – Zaqar is a multi-tenant cloud messaging service for web developers. It combines the ideas pioneered by Amazon's SQS product with additional semantics to support event broadcasting
Mistral – Workflow as a Service
Digest:
# from a user supplied parameterpwd_hash: { digest: [sha512, { get_param: raw_password }] }
The value of the digest function would resolve to the corresponding hash of the value of raw_password.