automatic topology completion of tosca-based cloud ... file4 e motivation –automated topology...

28
Pascal Hirmer 1 , Uwe Breitenbücher 2 , Tobias Binz 2 , Frank Leymann 2 Gefördert durch: Förderschwerpunkt: Projektträger: www.opentosca.org 1 Institute of Parallel and Distributed Systems, 2 Institute of Architecture of Application Systems Automatic Topology Completion of TOSCA - based Cloud Applications

Upload: others

Post on 20-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

Pascal Hirmer1, Uwe Breitenbücher2, Tobias Binz2, Frank Leymann2 Gefördert durch:

Förderschwerpunkt:

Projektträger:

www.opentosca.org

1 Institute of Parallel and Distributed Systems, 2 Institute of Architecture of Application Systems

Automatic Topology Completion of TOSCA-based Cloud Applications

Page 2: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

2

Outline

Motivation & TOSCA

Method - Automated Topology Completion

Prototype

Conclusion & Future Work

Page 3: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

3

CloudCycle

Motivation – Automated Topology Completion (I)

Mega-Trend: Provisioning of applications in the Cloud

Enable Cloud-advantages: availability, scalability, …

Challenges:

Manual application provisioning is complex and error-prone

Application developers are no Cloud experts (!)

Improvement: automated provisioning of applications

But: requires means to define the application and infrastructure components to be provisioned Enabled by cloud topologies (e.g., TOSCA)

Page 4: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

4

CloudCycle

Motivation – Automated Topology Completion (II)

Goal: Creating complete cloud topologies automatically

Solely based on application-specific components

Solution: Automated Topology Completion

Automated insertion of platform and infrastructure components

Ensuring guaranteed provisioning (!)

Allowing user control (only if desired)

Required technical expertise is minimized

Provisioning effort is minimized

Page 5: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

5

CloudCycle

TOSCA

XML-based OASIS standard to enhance portability

Enabled by TOSCA Topology Templates

Node Templates

Interoperable descriptions of application and infrastructure cloud services

Relationship Templates

Templates based on Types

Many details necessary to deploy asingle application

(hostedOn)

(UbuntuLinux)

(ApacheWebServer)

(AmazonEC2VM)

Web Archive

(WAR)

(hostedOn)

(hostedOn)

Page 6: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

6

CloudCycle

TOSCA Requirements

Node Template

RelationshipTemplate

Requirement

Node

Type

Requirement Definition

Capability TypeRequirement Type

type for

type for

type for

type for

Node Template

Capability

Node

Type

Capability Definition

requiredCapabilityType

Page 7: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

7

CloudCycle

CloudCycle Toolchain

Solution fits in the CloudCycle tool chain:

Cloud Service Developer

Plan

GeneratorCSAR

Winery

Topology

Modeler1

CSAR

4

OpenTOSCA

Vinothek

End User

Topology

Completion

3 562

Page 8: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

8

Agenda

Motivation & TOSCA

Method - Automated Topology Completion

Prototype

Conclusion & Future Work

Page 9: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

9

CloudCycle

Topology Completion - Method

Modeling of

incomplete

Topology

Template

1

Selection of

Target TOSCA

Runtime

OpenTOSCA

Automated

Completion

2 3

optional

Manual

Refinement

4

Deploy

Application

5

Page 10: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

10

CloudCycle

Modeling of Incomplete Topology Templates

Definition “Incomplete Topology”

A TOSCA topology that can’t be provisioned in the respective run time environment due to missing components

Application-specific components have to be modeled

Modeling of infrastructure or platform components is optional

Page 11: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

11

CloudCycle

Incomplete Topology - Example

Web Archive

(WAR)

(SQLConnection) MySQL Database

(MySQLDB)

Apache Tomcat

Webserver

(Apache_Tomcat)

Ubuntu

(Ubuntu)

Amazon EC2 Instance

(Amazon_EC2)

MySQL DBMS

(MySQL_DBMS)

(deployed_on)

(deployed_on)

(deployed_on)

(DBMSConnection)

(deployed_on)

missing components

Page 12: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

12

CloudCycle

Topology Completion - Method

Modeling of

incomplete

Topology

Template

1

Selection of

Target TOSCA

Runtime

OpenTOSCA

Automated

Completion

2 3

optional

Manual

Refinement

4

Deploy

Application

5

Page 13: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

13

CloudCycle

Selection of Target TOSCA Runtime

Why this is important

Features of Runtimes differ greatly

Topologies have to be modeled for specific Runtime Environments

Completion has to consider Runtime features

Page 14: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

14

CloudCycle

Topology Completion - Method

Modeling of

incomplete

Topology

Template

1

Selection of

Target TOSCA

Runtime

OpenTOSCA

Automated

Completion

2 3

optional

Manual

Refinement

4

Deploy

Application

5

Page 15: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

15

CloudCycle

Black Box Approach

TOSCA Topology

Completion

Incomplete Topology Template

CompletedTopology Template

Page 16: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

16

CloudCycle

Glass Box Approach

TOSCA Topology

Completion

Incomplete Topology Template

CompletedTopology Template

Cloud Service Developer

observe steer

stepwise

Page 17: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

17

CloudCycle

Topology Completion - Algorithm

Web Archive

(WAR)

Req. WebserverContainerRequirement

Type Repository

Windows 7 SQL_

Connection

Apache

Tomcat Serverhost_on

Amazon

EC2 Instancedeploy_on

Glassfish

Server

OS_

Connection

has capability of required capability type?

Cloud Service Developer

Apache Tomcat

(Apache_Tomcat)

Cap. WebserverContainerCapability

deploy_on

Glass Box Approach

Req. OperatingSystemRequirement

Node Types Relationship Types

RequiredCapabilityTypeWebserverContainerCapabilityType

Runtime Environment

ProvisioningAPI Provisionable?No

instantiate

Page 18: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

18

CloudCycle

Completion Result

(hostedOn)

(UbuntuLinux)

(ApacheWebServer)

(AmazonEC2VM)

Web Archive

(WAR)

(hostedOn)

(hostedOn)

Page 19: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

19

CloudCycle

Topology Completion - Method

Modeling of

incomplete

Topology

Template

1

Selection of

Target TOSCA

Runtime

OpenTOSCA

Automated

Completion

2 3

optional

Manual

Refinement

4

Deploy

Application

5

Page 20: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

20

Agenda

Motivation & TOSCA

Method - Automated Topology Completion

Prototype

Conclusion & Future Work

Page 21: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

21

CloudCycle

Prototype – Winery Topology Modeler Extension

*click*

Drag & Drop

Page 22: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

22

CloudCycle

Prototype – Topology Completion Dialog

*click*aka Glass Box Approach

Page 23: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

23

CloudCycle

Prototype – Glass Box Approach

Preview

Relationship Template Selection

Node Template Selection

Manual Changes

*click*

Page 24: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

24

CloudCycle

Prototype – Completion Result

Page 25: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

25

Agenda

Motivation &TOSCA

Method - Automated Topology Completion

Prototype

Conclusion & Future Work

Page 26: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

26

CloudCycle

Conlusion

We enabled Automated Topology Completion using TOSCA Requirements

Solution fits in the CloudCycle Toolchain

Page 27: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

27

CloudCycle

Future Work

Automated Completion of TOSCA Properties

Policy-aware Topology Completion

E.g. costs, availability, locations

Page 28: Automatic Topology Completion of TOSCA-based Cloud ... file4 e Motivation –Automated Topology Completion (II) Goal: Creating complete cloud topologies automatically Solely based

Pascal Hirmer1, Uwe Breitenbücher2, Tobias Binz2, Frank Leymann2 Gefördert durch:

Förderschwerpunkt:

Projektträger:

www.opentosca.org

1 Institute of Parallel and Distributed Systems, 2 Institute of Architecture of Application Systems

Thank you!