Yaron Parasol
@yaronpar
Introduction to TOSCA
About Me
• Yaron – Modern
Hebrew Name
• Parasol – Strange
Polish Name
• Lead Product
Manager of
Cloudify at
GigaSpaces
• Member of TOSCA
TC
Many stages
require
manual
involvement
Provision
Install
Configure
Deploy
Monitor
Scale
Application Deployment
Lifecycle
The Impact
of Human
Error
80%of outages impacting mission-
critical services will be caused by
people and process issues
80%of outages impacting mission-
critical services will be caused by
people and process issues
50%of those outages will be caused by
change/configuration/release
integration and hand-off issues
61%ARE HERE
83%WANT TO BE
HERE
TIME
EFFECTIVENESS
The Path to Orchestration
What is
TOSCA?
• Topology &
Orchestration
Specification of
Cloud Application
• By OASIS –
Sponsored by IBM,
CA, Rackspace,
RedHat, Huawei and
others
What is
TOSCA?
• Goal: cross cloud,
cross tools
orchestration of
applications on the
Cloud
• Status:
– Version 1 approved (XML )
– Version 2 (also YAML!) in final
design
Why TOSCA?
• Standard
• Can Describe
– Any Topology
– Any Automation
Process
• Portable between
Clouds and Tools
The TOSCA Building Blocks
Application
Topologies
Workflows
Policies
What do we
see here?
What do we
see here?
Host
Middleware
App module
connection
What
We’ve
Seen
• An application topology
• 3 layers
– Infrastructure (Cloud or DC objects)
– Platform or Middleware (App
containers)
– Application modules, schemas and
configurations
• Relationships between
components:
– What’s hosted on what or installed
on what
– What’s connected to what
What’s in a
TOSCA
Topology?
• component in the topology are
called Nodes
• Each Node has a Type (e.g.
Host, BD, Web server).
– The Type is abstract and hence
portable
– The Type defines Properties and
Interfaces
• An Interface is a set of hooks
(named Operations)
• Nodes are connected to one
another using Relationships
Topology
Infrastructure
Middleware
Application
Host Host Network
Apache Tomcat MySQL
Mod_proxy WAR Schema
Structure &
Syntax
Node Type
• Describe a Cloud or Software type
(e.g. Server or Apache)
• Maps the Type to the actual impl. Of
the lifecycle interface
Node Type (cont.)
• Defines properties as YAML maps
• Might defines capabilities (What it
can provide to other nodes)
Node Type (cont.)
• Might Define Requirements (what it
needs from other nodes)
Relationship Type
• Requirements and Capabilities are
implicit way to describe relationships
• Usually you need the explicit way
– You need hooks to configure the source or target
node or both
• So relationships have types and
interfaces as well
Relationships (cont.)
• The basic relationship types are:
– dependsOn – abstract type and its sub types:
– hostedOn – a node is contained within another
– connectsTo – a node has a connection configured
to another
• The basic interface is configure
– preconfigure_source, preconfigure_target
– postconfigure_source, postconfigure_target
– add_target, remove_target
Node Templates
• An instance of a type (like Object to
Class)
• Has specific properties
• Has artifacts:
– What to install
– How to install (mapped to interface hooks)
• Has requirements and capabilities (or
relationships)
Node Template (Examples)
Translated to
TOSCA
Node
Node
Node
Connectes_to
relationship
Hosted_on
relationship
Workflows
• Imperative flow
algorithm
• Using a workflow
engine
• Timing the
invocation of
operations on
different node
Policies
• Brings monitoring
to the orchestration
as input
• Ongoing evaluation
of Rules
• Enforce SLA, Health,
and anything else
• Can invoke more
processes
Putting it All
Together
• TOSCA Template
(Blueprint in Cloudify)
contains:
– Application Topology
• Nodes
– Interfaces
– Properties
– Artifacts (Plugins in Cloudify)
• Relationships
– Interfaces
– Workflows
– Policies
Proxy
REST +
File
Server
GUI
Workflow
Engine
Task
Manager
Blueprint + Runtime
Data
Agent
Agent
Application
Stack
Cloudify Manager
App VM
Invokes
Reports
Creates
Architecture
Policy
Engine
Monitoring
Data
Monitoring
Agent
Cloudify Manager
App VM
Invokes
Reports
Creates
Metrics VM
Architecture
Proxy
REST +
File
Server
GUI
Workflow
Engine
Task
Manager
Blueprint + Runtime
Data
Policy
Engine
Agent
Monitoring
Data
Agent
Monitoring
Agent
Application
Stack
Cloudify Manager
App VM
Invokes
Reports
Creates
Metrics VM
Logs +
Events
Architecture
Cloudify 3
Demo
• Apache 2
OpenSource
• Release – July
2014
Thank you
• http://getcloudify.
org

Tosca explained

Editor's Notes

  • #2 Goals:Why Workflows are critical part of automation of applications on the cloudClarify the need for something like OpsWorksWhy do we think this OpsWorks is needed in addition to other projects
  • #6 http://www.cloudcomputing-news.net/blog-hub/2013/sep/10/the-challenge-of-predicting-enterprise-cloud-computing-growth/ 83% of enterprises face significant roadblocks that hold them back from moving beyond cost reduction to faster time-to-market and better orchestration of their businesses. Respondents mentioned that politics, budget, time and staff are the main sources of roadblocks to getting more value out of their cloud computing investments. The majority of these roadblocks are not related to IT.  They include lack of clarity regarding organization and budget (37%), resistance to change (16%) and lack of trust (visibility and reliability) (15%).  The following graphic illustrates the enterprise cloud journey as defined in TheInfoPro Wave 5 Cloud Computing Study.