tosca how tosca adds value and portability in a container-centric world topology and orchestration...

21
TOSCA How TOSCA Adds Value and Portability in a Container-Centric World Topology and Orchestration Specification for Cloud Applications (TOSCA) Standard

Upload: zoe-oneal

Post on 13-Dec-2015

227 views

Category:

Documents


4 download

TRANSCRIPT

TOSCAHow TOSCA Adds Value and Portability in

a Container-Centric World

Topology and Orchestration Specification for Cloud Applications (TOSCA) Standard

2

Agenda▪What and why TOSCA?

• Definition

• Addressing critical Cloud challenges for different roles, e.g., Cloud provider/platform, developer/modeler (DevOps), etc.

• TOSCA eco-system and status

▪How: a use case driven technical walk-thru of TOSCA

▪Q&A and open discussion

2

• TOSCA is an important new open cloud standard, that is enabling a unique eco-system, supported by a large and growing number of international industry leaders…

What is TOSCA?

TOSCA is a machine and human readable, domain specific language, that defines the interoperable description of applications; including their

components, relationships, dependencies, requirements, and capabilities….

…thereby enabling portability and automated management across cloud providers regardless of underlying platform or infrastructure thus expanding customer choice, improving reliability, and reducing cost

and time-to-value.

3

4

TOSCA Application Model

Web Server Tier

Web Server

Web App

PHP Script Module

Database Server Tier

DB Server

Database

These concepts lead to an application-centric, holistic, unified model • Reusable models extend investments by making it easy to compose

more valuable and complex apps from existing apps• Models can be validated by automation to ensure app-aware,

policy-aligned configuration, deployment and operational semantics

Containment and Connectivity concepts support Composition & Reuse

The collective knowledge of application and infrastructure experts are captured as reusable TOSCA models

Cont

ainm

ent

Connectivity

5

TOSCA enables an eco-system where service providers can Compete and Differentiate to add value to Your Applications

Each cloud provider competes by offering their “best fit” of unique capabilities, features, and services that match the application’s requirements

Cloud Provider C

Cloud Provider B

TOSCA supports automated matching of application requirements to provider

capabilities

PortableChoice of Provider that

“best fits” your application

• Avoid the “lowest-common denominator” approach…

ChoiceBest Fit

TOSCA App

• TOSCA Apps can be designed to be portable to any cloud (including hybrid) that meets the application’s requirements

Cloud Provider A

6

TOSCA Templates Agnostic to Cloud Infrastructure Changes

TOSCA enables holistic application lifecycle automation whileensuring integrity, security and compliance

Architects

Model services, policies &

requirements

Development Teams

Develop, unit test scripts, plans &

artifacts for planned releases,

patches, fixes

QA Teams

Build & Test releases,

updates & configurations

Operations

Deploy, manage& monitor application

lifecycle

Cloud Provider A

Cloud Provider C

Cloud Provider B

TOSCATemplate

Cloud Application Lifecycle with TOSCA

TOSCATemplate

TOSCATemplate

TOSCATemplate

TOSCATemplate

Infrastructure Changes

Hot Packs

Strategic Requests

Operational Requests

ExternalInfluences

BusinessConditions

TOSCA templates communicate and drive app-centric Dev-Ops and continuous delivery

7

TOSCAPortableCloudApplication

TOSCA reduces application complexity

Enabling TOSCA applications to be portable to different infrastructures

Application Requirements

TOSCAOrchestration

TOSCA Service Template

Storage

Compute1

DB

Compute2

App

Network

ScalingPolicy

RingNetwor

kKVM

KVM

KVMKVM

KVM

KVM

Cloud Provider C

Cloud Provider B

PowerVM

SSDPowerVM

SSDPowerVM

SSDPowerVM

SSDPowerVM

PowerVM

RDMANetwork

Cloud Provider A

10 GbNetwor

kX86 VM

HDDX86 VM

HDDX86 VM

Infrastructure Capabilities

by expressing application requirements…

independently from cloud provider Capabilities…

& OptimizationAutomatic Matching

8

TOSCA eco-system is rapidly growing with support from industry leaders

• TOSCA Version 1.0 Specification approved as an OASIS Standard (Nov 2013)

• Government and Corporate Awareness: – OASIS: 600+ participant organizations.

5000+ participants spanning 65+ countries– TOSCA Committee: 170+ people 45+ companies/orgs– International Standards & Research: ETSI NFV liaison,

EU FP7, etc.

– Industry Analysts: Forrester names TOSCA as a top four cloud open standard (Mar 2014)

• Multi-company Interoperability Demonstrated: – EuroCloud 2013 (Oct 2013): IBM, SAP, Fujitsu, Huawei, HP,

Vnomic, Zenoss and others– Open Data Center Alliance:

TOSCA Application Portability in the Enterprise Cloud PoC (Jan 2014)

• Open Source:

– OpenStack, Eclipse, getcloudify.org, celar

Associated Companies

Open Source Projects

… and open source partners

We Covered the What and Why…

How: A Use Case Driven Technical Walk-Thru of TOSCA

nodejsnodejsWebServer

RequirementsContainerContainer

app_serverapp_serverCompute

CapabilitiesContainerContainer

CapabilitiesContainerContainer

paypal_pizzastorepaypal_pizzastoreWebApplication

Requirements

ContainerContainer

DBMS

RequirementsContainerContainer

CapabilitiesContainerContainer

DatabaseRequirements

ContainerContainer

HostedOn

CapabilitiesEndpoint.DBEndpoint.DB

Endpoint.DBEndpoint.DB

ComputeCapabilities

ContainerContainer

ConnectsTo

Application Tier Database Tier

HostedOn

HostedOn

mongo_db

mongo_dbms

mongo_server HostedOn

Example: Java Web Application using Node.js and Mongo DatabaseEnabled by: TOSCA Nodes, Relationships, Requirements, and Capabilities

TOSCA Abstraction describing Application, Container & Infrastructure

NodePayPal

Sample App

NodeNode.js

NodeMongo DBMS

NodeMongoDB

RelationshipConnectsTo

can be orchestrated

in parallel

RelationshipHostedOn

RelationshipHostedOn

RequirementsEndpoint DB

Container

CapabilitiesContainer

CapabilitiesEndpoint DB

11

Logging/Monitoring Tier (ELK)Application Tier

nodejs

WebServer

app_server

Compute

paypal_pizzastore

WebApplication

TOSCA Model for a Complex Multi-Tier Cloud Service

collectd

logstashSoftwareComponent

Artifacts• Create• Config• Start

Requirements

Container

Capabilitieslog_endpoint

logstash_server

Compute

Capabilities

Container

elasticsearchSoftwareComponent

Artifacts• Create• Config• Start

RequirementsContainer

Capabilitiessearch_endpoint

elasticsearch _server

Compute

Capabilities

kibanaSoftwareComponent

Artifacts• Create• Config• Start

Requirements

Container

kibana_server

Compute

Capabilities

search_endpoint

ConnectsTo

HostedOn HostedOn HostedOn

ConnectsTo

Database Tier

mongo_dbms

DBMS

mongo_server

Compute

mongo_db

Database

rsyslog

search_endpoint

ContainerContainer

ConnectsTo

Example: Logging/Monitoring Service for the Webshop using Kibana

12

Attach same volume to server_2• my_web_server_2 (Compute)

• storage_attach_2 (AttachesTo)• volume_id for my_storage• location: /another_location

storage_attach_2

Properties• location: /another_location

AttachesTo

my_web_server_2Compute

Attributes• private_address• public_address• networks• ports

CapabilitiesContainer

OperatingSystem

RequirementsAttachment

...

Create new volume and attach to server_1• my_web_server_1 (Compute)

• storage_attach_1 (AttachesTo)• location: /some_location

• my_storage (BlockStorage)storage_attach_1

Properties• location: /some_location

AttachesTo

my_storage

BlockStorage

Capabilities

Attachment

Properties• size• volume_id• snapshot_id

my_web_server_1Compute

Attributes• private_address• public_address• networks• ports

CapabilitiesContainer

OperatingSystem

RequirementsAttachment

...

TOSCA Model for Block & Object Cloud Storage

Scenario: different servers use the same storage at different mount points

13

BindsTo

BindsTo

my_app_1Compute

Attributes• private_address• public_address• networks• ports

CapabilitiesContainer

...Bindable

LinksTo

port_2Port

CapabilitiesLinkable

RequirementsBindable

public_net_1Network

CapabilitiesLinkable

LinksTo

port_1Port

CapabilitiesLinkable

RequirementsBindable

private_net_1Network

CapabilitiesLinkable

TOSCA Model for Logical Public & Private Cloud Networks

• Application Model separate from Network Model

• Connected via logical Ports nodes (via LinksTo and BindsTo)

Allows developers to model JUST the application bind to existing tenant networks

14

TOSCA Model for Containers leveraging Repositories

Hosted On

PaaS Subsystem (hidden)

PaaS Modeling• Template author chooses to expose or hide runtime topology & implementation

Container Application Modeling• Agnostic of PaaS Cloud Provider

– PaaS on OpenStack, Cloud Foundry, Azure, etc.

Docker Hub(Repository)

Docker Image

for mysql

docker_mysqlContainer.App.Docker

Artifacts- my_image: type: Image.Docker URI: mysql repository: docker

Requirements

...Runtime.Docker

Container

my_PaaS_platformContainer.Runtime

Capabilities

Runtime.Docker

Container

Runtime.Nodejs

Runtime.J2EE

...

PaaS Layer exposes “runtimes” as TOSCA Capabilities

• Docker, Nodejs, JSP, J2EE, etc.

Orchestrators could automatically retrieve and deploy a Docker image from a declared Repository

• TOSCA Templates can model repositories • Orchestrators could dynamically “pull” from multiple repositories

15

Supported areas: Placement (Affinity), Scaling and Performance‒ with Rules that are evaluated to execute Automatic and Imperative Triggers

TOSCA Direction to model Policies

Policies modeled as Requirements using Capability Types that can be attached to ‒ Interfaces or specific Operations‒ Nodes and ‒ Groups of Nodes

my_app_1Compute

CapabilitiesContainer

...Lifecycle

create

configure

...

Policy• Type• Rule• Trigger

my_scaling_group

backend_appCompute

Policy• Type• Rule• Trigger

my_databaseCompute

web-appCompute

Policy• Type• Rule• Trigger

1

2

3

16

TOSCA Direction to model Network Functions VirtualizationPlanning work with OpenStack Neutron related OpenNFV projects• TOSCA liaising with ETSI NFV and OpenNFV standards work groups Support for NFV

graph constructs:

TOSCA Profile Drafts model SDN on OpenStack– Network Service Descriptors (NSD)– Virtual Network Function Descriptors (VNFD)– Forwarding Graphs as sequences of Connection Points (CPs)

17

Automated TOSCA-based Orchestration Now Part of OpenStack

● TOSCA-to-Heat-Translator now part of OpenStack Heato Latest TOSCA features integrated: Networking, Block & Object Storage...

o Implemented TOSCA relationship templates, custom types

o Availability to use on command line & user input param support

● Plans for next OpenStack release (“Liberty”) include o Murano (Application catalog integration) with OpenStack client

o TOSCA parser available as independent Python library

o TOSCA Policy schema and Group schema

TOSCA TypesTOSCA

Template

TOSCA Nodes

Validation Tests

Map Generate

Validation Tests

TOSCA Parser HOT Generator

HOT - Heat Orchestration

Template

Heat

Deploy

OpenStack Services

Orch

18

TOSCA templates rendered in YAML• Both TOSCA Templates and Heat HOT Templates use YAML as DSL• Human readable and crisp• Popular in open source projects• Easy to integrate

TOSCA YAML HOT YAML

19

TOSCA Benefits Summary

• Human readable and easy to integrate Domain Specific Language

• An Open Standard that models the right application abstractions • Manipulate the orchestration declaratively instead of dealing with

disparate cloud APIs (leave that to the TOSCA Orchestrator)

• Covers the full complexity of applications  • All levels and tiers: Application, Middleware, Container, Infrastructure• Group software components and attach TOSCA policies to

convey important QoS & placement requirements • Aligns with future work on monitoring

• Leverage pre-built TOSCA Templates, models, and definitions from distributed repositories

• Portable automatic orchestration (works with OpenStack now)

TOSCA Resources – Learn More • TOSCA Technical Committee Public Page (latest documents, updates, and more)

– https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca• OASIS Channel (all standards) or TOSCA YouTube Playlist

• https://www.youtube.com/user/OASISopen or http://bit.ly/1BQGGHm • TOSCA Simple Profile in YAML v1.0 (latest committee approved draft)

• http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.pdf

• TOSCA Simple Profile for NFV v1.0 (latest committee approved draft) – http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd01/tosca-nfv-v1.0-csd01.pdf

• TOSCA v1.0 Specification (2013)– http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.pdf

• TOSCA v1.0 Primer– http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer-v1.0.pdf

• Contact the Technical Committee Co-Chairs:– Paul Lipton, [email protected]– Simon Moser, [email protected] 20

2121

Q&A

TOSCAAn Open Standard for Business

Application Agility and Portability in the Cloud

Start Blueprinting Your Cloud Apps in TOSCA now!