automatic topology completion of tosca-based cloud ... file4 e motivation –automated topology...
TRANSCRIPT
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
2
Outline
Motivation & TOSCA
Method - Automated Topology Completion
Prototype
Conclusion & Future Work
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)
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
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)
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
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
8
Agenda
Motivation & TOSCA
Method - Automated Topology Completion
Prototype
Conclusion & Future Work
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
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
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
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
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
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
15
CloudCycle
Black Box Approach
TOSCA Topology
Completion
Incomplete Topology Template
CompletedTopology Template
16
CloudCycle
Glass Box Approach
TOSCA Topology
Completion
Incomplete Topology Template
CompletedTopology Template
Cloud Service Developer
observe steer
stepwise
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
18
CloudCycle
Completion Result
(hostedOn)
(UbuntuLinux)
(ApacheWebServer)
(AmazonEC2VM)
Web Archive
(WAR)
(hostedOn)
(hostedOn)
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
20
Agenda
Motivation & TOSCA
Method - Automated Topology Completion
Prototype
Conclusion & Future Work
21
CloudCycle
Prototype – Winery Topology Modeler Extension
*click*
Drag & Drop
22
CloudCycle
Prototype – Topology Completion Dialog
*click*aka Glass Box Approach
23
CloudCycle
Prototype – Glass Box Approach
Preview
Relationship Template Selection
Node Template Selection
Manual Changes
*click*
24
CloudCycle
Prototype – Completion Result
25
Agenda
Motivation &TOSCA
Method - Automated Topology Completion
Prototype
Conclusion & Future Work
26
CloudCycle
Conlusion
We enabled Automated Topology Completion using TOSCA Requirements
Solution fits in the CloudCycle Toolchain
27
CloudCycle
Future Work
Automated Completion of TOSCA Properties
Policy-aware Topology Completion
E.g. costs, availability, locations
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!