TOSCA and Cloudify

35
Application and Network Orchestration Using TOSCA DeWayne Filppi

Transcript of TOSCA and Cloudify

Page 1: TOSCA and Cloudify

Application and Network

Orchestration Using

TOSCA

DeWayne Filppi

Page 2: TOSCA and Cloudify

What It Really Takes to Deploy and

Manage Apps

Provision

Install

Configure

Deploy

Monitor

Scale

Page 3: TOSCA and Cloudify

Large Parts Are Mostly Manual

Real Time

Analytics

Correlate with Historical Events

Feedback

Execute Policy

Send Metrics

Setup Monitoring and

Alerts

Deploy and

Configure

Applications

Setup Machine,

Network, Storage

Push updates

Collect and Analyze

Logs

Troubleshoot

Measure

performance against

expected SLA’s

Set and tune Alerts

thresholds

Match Policy to

Incident

Page 4: TOSCA and Cloudify

The Impact of Human Errors

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

Page 5: TOSCA and Cloudify

The Cost of Downtime Up by 60%

Page 6: TOSCA and Cloudify

61% ARE HERE

83%WANT TO BE HERE

TIME

EF

FE

CT

IVE

NE

SS

The Current Reality..

Page 7: TOSCA and Cloudify

Challenges

•80% of outages impacting

mission-critical services will be caused by people and process

•83% are facing

significant roadblock keeping them from moving to the next phase (Politics, Budget, Time, Stuff)

Solution: Automation & Orchestration

•Remove Manual

Intervention out of the

application deployment process

•Reduce

Complexity and

Dynamically align to the business needs

The Solution

Page 8: TOSCA and Cloudify

Automating The Application Deployment

Deploy

Fail-over

Scale

Cloud Infrastructure

Intelligent OrchestrationHistorical data

Real Time Analytics Real Time Analytics

Correlate with

Historical Events

Feedback

Execute Policy

Send Metrics

Page 9: TOSCA and Cloudify

TOSCA –

The Glue for Putting all This Together

TOSCA

Page 10: TOSCA and Cloudify

What is TOSCA?

TOSCA defines the

interoperable

description of

applications; including

their components,

relationships,

dependencies,

requirements, and

capabilities….

Page 11: TOSCA and Cloudify

TOSCA in a NutshellMapping of application logic

through plans (workflows),

policies, relationships,

actions

Page 12: TOSCA and Cloudify

TOSCA State of the Union

Top four cloud open standard (Forrester)

5000+ participants

65+ countries

The focus

of this session

Page 13: TOSCA and Cloudify

What is TOSCA?

•Goal: cross cloud,

cross tools

orchestration of

applications on the

Cloud

•Status: –Version 1 approved (XML )

–Version 2 (YAML!) in design

Page 14: TOSCA and Cloudify

Why TOSCA?

•Standard

•Can Describe

–Any Topology

–Any Automation Process

•Portable between Clouds and

Tools

Page 15: TOSCA and Cloudify

The TOSCA Building Blocks

Application

Topologies

Workflows

Policies

Page 16: TOSCA and Cloudify

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

Page 17: TOSCA and Cloudify

Topology

Infrastructure

Middleware

Application

Host Host Network

Apache Tomcat MySQL

Mod_proxy WAR Schema

Page 18: TOSCA and Cloudify

Types and Nodes

Node in Topology

Abstract Type

Instance of

Portable Blueprint Concrete Types

Concrete TypeImplements

Concrete Plugin

Uses

Lifecycle Interface

defines

Implements

Lifecycle:

create:

start:

stop:

delete:

Node

Implementation

Instance of

Page 19: TOSCA and Cloudify

Types and Nodes

Frontend_host

Host

Instance of

Portable Blueprint

OpenStack HostImplementing

Nova Plugin

Uses

Lifecycle Interface

defines

Implementing

Lifecycle:

create: nova_provisioner.create

start: nova_provisioner.start

stop: nova_provisioner.stop

delete: nova_provisioner.delete

Lifecycle:

create:

start:

stop:

delete:

Concrete Types

My_OpenStack_Ho

st

Instance of

Page 20: TOSCA and Cloudify

Relationships

Node in Topology Node in Topology

Node in Topology

Connnected_to

Hosted_on Relationship

Interface

defines

source_interfaces:

cloudify.interfaces.relationship_lifecycle:

- preconfigure

- postconfigure

- establish

- unlink

target_interfaces:

cloudify.interfaces.relationship_lifecycle:

- preconfigure

- postconfigure

- establish

Page 21: TOSCA and Cloudify

Relationships

Host Network

Tomcat

Connnected_to

Hosted_on Relationship

Interface

defines

source_interfaces:

cloudify.interfaces.relationship_lifecycle:

- preconfigure

- postconfigure

- establish

- unlink

target_interfaces:

cloudify.interfaces.relationship_lifecycle:

- preconfigure

- postconfigure

- establish

Page 22: TOSCA and Cloudify

Translated to TOSCA

Node

Node

Node

Connected_to

relationship

Hosted_on

relationship

Page 23: TOSCA and Cloudify

Properties

Frontend_host

Host

Instance of

Portable Blueprint

OpenStack HostImplementing

Concrete Types

My_OpenStack_Ho

st

Instance of

Memory Size

Memory size = 2GB

Image_Id=1235

Properties

schema

Property values

Generic Properties

Schema

Image Id

Page 24: TOSCA and Cloudify

Policies TOSCA 1.0 didn’t

elaborate much on

policies

TOSCA 2.0 (draft)

discusses specific DSL

for specific policies

such as SLA of a Node

Out take:Policies are imperative

Policies are NOT in YAML and are

tool dependent (we’re using

Page 25: TOSCA and Cloudify

Workflows TOSCA 1.0 – Workflows (Plans) are in any WF language. Strong preference for BPMN 2.0

TOSCA 2.0 – No change

Cloudify 3.0 take –Workflows are also tool specific, currently we use Radial (Ruby based DSL) but seeking an alternative for future versions

Page 26: TOSCA and Cloudify

Putting It All TogetherTOSCA Template (Blueprint in Cloudify) contains:Application Topology

NodesInterfaces

Properties

Artifacts (Plugins in Cloudify)

RelationshipsInterfaces

Workflows

Policies

Page 27: TOSCA and Cloudify

Portable Blueprint

Page 28: TOSCA and Cloudify

Openstack_host type

Page 29: TOSCA and Cloudify

Type implementation

Page 30: TOSCA and Cloudify

Proxy

REST

+ File

Server

GUI

Workflow

Engine

Task

Manager

Blueprint + Runtime

Data

Policy

Engine

Agent

Monitoring

Data

AgentMonitoring

Agent

Application

Stack

Cloudify Manager

App VM

Invokes

Reports

Creates

Metrics VM

Logs +

Events

Remote Agents

AgentAgent

Agent

Architecture

Page 31: TOSCA and Cloudify

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

Page 32: TOSCA and Cloudify

Network View

Page 33: TOSCA and Cloudify

Topology View

Page 34: TOSCA and Cloudify

TOSCA (Like) Blueprint

Page 35: TOSCA and Cloudify

References

Node Cellar examplehttps://github.com/cloudify-cosmo/cloudify-nodecellar-

openstack

Cloudify 3http://getcloudify.org

TOSCA Overview

http://www.slideshare.net/opendatacenter/forecast14-poc3-

final100