IBM Cloud Transformation Advisor A Pattern-based Approach to Cloud Transformation

wispxylopolistInternet και Εφαρμογές Web

7 Αυγ 2012 (πριν από 5 χρόνια και 9 μέρες)

386 εμφανίσεις

©
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

©
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



©
2011
IBM Corporation

Outline


Transformation & Patterns


Definition of a Transformation Problem


Mathematical Formulation


Cloud Transformation Advisor


Related & Future Work



©
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)

©
2011
IBM Corporation

Enablement Patterns


Example


Pattern
e
11

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
e
12

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

©
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
(
p
1,1
, p
2,1
, p
3,1
), (
p
1,1
, p
2,2
, p
3,1
), (
p
1,2
, p
2,1
, p
3,1
),
(
p
1,2
, p
2,2
, p
3,1
), (
p
1,3
, p
2,1
, p
3,1
)
and

(
p
1,3
, p
2,2
, p
3,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;
n
i

is the
number of
the candidate patterns for
the
i
th

requirement, and
n

is the total number
of patterns)

©
2011
IBM Corporation


R
equirements 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
f
1
,
f
3
,
f
7
, and
f
8


Pattern
p
1,1

requires feature
f
1
, Pattern
p
1,2

requires features
f
2

&
f
3
,


©
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

a
1


.

.

.


a
u

Column
j
: contains a 1 for each feature

required by the
j
th

pattern

Multiply each row
i

by
a
i

Application

Profile

u

x
n

Knowledge

Base

x





x

©
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

©
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



©
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

©
2011
IBM Corporation

Step 1: Data Collection

12

Application Information is
entered into the tool




A set of required capabilities is
selected

©
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)…


©
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

©
2011
IBM Corporation

Knowledge Base Portal for Pattern Harvesting

©
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


©
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



©
2011
IBM Corporation

THANK YOU

For More Information, contact:


Yi
-
Min Chee


ymchee@us.ibm.com