ibm student workshop for frontiers of cloud computing 2011

18
© 2011 IBM Corporation Cloud Transformation Advisor A Pattern-based Approach to Cloud Transformation Yi-Min Chee, Nianjun Zhou, Fan Jing Meng, Saeed Bagheri, Peide Zhong, Jian Wang, Chang Hua Sun, Dong Xu Duan, Sugandh Mehta, Tao Liu, Shao Liang Jia December 2, 2011 IBM Student Workshop for Frontiers of Cloud Computing 2011

Upload: hazina

Post on 25-Feb-2016

24 views

Category:

Documents


1 download

DESCRIPTION

IBM Student Workshop for Frontiers of Cloud Computing 2011. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Cloud Transformation AdvisorA Pattern-based Approach to Cloud TransformationYi-Min Chee, Nianjun Zhou, Fan Jing Meng, Saeed Bagheri, Peide Zhong, Jian Wang, Chang Hua Sun, Dong Xu Duan, Sugandh Mehta, Tao Liu, Shao Liang Jia

December 2, 2011

IBM Student Workshop for Frontiers of Cloud Computing 2011

Page 2: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Motivation

As more and more applications are moved to the Cloud, there will be an increased desire to also make transformations (i.e. application changes) Why Transform?

– Enable new business models• Functionality-as-a-service (SaaS, BPaaS), outcome-based

– Address concerns highlighted by the cloud• Security & Privacy

– Take advantage of specific capabilities• Multi-tenancy, Metering & Billing, Self-service Provisioning, …

Can we use pattern-based analysis to help determine the best course of action to transform an application for the Cloud environment? Why Patterns?

– Well-known in the literature (Gang of Four, …)– Widely applied in software architecture, design & engineering– Can capture best practices at many different levels

• From High-level / Platform Independent to Very Specific

Page 3: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Outline

Transformation & Patterns Definition of a Transformation Problem Mathematical Formulation Cloud Transformation Advisor Related & Future Work

Page 4: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Cloud Transformation – What needs to be considered? Application Profile Information

– Features about the application to be transformed and its context

• Architectural Details• Implementation Details• Business / Project Context

– Requirements to be addressed by Transformation• Functional• Non-Functional (Quality Attributes)

Enablement Pattern Information– Problem that is solved

• Requirement addressed by the pattern– Activities to apply the pattern

• Roles, skills, effort, tools, automation, …– Features required by a pattern

• Architectural, platform, language, technology, etc…– Quality Attributes

Cloud Platform Capability Information– Features supported by a particular cloud platform

• Infrastructure, Platform layers• Supported Middleware• Cloud Services

We define the union-intersection of Application Profile, Enablement Pattern, and Cloud Platform Information as a set of common features and quality attributes (General Transformation Template)

Page 5: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Enablement Patterns – Example

Pattern e11 uses the mediation capabilities of an Enterprise Service Bus to route a request (in this case a vetting request) to a service provider based on the ID of the tenant (participant)

Pattern e12 uses the dynamic routing & assembly functionality of the IBM WebSphere Business Services Fabric product to accomplish the same objective

Each pattern is represented in the knowledge base in terms of the set of activities, roles, and skills required to apply the pattern, as well as the set of dependencies, which are prerequisites to the usage of the pattern.

*source: IBM Software-as-a-Service Blueprints

Page 6: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

A Transformation Problem Instance

Example: Application with 3 requirements.

The knowledge base contains 3 patterns which address requirement r1, 2 patterns which address requirement r2, and a single pattern which addresses requirement r3.

The possible solutions are (p1,1, p2,1, p3,1), (p1,1, p2,2, p3,1), (p1,2, p2,1, p3,1), (p1,2, p2,2, p3,1), (p1,3, p2,1, p3,1) and (p1,3, p2,2, p3,1)

Given:– Application to be transformed and a

set of requirements– Knowledge Base of enablement

patterns which each address one requirement (multiple patterns per requirement)

Determine:– The “best” solution, where a

solution consists of a set of patterns which collectively address the application requirements

The total number of possible solutions (cardinality) N(S):

(where l is the total number of requirements; ni is the number of the candidate patterns for the ith requirement, and n is the total number of patterns)

Page 7: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Requirements for a cloud application:

The set of all enablement patterns:

A feasible solution is represented by an array where:

The set of all features:

Enablement Pattern-to-Features mapping (from pattern harvesting):

– Defines the set of features required by each enablement pattern

Application Profile-to-Feature mapping (from user):

– Defines the set of features contained by the application

Transformation Problem - Mathematical Formulation

Example: Application & Enablement Pattern mapping to Features

The Application includes features f1, f3, f7, and f8

Pattern p1,1 requires feature f1, Pattern p1,2 requires features f2 & f3, …

Page 8: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Transformation Problem - Mathematical Formulation, cont’d

Define “best” solution as the one which minimizes the number of conflicts between the features required by its set of enablement patterns and the features utilized by the application to be transformed:

How to calculate for a given solution? Let represent whether a given feature is required by a pattern in the

solution but not included in the application, i.e.:

Let H be a (u x n) dimensional matrix which defines enablement pattern – application feature relationships, such that:

Then

but not included in the application

a1

.

.

.

au

Column j: contains a 1 for each feature required by the jth pattern Multiply each row i by ai

ApplicationProfile

u x n

KnowledgeBase

x

x

Page 9: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Transformation Problem - Mathematical Formulation, final

So given the above, we obtain the optimal solution (from a transformation fitness perspective) by solving for:

This is an integer programming problem– For large problem size, use branch and bound or heuristic algorithm

Given the optimal solution (set of enablement patterns), we can then use a similar formulation to solve for the cloud platform which best supports the chosen set of enablement patterns

– Coverage for a given platform of the features required by the selected patterns

(See paper for formulation which takes into account pattern cost / effort)

Ensures that only one pattern is selected for each requirement

Page 10: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Transformation in Practice

Technical Feasibility (e.g. defined as above) is only one aspect of pattern selection In Practice, the choice of patterns for transformation involves analysis of trade-offs

– Technical feasibility– Non-functional characteristics (e.g. quality attributes)

• Generic: efficiency, reliability, scalability• Domain-specific: level of isolation, encryption strength

How can we leverage the mathematical formulation for feasibility to assist in the selection of patterns?

Candidate Applications for Transformation

Application 1

Cloud Transformation

Advisor Transformation Option 1

Activities, tools. skills needed

Transformation Option 2

Activities, tools. skills needed

Transformation Option 3

Activities, tools. skills needed

Enablement Pattern

Knowledge Base

Application 2 Application 3

Page 11: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Cloud Transformation Advisor

Identify biz scenarios* & desired cloud capabilities

Compose transformation

alternatives

Check feasibility

Evaluate transformation

alternatives

Understand“why”

Define “what” & “how” Evaluate “how well” & make selection

Phase I : Collect data

Phase II : Compose feasible technical solutions

Phase III : Evaluate

Collect Data

Collect Data Select

transformation solution

Cloud Transformation Advisor Steps

*optional

Realizes a Phased Approach to assist the Architect / Consultant in determining the best solution for Cloud Transformation:

– Identify Required Capabilities– Generate & Assess Transformation Alternatives– Evaluate and Select Solution

Page 12: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Step 1: Data Collection

12

Application Information is entered into the tool

A set of required capabilities is selected

Page 13: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Step 2: Alternative Generation & Assessment

13

The advisor generates transformation alternatives

…and transformation activities are determined

For each alternative, a feasibility check is performed (with additional application information input as needed)…

Page 14: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Step 3: Evaluation & Selection

14

Alternatives are compared using a set of criteria (effort & quality attributes)

A report can be generated for the selected solution

Page 15: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Knowledge Base Portal for Pattern Harvesting

Page 16: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Related Work

Zdun and Avgeriou describe a systematic approach for the modeling of architectural design patterns through the use of architectural primitives

– They advocate a more structured representation for describing their architectural patterns in order to address issues of expressiveness and variability

Kamal and Avgeriou extend this with a focus on enriching the capturing semantics around the behavior of a pattern

Zdun, et.al. describe an architecting process that is based on pattern selection, which is also supported by a set of tools

– Focus is more on documenting the architectural decisions that are made rather on providing assistance to guide the selection of patterns

Petter, et.al. propose a framework for pattern evaluation based on design science, which includes a set of criteria to be used

– Focused on the pattern lifecycle management as opposed to pattern selection for usage

Page 17: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

Future Directions

Mathematical Model– Extensions to the mathematical model and its application in the Advisor

– Incorporating additional decision factors (quality, cost-benefit, risk, …) into an overall mathematical framework for analysis

Engineering Perspective– Improved support for pattern harvesting and knowledge base management by domain

experts

– Automated data collection for Advisor input• Integration with discovery & code scanning tools

– Automation of Transformation activities

– Additional user assistance enabled by tracking usage of the tool• collaborative filtering techniques to augment the advisor’s recommendations• determination of content quality• identification of areas of need in terms of harvesting additional content

Page 18: IBM Student Workshop for Frontiers of Cloud Computing 2011

© 2011 IBM Corporation

THANK YOU

For More Information, contact:

Yi-Min Chee

[email protected]