u - IBM

advertisement
IBM Student Workshop for Frontiers of Cloud Computing 2011
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
© 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)
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)
 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
© 2011 IBM Corporation
Enablement Patterns – Example
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.
 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
*source: IBM Software-as-a-Service Blueprints
© 2011 IBM Corporation
A Transformation Problem Instance
 Given:
– Application to be transformed and a
set of requirements
– Knowledge Base of enablement
patterns which each address one
requirement (multiple patterns per
requirement)
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)
 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)
© 2011 IBM Corporation
Transformation Problem - Mathematical Formulation
 Requirements for a cloud application:
Example: Application & Enablement Pattern mapping to Features
The Application includes features f1, f3, f7, and f8
 The set of all enablement patterns:
Pattern p1,1 requires feature f1, Pattern p1,2 requires features f2 & f3,
…
 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
© 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.:
but not included in the application
 Let H be a (u x n) dimensional matrix which defines enablement pattern – application feature
Column j: contains a 1 for each feature
relationships, such that:
th
Multiply each row i by ai
required by the j pattern
a1
x
.
.
.
au
 Then
uxn
x
Application
Profile
Knowledge
Base
© 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:
Ensures that only one pattern is
selected for each requirement
 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)
© 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
Enablement
Pattern
Knowledge
Base
Application 1
Application 2
Cloud
Transformation
Advisor
Application 3
Transformation
Option 1
Transformation
Option 2
Transformation
Option 3
Activities, tools.
skills needed
Activities, tools.
skills needed
Activities, tools.
skills needed
✓
© 2011 IBM Corporation
Cloud Transformation Advisor
 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
Cloud Transformation Advisor Steps
Understand
“why”
Collect
Data
Evaluate “how well” &
make selection
Define “what” & “how”
Identify biz
scenarios* &
desired cloud
capabilities
Compose
transformation
alternatives
Check
feasibility
*optional
Evaluate
transformation
alternatives
Select
transformation
solution
Collect Data
Phase I :
Collect data
Phase II :
Compose feasible technical solutions
Phase III :
Evaluate
© 2011 IBM Corporation
Step 1: Data Collection
Application Information is
entered into the tool
A set of required capabilities is
selected
12
© 2011 IBM Corporation
Step 2: Alternative Generation & Assessment
The advisor generates
transformation alternatives
For each alternative, a
feasibility check is
performed (with
additional application
information input as
needed)…
…and transformation
activities are determined
13
© 2011 IBM Corporation
Step 3: Evaluation & Selection
Alternatives are
compared using a set
of criteria (effort &
quality attributes)
A report can be
generated for the
selected solution
14
© 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
For More Information, contact:
Yi-Min Chee
ymchee@us.ibm.com
THANK YOU
© 2011 IBM Corporation
Download