Reusing cloud-based services with TOSCA

Similar documents
Reusing cloud-based services with TOSCA

Automatic Topology Completion of TOSCA-based Cloud Applications

Winery A Modeling Tool for TOSCA-based Cloud Applications

Portable Cloud Services Using TOSCA

OASIS TOSCA. Introduction and Overview

TOSCA: Portable Automated Deployment and Management of Cloud Applications

OASIS TOSCA. Introduction and Overview. Thomas Spatzier, IBM

Integrated Cloud Application Provisioning: Script-centric Management Technologies

Policy4TOSCA: A Policy-Aware Cloud Service Provisioning Approach to Enable Secure Cloud Computing

An Extensible Application Topology Definition and Annotation Framework

Computer Science Department University of Pisa

Automated Provisioning of Customized Cloud Service Stacks using Domain-Specific Languages

Seamless adaptive multi- cloud management of service- based applications. European Open Cloud Collaboration Workshop, May 15, 2014, Brussels

SeaClouds Open Reference Architecture

Editorial NUMBER 01 NOVEMBER Editorial. Project overview. Reference architecture

10 Years of Hype Cycles - Do We Forget Knowledge?

On-demand Provisioning of Workflow Middleware and Services An Overview

Invitation to OASIS CAMP A Cirrus View (high level)

Combining Declarative and Imperative Cloud Application Provisioning based on TOSCA

A Step-by-Step Guide to Defining Your Cloud Services Catalog

Escaping Vendor Lock-in with TOSCA, an Emerging Cloud Standard for Portability

Integrating Configuration Management with Model-Driven Cloud Management Based on TOSCA

Lego4TOSCA: Composable Building Blocks for Cloud Applications

Seamless adaptive multi-cloud management of service-based applications

Deployment Aggregates - A Generic Deployment Automation Approach for Applications Operated in the Cloud

Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0

TOSCA Interoperability Demonstration

SeaClouds Project D2.2 Initial architecture and design of the SeaClouds platform

Portable, Interoperable Cloud Applications using TOSCA

Portable, Interoperable Cloud Applications using TOSCA

Urbancode Deploy Overview

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

ScienceDirect. A New Cloud Services Portability Platform

Design Support for Performance-aware Cloud Application (Re-)Distribution

Service Virtualization

Topology and Orchestration Specification for Cloud Applications. An Open Standard for Cloud Application Portability

management software developments Aad van Moorsel Newcastle University, UK

c-eclipse: An Open-Source Management Framework for Cloud Applications

CMotion: A Framework for Migration of Applications into and between Clouds

MODAClouds. An FP7 Integrated Project

IBM Open Cloud Architecture

Faster Development Through Virtualization

The SPES Methodology Modeling- and Analysis Techniques

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

WISE-SPL: Bringing Multi-tenancy to the Weather InSights Environment System

[We apologise if you receive multiple copies of this



Why Cloud Standards Matter

Cloud Service Orchestration with TOSCA, Chef and Openstack

The Hybrid Cloud: Bringing Cloud-Based IT Services to State Government

Dynamic Hybrid (Cloud) Applications. Introducing the INAETICS project. Bram de Kruijff Luminis Technologies

Compensation-based vs. Convergent Deployment Automation for Services Operated in the Cloud

Six Strategies for Building High Performance SOA Applications

1 What is Cloud Computing? Cloud Infrastructures OpenStack Amazon EC CAMF Cloud Application Management

Lecture 02b Cloud Computing II

Measuring Performance Metrics of WS-BPEL Service Compositions

Patterns for Architectural Analysis and Systems Integration

Introduction to UDDI: Important Features and Functional Concepts

Dagstuhl seminar on Service Oriented Computing. Service design and development. Group report by Barbara Pernici, Politecnico di Milano

DevOpSlang - Bridging the Gap Between Development and Operations

Developing Service-Oriented Architecture Applications with OSGi

Leveraging Platform Basic Services in Cloud Application Platforms for the Development of Cloud Applications

The Need for a Choreography-aware Service Bus

A Generic Artifact-Driven Approach for Provisioning, Configuring, and Managing Infrastructure Resources in the Cloud

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications

Bridge Development and Operations for faster delivery of applications

CAGE: Customizable Large-Scale SOA Testbeds in the Cloud

Sentinet for Windows Azure SENTINET

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

goberlin a Trusted Cloud Marketplace for Governmental and Commercial Services

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

CLOUD ARCHITECTURE DIAGRAMS AND DEFINITIONS

Service-Oriented Computing: Service Foundations

Programming directives are popular in

Improving Agility of Cloud Ecosystems with MODAClouds Introduction and objectives for the second year

Cloudify and OpenStack Heat

An Integrated mhealth Solution for Enhancing Patients Health Online

A Proposed Case for the Cloud Software Engineering in Security

Towards a BPM Cloud Architecture with Data and Activity Distribution

SOA, Cloud Computing & Semantic Web Technology: Understanding How They Can Work Together. Thomas Erl, Arcitura Education Inc. & SOA Systems Inc.

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

Service-oriented architecture in e-commerce applications

A Prototype for View-based Monitoring of BPEL Processes

Best Place to Find the Best Jobs Out There

NFV and What it Means to You From ETSI to MANO to YANG Making Sense of it All

OPEN DATA CENTER ALLIANCE : Service Orchestration with TOSCA White Paper

Transform service delivery with HP Cloud Management

Knowledge-based Expressive Technologies within Cloud Computing Environments

South East of Process Main Building / 1F. North East of Process Main Building / 1F. At 14:05 April 16, Sample not collected

Semantic-enabled Software Engineering and Development

Enterprise Architecture at Work

Beyond Mere Application Structure

Characterizing and Evaluating Different Deployment Approaches for Cloud Applications

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Future Internet Architecture

How To Create A Cloud Distribution Of An Application

Semantic Business Process Management

Best of SharePoint Composites

Design and Implementation of an Automatic Semantic Annotation Service

Transcription:

Reusing cloud-based services with TOSCA A. Brogi, J. Soldani Computer Science Department University of Pisa CLOUDCYCLE14 Stuttgart, Germany September 22nd, 2014 Jacopo Soldani 1

Outline Introduction Background» TOSCA» Matching cloud services with TOSCA Reusing cloud-based services with TOSCA» Adaptation of plug-in matching services» Adaptation of NON plug-in matching services Conclusions and Outlook Jacopo Soldani 2

Introduction Reuse in the context of cloud SBAs Reusing the available SW stack would avoid us to design and develop it from scratch. Jacopo Soldani 3

Introduction Reuse in the context of cloud SBAs (2) What do we need to achieve the reuse of cloud SBAs?» A suitable representation of such kind of applications. TOSCA [1]» A way to understand which applications can be reused. Matching cloud services with TOSCA [2]» A methodology to easily and effectively reuse these applications. Our contribution! [1] OASIS. Topology and Orchestration Specification for Cloud Applications (TOSCA), Version 1.0. http://docs.oasis-open.org/tosca/tosca/v1.0/tosca-v1.0.pdf, 2013. [2] A. Brogi, and J. Soldani. Matching cloud services with TOSCA. Advances in Service-Oriented and Cloud Computing, CCIS, vol. 393. Springer, 2013. Jacopo Soldani 4

Outline Introduction Background» TOSCA» Matching cloud services with TOSCA Reusing cloud-based services with TOSCA» Adaptation of plug-in matching services» Adaptation of NON plug-in matching services Conclusions and Outlook Jacopo Soldani 5

TOSCA TOSCA [1] (Topology and Orchestration Specification for Cloud Applications) is an OASIS standard whose goals are» to enable the creation of portable cloud applications, and» the automation of their deployment/management. To do so, TOSCA provides a standardized metamodel for describing cloud services. [1] OASIS. Topology and Orchestration Specification for Cloud Applications (TOSCA), Version 1.0. http://docs.oasis-open.org/tosca/tosca/v1.0/tosca-v1.0.pdf, 2013. Jacopo Soldani 6

TOSCA Metamodel for describing cloud services Each cloud service is represented as a ServiceTemplate. Jacopo Soldani 7

TOSCA An example A very simple example of TOSCA ServiceTemplate is illustrated below. White-box viewpoint Black-box viewpoint Jacopo Soldani 8

Matching cloud services with TOSCA A NodeType can be made concrete by substituting it by a matching ServiceTemplate [3] nevertheless, no formal definition of «matching» is given. [3] OASIS. Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer, Version 1.0. http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer-v1.0.pdf, 2013. Jacopo Soldani 9

Matching cloud services with TOSCA Exact matching Intuitively speaking: a ServiceTemplate S exactly matches [2] a NodeType N (S N) iff S and N expose the same features. [2] A. Brogi, and J. Soldani. Matching cloud services with TOSCA. Advances in Service-Oriented and Cloud Computing, CCIS, vol. 393. Springer, 2013. Jacopo Soldani 10

Matching cloud services with TOSCA Plug-in matching Intuitively speaking: a ServiceTemplate S plug-in matches [2] a NodeType N (S N) iff S «requires less» and «offers more» than N [2] A. Brogi, and J. Soldani. Matching cloud services with TOSCA. Advances in Service-Oriented and Cloud Computing, CCIS, vol. 393. Springer, 2013. Jacopo Soldani 11

Outline Introduction Background» TOSCA» Matching cloud services with TOSCA Reusing cloud-based services with TOSCA» Adapting plug-in matching services» Adapting of NON plug-in matching services Conclusions and Outlook Jacopo Soldani 12

Plug-in matching services Consider the NodeType N1 and the ServiceTemplate S such that S N1. How can we adapt S so as to exact match N1 (and thus reuse S in place of N1)? Jacopo Soldani 13

Plug-in matched services Step-wise adaptation methodology To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (1) Create a new ServiceTemplate news which initially contains the matched ServiceTemplate S as the only NodeTemplate in its topology. Jacopo Soldani 14

Plug-in matched services Step-wise adaptation methodology (2) To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (2) For each capability (property) of N, define a capability (property) with the same name and type on the boundaries of news, and map it onto the corresponding of S. (3) For each interface i of N, declare a new interface with the same name and operations on the boundaries of news, and map each operation onto the corresponding of S. Jacopo Soldani 15

Plug-in matched services Step-wise adaptation methodology (3) To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (4) Add a NodeTemplate NoBe (whose capabilities satisfy the requirements of S and whose requirements are the same of N) to the topology of news. (5) For each requirement of N, define a requirement with the same name and type on the boundaries of news, and map it onto the corresponding one of NoBe. Jacopo Soldani 16

Non plug-in matching services Consider now the NodeType N2 and the ServiceTemplate S such that S N2. Can we still adapt S so as to exact match N2 (and thus reuse S in place of N2)? Jacopo Soldani 17

Non plug-in matched services Step-wise adaptation methodology To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (1) Create a new ServiceTemplate news which initially contains the matched ServiceTemplate S as the only NodeTemplate in its topology. Jacopo Soldani 18

Non plug-in matched services Step-wise adaptation methodology (2) To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (2) For each capability c (property p) of N, define a capability (property) with the same name and type on the boundaries of news, and map it onto the equivalent one of S. Jacopo Soldani 19

Plug-in matched services Step-wise adaptation methodology (2) To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (3.1) For each interface of N, define an interface with the same name on the boundaries of news. (3.2) For each operation op exposed by N, define an operation with the same name and parameters in the corresponding interface of news, and map it to the equivalent operation/plan of S. Jacopo Soldani 20

Non plug-in matched services Step-wise adaptation methodology (3) To adapt a ServiceTemplate S s.t. S N and S N into a new ServiceTemplate news that exactly matches N (i.e., news N) (4) Add a NodeTemplate NoBe (whose capabilities satisfy the requirements of S and whose requirements are the same of N) to the topology of news. (5) For each requirement of N, define a requirement with the same name and type on the boundaries of news, and map it onto the equivalent one of NoBe. Jacopo Soldani 21

Non plug-in matching services Can unmatched services always be adapted? Consider the already introduced NodeType N2 and the ServiceTemplate S such that S N2.? S CANNOT be adapted so as to exact match N2 Jacopo Soldani 22

Non plug-in matching services Can unmatched services always be adapted? (2) The proposed adaptation methodology can be effectively employed when:» S exposes all the capabilities and properties of N, but in a syntactically different way, and/or» N declares all the requirements which are exposed by S, but in a syntactically different way, and/or» N features one or more interface operations which are not matched by any operation featured by S, while they can be matched by some compositions of S s operations. Otherwise, despite S may be adapted to match N, our methodology cannot detect it. Jacopo Soldani 23

Outline Introduction Background» TOSCA» Matching cloud services with TOSCA Reusing cloud-based services with TOSCA» Adaptation of plug-in matching services» Adaptation of NON plug-in matching services Conclusions and Future Work Jacopo Soldani 24

Conclusions We have discussed a step-wise methodology to non intrusively adapt a ServiceTemplate S into a new ServiceTemplate news s.t. news N.» If S N, S can always be adapted into news.» Otherwise, this is not ensured. Our methodology does not require to intervene in the source code of the reused applications.» Adapting the specification of S does suffice to reuse any actual service modeled by S to deploy applications that rely on N. Jacopo Soldani 25

Future work 1. Implementation of a tool implementing our matchmaking and adaptation procedures.» To be integrated into the open source OpenTOSCA [4] environment. 2. Application of more complex adaptation techniques, like those that input also an explicit specification of the desired application [5]. 3. Extend our matchmaking and adaptation procedures so as to reuse only part of the available ServiceTemplates (instead of the entire application). [4] T. Binz, U. Breitenbücher, F. Haupt, O. Kopp, and F. Leymann. OpenTOSCA A runtime for TOSCA-based cloud applications. In: Proceedings of ICSOC13. Springer, 2013. [5] A. Brogi, C. Canal, and E. Pimentel. On the semantics of software adaptation. Science of Computer Programming, vol. 61, issue 2, pages 136-151. 2006. Jacopo Soldani 26

Thank you! soldani@di.unipi.it Jacopo Soldani 27