11
OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software Developer, OpenStack PTL Heat-Translator Matt Rutkowski IBM STSM, Open Technologies & Standards Chair OASIS TOSCA Simple Profile WG, Simple Profile Lead Editor

OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

Embed Size (px)

Citation preview

Page 1: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

OpenStack Summit

May 18-22, 2015Vancouver, Canada

TOSCA Workloads with OpenStack Heat-TranslatorThursday, May 21 @ 11:00am

Sahdev ZalaIBM Advisory Software Developer, OpenStack PTL Heat-Translator

Matt RutkowskiIBM STSM, Open Technologies & StandardsChair OASIS TOSCA Simple Profile WG, Simple Profile Lead Editor

Page 2: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

2© 2015 IBM Corporation

Kilo: Heat-Translator now part of Heat Project!

OpenStack projectStatus changed from Stackforge to OpenStack under Heat programhttps://github.com/openstack/heat-translatorhttp://docs.openstack.org/developer/heat-translator/

• Implementation of new TOSCA features – networking, block storage, object storage, capabilities etc.

• Availability to use on command line• Support for user input parameters• Growing TOSCA ecosystem• Implementation of TOSCA relationship templates, custom types

TOSCA Types

TOSCA Template

or CSAR

TOSCA Nodes

Validation Tests

Map Generate

Validation Tests

TOSCA Parser HOT Generator

Heat Orchestration

Template (HOT)

Heat

Deploy

Page 3: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

3© 2015 IBM Corporation

Kilo: Heat-Translator in Action!• Clone the project• heat_translator.py --template-file=translator/toscalib/tests/data/tosca_helloworld.yaml

--template-type=tosca• Can provide input parameters per template need as, --parameters="purpose=test“

TOSCA YAML HOT YAML

Liberty plan: o Implement CLIFF framework to build friendlier CLIo Make Heat-Translator available to use in python-openstackclient (OSC) via plugin

Page 4: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

4© 2015 IBM Corporation

Database TierApplication Tier

nodejsnodejsWebServer

Artifacts• Create

Requirements

ContainerContainer

app_serverapp_server

Compute

Capabilities

ContainerContainer

HostedOn

Capabilities

ContainerContainer

paypal_pizzastorepaypal_pizzastoreWebApplication

Artifacts• Config• Start Requirements

ContainerContainer

HostedOn mongo_dbmsmongo_dbms

DBMS

Artifacts• Create• Config• Start

Requirements

ContainerContainer

HostedOn

Capabilities

ContainerContainer

mongo_dbmongo_db

Database

Artifacts• Create DB

Requirements

ContainerContainer

HostedOn

Capabilities

Endpoint.DBEndpoint.DB

Endpoint.DBEndpoint.DB

mongo_servermongo_server

Compute

Capabilities

ContainerContainer

Kilo: Heat-Translator supports Multi-Tier TOSCA use cases

ConnectsTo

MongoDBPayPalSample

App

MongoDBMSNodejs

Part1

Page 5: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

5© 2015 IBM Corporation

Logging/Monitoring Tier (ELK)

Application Tier

nodejsnodejs

WebServer

app_serverapp_server

Compute

paypal_pizzastore

paypal_pizzastore

WebApplication

Kilo: Heat-Translator supports Multi-Tier TOSCA use cases

collectd

logstashlogstash

SoftwareComponent

Artifacts• Create• Config• Start

Requirements

ContainerContainer

Capabilities

log_endpointlog_endpoint

logstash_serverlogstash_server

Compute

Capabilities

ContainerContainer

elasticsearchelasticsearch

SoftwareComponent

Artifacts• Create• Config• Start

Requirements

ContainerContainer

Capabilities

search_endpointsearch_endpoint

elasticsearch _server

elasticsearch _server

Compute

Capabilities

kibanakibana

SoftwareComponent

Artifacts• Create• Config• Start

Requirements

ContainerContainer

kibana_serverkibana_server

Compute

Capabilities

search_endpointsearch_endpoint

ConnectsTo

HostedOn HostedOn HostedOn

ConnectsTo

Database Tier

mongo_dbmsmongo_dbms

DBMS

mongo_servermongo_server

Compute

mongo_dbmongo_db

Database

rsyslog

ConnectsTo

Part2

search_endpointsearch_endpoint

ContainerContainerContainerContainer

Page 6: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

6© 2015 IBM Corporation

• 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_2my_web_server_2

Compute

Attributes• private_address• public_address• networks• ports

Capabilities

ContainerContainer

OperatingSystemOperatingSystem

Requirements

AttachmentAttachment

...

• my_web_server_1 (Compute)• storage_attach_1 (AttachesTo)

• location: /some_location• my_storage (BlockStorage)

storage_attach_1

Properties• location: /some_location

AttachesTo

my_storagemy_storage

BlockStorage

Capabilities

AttachmentAttachment

Properties• size• volume_id• snapshot_id

my_web_server_1my_web_server_1

Compute

Attributes• private_address• public_address• networks• ports

Capabilities

ContainerContainer

OperatingSystemOperatingSystem

Requirements

AttachmentAttachment

...

Kilo: Block and ObjectStorage (Cinder, Swift)

Page 7: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

7© 2015 IBM Corporation

BindsTo

BindsTo

my_app_1my_app_1

Compute

Attributes• private_address• public_address• networks• ports

Capabilities

ContainerContainer

...

BindableBindable

LinksTo

port_2port_2

Port

Capabilities

LinkableLinkable

Requirements

BindableBindable

public_net_1public_net_1

Network

Capabilities

LinkableLinkable

LinksTo

port_1port_1

Port

Capabilities

LinkableLinkable

Requirements

BindableBindable

private_net_1private_net_1

Network

Capabilities

LinkableLinkable

Kilo: Network Modeling (Neutron)

• Application Model separate from Network Model• Allows developers to Model JUST the application and

bind to existing tenant networks

• Supports a Plurality of Logical Public & Private Networks• Connected via logical Ports nodes (via LinksTo and BindsTo)

Page 8: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

8© 2015 IBM Corporation

Liberty Plans: Containers & 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_mysqldocker_mysql

Container.App.Docker

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

Requirements

...Runtime.DockerRuntime.Docker

ContainerContainer

my_PaaS_platformmy_PaaS_platform

Container.Runtime

Capabilities

Runtime.DockerRuntime.Docker

ContainerContainer

Runtime.NodejsRuntime.Nodejs

Runtime.J2EERuntime.J2EE

...

PaaS Layer exposes “runtimes” as TOSCA Capabilities

• Docker, Nodejs, JSP, J2EE, etc.

Heat-Translator could automatically retrieve and deploy a Docker image from a declared Repository

• TOSCA Templates can model their repositories (e.g., Docker Hub)

• Heat could dynamically “pull” templates, definitions, scripts, configuration files, etc. from multiple repos.

Page 9: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

9© 2015 IBM Corporation

TOSCA v1.0 intends to support policies in the areas of : Placement (Affinity), Scaling and Performance

‒ with Rules that are evaluated to execute Automatic and Imperative Triggers

Liberty Plans: Policies

Policies be modeled as Requirements using TOSCA Capability Types1. That can be attached to Interfaces or specific Operations, 2. Nodes and 3. Groups of Nodes

my_app_1my_app_1

Compute

Capabilities

ContainerContainer

...Lifecycle

createcreate

configureconfigure

...

Policy• Type• Rule• Trigger

my_scaling_group

backend_appbackend_app

Compute

Policy• Type• Rule• Trigger

my_databasemy_database

Computeweb-appweb-app

ComputePolicy

• Type• Rule• Trigger

1

2

3

Page 10: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

10© 2015 IBM Corporation

Future Plans: Network Functions Virtualization (NFV)Plan: Heat-Translator working with Neutron related OpenNFV projects

• TOSCA liaising with ETSI NFV and OpenNFV standards work groups

Support for NFV graph constructs:

TOSCA Profile Drafts model Software Defined Networks (SDN) on OpenStack

• Support Network Service Descriptors (NSD)• Virtual Network Function Descriptors (VNFD)• Forwarding Graphs as sequences of Connection Points (CPs)

(In-Progress)

Page 11: OpenStack Summit May 18-22, 2015 Vancouver, Canada TOSCA Workloads with OpenStack Heat-Translator Thursday, May 21 @ 11:00am Sahdev Zala IBM Advisory Software

11© 2015 IBM Corporation

Please join us as a contributor on the Heat-Translator project:

https://launchpad.net/heat-translator