Assess enterprise applications for cloud migration

Using the Analytic Hierarchy Process to evaluate apps for the cloud

It's a simple question, but the answer is anything but simple: How do you know whether an enterprise application is suited for the cloud? Follow along as the author demonstrates a step-by-step application portfolio assessment approach to determining the suitability of your enterprise applications for the cloud based on the Analytic Hierarchy Process (AHP).

Brijesh Deb, Senior Technology Architect, Infosys

Brijesh Deb is a Senior Technology Architect with SETLabs at Infosys. Deb has varied IT experience spanning enterprise architecture, technology consulting, applied research, and engineering management; his current focus is on cloud, Web 2.0, and JavaEE.



14 September 2010

Also available in Chinese Russian Japanese Spanish

Without a doubt cloud computing offers advantages for enterprise operations:

  • It can help reduce costs (for instance, by setting up and configuring an application testbed or by being able to add and subtract computing power when you need it).
  • It can help you process large data sets faster (by balancing workloads where and when needed).
  • It can help your business respond more quickly to changing conditions (by being able to apply business analytics to larger amounts of mixed-structure data in a more rapid way).

But how do you know whether an enterprise application is suited for the cloud?

There are varied business, technology, and risk considerations which can have profound effect on the overall success of cloud initiatives in an enterprise, meaning there is no "one-size-fit-all" answer for whether an application "fits" in the cloud (which I will refer to as fitment). Each enterprise has to assess its application portfolio based on its own business imperatives, technology strategy, and risk appetite.

Some of the questions businesses need to ask themselves before undertaking cloud initiatives are:

  • What factors should I consider for cloud enablement of my enterprise applications? How do I judge different competing priorities?
  • How do I identify the applications and services that are best suited for moving to a cloud environment based on business priority and technical fitment?
  • How do I prioritize enterprise applications and services for a "phase-smart" cloud enablement? How can I avoid that "gut feeling" and bring objectivity into the evaluation?
  • What are the different risks involved?

With these questions in mind, I've developed an application portfolio assessment approach to determining the suitability of your enterprise applications for the cloud. It is based on the Analytic Hierarchy Process (AHP).

AHP is a structured technique for making complex decisions that helps users sort out the "best" decision for their challenge, situation, and variables instead of the finding the "correct" decision. It was first conceived in the 1970s. The process is straightforward:

  1. Decompose the problem into series of easier-to-understand sub-problems. Any and all input variables are welcome, whether they are precise data tables or rough guesses — as long as it applies to the situation at hand.
  2. Evaluate the elements by comparing them to each of the other elements, two elements at a time. You can do this using concrete facts or judgments — you are deciding each element's relative importance.
  3. Assign a numerical value to each of the evaluations, which allows you to compare each element to the others across the life cycle of the problem-solving process.
  4. Calculate numerical priorities for each of the decision alternatives; these represent each alternatives' perceived relative ability to achieve the decision goal.

In this article, I provide details about AHP and demonstrate how to apply this approach to support your decision on whether or not an enterprise application is appropriate for implementation in the cloud. And since all cloud systems perform under the same general concepts, this technique should be useful to you regardless of which cloud platform (or platforms) you choose to employ.

Assessment approach

Figure 1 illustrates the assessment approach via a high-level flow chart.

Figure 1. Flow chart of application portfolio assessment for cloud
Flow chart of application portfolio assessment for cloud

The approach is a multi-dimensional statistical evaluation; enterprise applications are evaluated in three dimensions:

  • Business value: How much business value would the organization accrue by moving the applications to cloud?
  • Technical fitment: How feasible is it to move the applications to cloud?
  • Risk exposure: How much risk is involved in moving the applications to cloud?

Each of these dimensions has decisive effect on a go/no-go decision regarding cloud enablement of applications. For example, an application may be evaluated to have high scores in the business value and technical fitment dimensions, but it may not be a good candidate for cloud enablement if the risk exposure is higher than the level of risk a particular enterprise is willing to assume.

Evaluation of an application in each of these dimensions is a multi-criteria decision analysis (MCDA); AHP is one of the methods used in MCDA. (For more on MCDA, see Resources.) AHP involves the evolution of different alternatives based of various criteria, some which may conflict with other alternatives, some which have a contrasting nature (be it qualitative or quantitative) or impact (positive or negative) on overall suitability.

The techniques used in the AHP quantify relative priority for a given set of criteria on a ratio scale. AHP offers advantages over many other MCDA methods:

  • AHP provides a comprehensive structure to combine both quantitative and qualitative criteria in the decision-making process.
  • AHP brings an ability to judge consistency in analysis process to the table: This helps reduce anomalies and heighten objectivity.

Another point worth noting is that at the beginning of the assessment, applications that obviously do not fit the profile are eliminated. Internal and external applications are segregated to be evaluated separately since they have concerns of varied nature and importance. Internal applications are those that are accessed only from within the firewall of an enterprise; external applications can be accessed from outside the firewall. As an example to show how each deserves different considerations, security concerns of external applications are much more stringent then internal applications.

Now let's use AHP to evaluate a set of applications for cloud suitability.


Evaluation using AHP

There are several components, or steps, involved in using AHP to evaluate the suitability of an application for the cloud. These include:

  • Defining criteria hierarchy.
  • Determining criteria priority.
  • Comparing your application against the criteria.
  • Calculate overall AHP score.

Define criteria hierarchy

Each of the multiple dimensions I introduced (business value, technical fitment, risk exposure) has a number of criteria; these in turn can further have multiple levels of granular sub-criteria (Figure 2).

Figure 2. Schematic representation of AHP for evaluating cloud technical fitment
Schematic representation of AHP for evaluating cloud technical fitment

Criteria pertaining to different dimensions are structured in hierarchy of levels in accordance with the AHP framework. Figure 2 shows the hierarchy structure for a technical fitment evaluation.

Remember, criteria and sub-criteria can be either quantitative or qualitative. For example "No of External System" is a quantitative value while "Well Defined Integration Point" is a qualitative one.

A cluster of criteria and its sub-criteria is called a criteria group. For example, in Figure 2, criteria "Application Design" and its two sub-criteria, "Loose Coupling" and "Virtualization," belong to same group making it a criteria group of three group members.

Figure 3 provides an illustrative list of evaluation criteria hierarchy for all three dimensions, sort of a criteria tree. While broad criteria and sub-criteria can be reused, some of the criteria would need to be tailored based on the context of an enterprise.

Figure 3. Illustrative criteria hierarchy for all three dimensions
Illustrative criteria hierarchy for all three dimensions

I will show you how to use technical criteria and sub-criteria to illustrate the steps used to evaluate three sample applications for technical fitment.

Determine criteria priority

Relative priorities are assigned for different criteria using the 1-9 scale of AHP (Table 1).

Table 1. AHP's 1-9 scale of criteria priority; scale for pairwise comparison
IntensityDefinitionExplanation
1Equal importanceTwo elements contribute equally to objective
3Moderate importanceSlightly favor one element over another
5Strong importanceStrongly favor one element over another
7Very importantVery strongly favor one element over another
9Extreme importanceExtremely favor one element over another
2, 4, 6, 8Intermediate values

Priorities are first determined for criteria and then for individual sub-criteria under each criteria. The sum of priorities of individual criteria in a particular level is normalized to one.

Sub-criteria have both local and global priorities. Global priority is the product of its own priority (local priority) and the priority of parent criteria. Thus global priority of "No of External System" is product of its local priority and priority of "Integration Ease."

Table 2 show an estimation of relative priority for sample level 1 technical criteria.

Table 2. An estimation of relative priority; priority calculation for criteria
Technical FitmentIEMETSADPriority
Integration Ease (IE) 110.50.20.1075
Migration Ease(ME) 110.330.20.0989
Technology Stack(TS) 2310.330.2304
Application Design (AD) 55310.5633
Consistency Ratio0.0127

All the diagonal elements of the matrix are 1 (the elements are compared to themselves). Comparisons in only the upper triangular matrix are done; values in the lower triangle matrix are the reciprocal of upper triangular matrix.

For example, the importance of the Technical Stack (TS) is two times that of Integration Ease (IE). The list of relative Priority and Consistency Ratio is calculated as per AHP methodology. The Consistency Ratio helps judge the consistency in pair-wise comparison.

Similarly, relative Priority is calculated for all criteria and sub-criteria. As shown in Table 3, global priority of sub-criteria is product of its local priority and the parent's priority. Thus for No. of External Systems (ES), global priority is product of its local priority (0.109586) and priority of Integration Ease (0.1075).

Table 3. Priority calculation for sub-criteria, both local and global
Integration EaseESIPHDLocal PriorityGlobal Priority
No. of External Systems (ES)10.3330.20.109590.0117790
Well-defined Integration Point (IP)310.50.309150.0332293
No. of HW Devices for Integration (HD)5210.581260.0624777
Consistency Ratio0.00319

Compare application against criteria

In this step, you'll see how to compare your enterprise application against both quantitative and qualitative criteria

Comparison against quantitative criteria
To evaluate the application via quantitative criteria, applications are compared against each other by taking the quantitative value for the criteria:

  • For criteria that have positive impact on the objective, application scores for a particular criterion are calculated by normalizing the values to 1. For a set of numbers ri, i=1 ... n, normalized value rin is ri divided by the sum of the following of all the numbers in the set.
    Normalization
  • For a criterion that has negative impact, relative score of applications is calculated by first taking the reciprocal of the values and then normalizing them. Reciprocal value is the multiplicative inverse of a number; the reciprocal value of x is 1/x.

Table 4 demonstrates what happens when No. of External Systems has negative impact; with the increase in number of external systems, the quantitative "score" of Integration Ease decreases. So if the three applications have to integrate with 5, 3, and 2 numbers of external systems respectively, you can see their relative scores.

Table 4. Score for quantitative criteria with negative impact
Application EvaluationNumber of SystemsReciprocal Value (Neg. Impact)Score
Application 150.200.194
Application 230.330.323
Application 320.500.484

Comparison against qualitative criteria
For qualitative criteria, relative application scores are calculated by using pair-wise comparison using the 1-9 scale of AHP. The process is same as determining the priority for criteria.

Calculate overall AHP score

The overall AHP score of an application for a dimension is derived by the sum of the product of its relative priority in each criteria and the relative priority of respective criteria. Figure 4 shows the formula.

Figure 4. Formula to calculate overall AHP score
Formula to calculate overall AHP score

In this formula:

  • Sx is the AHP score for the xth application.
  • M is the number of criteria group.
  • Ni is the number of the members in the ith criteria group.
  • Pi is the priority value of the ith criteria group.
  • pij is the priority value of the jth criteria belonging to the ith criteria group.
  • sijx is the score of the xth application comparison against the jth criteria in the ith criteria group.

A top-level checklist for AHP

Before I wrap up this article, I'd like to provide a top-level checklist for the steps involved in using AHP to evaluate your enterprise application portfolio for its suitability in a cloud environment.

  1. Define criteria hierarchy
    1. Define criteria hierarchy for each dimension
    2. Tailor the hierarchy based on enterprise context
  2. Determine criteria priority
    1. Using pair-wise comparison, determine relative importance of one criteria over another
    2. Determine local priority for all criteria
    3. Determine global priority for all sub-criteria
  3. Determine application score for a criteria
    1. Using pair-wise comparison determine relative suitability of candidate applications against each criteria
    2. Determine relative score of candidate applications against each criteria
    3. For criteria having negative impact, use reciprocal value to determine score
  4. Determine AHP score
    1. Determine overall AHP score for candidate applications using formula in Figure 4

In conclusion

I'd like to close by first summarizing the assessment result. Once the AHP evaluation is done for all three dimensions, application scores can be collated to arrive at a decision matrix, a sample of which is shown in Table 5. The group at the top is best suited for cloud deployment; each successive group is less suited for cloud distribution.

The matrix will provide a holistic view of the impact of cloud enablement of different applications in an enterprise against different dimension and will aid in making an informed decision.

Table 5. Sample suitability decision matrix
Application Score : Business ValueApplication Score : Technical FitmentApplication Score : Risk ExposureSuitability
HighHighLowFavorable on all dimensions. Applications in this group are most suitable for cloud enablement; their score is favorable on all dimensions.
HighLowLowFavorable in two dimensions. Applications in this group are also suitable for cloud enablement; they score favorably in at least two dimensions.
LowHighLowFavorable in two dimensions.
HighHighLowFavorable in two dimensions.
LowLowLowFavorable in one dimension. Applications in this group are not ideally suitable; they score favorably in only one dimension.
HighLowHighFavorable in one dimension.
LowHighHighFavorable in one dimension.
LowLowHighFavorable in no dimensions. Applications in this group are best left "as-is"; their score is not favorable on any dimensions.

Given the concerns and risk involved in cloud computing initiatives, each enterprise has to assess its application portfolio based on its business imperatives, technology strategy, and risk appetite before embarking on a flight into the clouds. With this assessment that involves multiple competing criteria of varied nature, impact, and priority, I've demonstrated how a multi-dimensional statistical approach using the Analytic Hierarchy Process (AHP) can be used to help decide which, if any, of your enterprise applications belong in the cloud.

Resources

Learn

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Cloud computing on developerWorks


  • Bluemix Developers Community

    Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.

  • Cloud digest

    Complete cloud software, infrastructure, and platform knowledge.

  • DevOps Services

    Software development in the cloud. Register today to create a project.

  • Try SoftLayer Cloud

    Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Cloud computing
ArticleID=517955
ArticleTitle=Assess enterprise applications for cloud migration
publish-date=09142010