Tosca explained

Preview:

DESCRIPTION

 

Citation preview

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

EFFE

CTIV

ENES

S

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_onrelationship

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

WorkflowEngine

Task Manager

Blueprint + RuntimeData

Agent

AgentApplicationStack

Cloudify Manager

App VM

InvokesReportsCreates Architecture

Proxy

REST + File

Server

GUI

WorkflowEngine

Task Manager

Blueprint + RuntimeData

Policy Engine

Agent

Monitoring Data

Agent Monitoring Agent

ApplicationStack

Cloudify Manager

App VM

InvokesReportsCreates

Metrics VM

Architecture

Proxy

REST + File

Server

GUI

WorkflowEngine

Task Manager

Blueprint + RuntimeData

Policy Engine

Agent

Monitoring Data

Agent Monitoring Agent

ApplicationStack

Cloudify Manager

App VM

InvokesReportsCreates

Metrics VM

Logs + Events

Architecture

Cloudify 3Demo

• Apache 2 OpenSource• Release – July

2014

Thank you• http://

getcloudify.org

Recommended