迁移企业级应用程序到云计算环境?

使用 Analytic Hierarchy Process 来评估云计算应用程序

这是一个简单的问题,但是回答起来却一点都不简单:您怎么能知道一个业务级应用程序是否适合云计算?作者逐步演示了一个应用程序产品组合评估方法,通过此方法可以确定您的企业级应用程序是否适合基于 Analytic Hierarchy Process (AHP) 的云计算。

Brijesh Deb, 高级技术架构师, Infosys

Brijesh Deb 是 Infosys 的 SETLabs 的一名高级技术架构师。Deb 有生成企业级架构、技术咨询、应用研究和工程管理方面的多种 IT 经验。他目前主要关注云计算、Web 2.0 和 JavaEE。



2010 年 10 月 18 日

无需置疑,云计算为企业运行提供了以下优势:

  • 有助于降低费用(例如,如果您需要,可以通过建立和配置一个已测试的应用程序,或者通过添加和减去 计算功能实现)。
  • 可以帮助您更快地处理大数据集合(只要需要,可以随时随地通过平衡工作负载实现)。
  • 可以帮助您的业务响应更快速地改变条件(可以以一种更快捷的方法应用业务分析到大量混合结构数据)。

但是您怎么知道一个企业级应用程序是否适合云计算?

有很多业务、技术和风险考虑,可能会对一个企业中的整个云计算计划(cloud initiatives)的成功产生深远的影响,这就是意味着对于一个应用程序是否 “适合” 云计算(我将把它称为适配性),没有一个 “放之四海而皆准(one-size-fit-all)” 的答案。每个企业需要根据自己的业务需求、技术策略以及风险承受力,对其应用程序产品组合进行评估。

在同意云计算计划之前,有几个业务问题需要问问他们自己:

  • 对于我的企业应用程序的云计算实现,我需要考虑什么因素?我如何判断不同的竞争优先权?
  • 我怎样识别最适合移入云计算环境(基于业务优先权和技术适配性)中的应用程序和服务?
  • 我怎样为一个 “phase-smart” 云计算实现指定企业应用程序和服务的优先权呢?我怎样避免 “直觉”,进行客观的评估呢?
  • 不同的风险将会涉及到什么呢?

带着这些问题,我开发了一个确定企业应用程序是否适合云计算的应用程序评估方法。这是一个基于 Analytic Hierarchy Process (AHP) 的方法。

AHP 是一个进行复杂决策的结构化技术,可以帮助用户根据其面临的挑战、情况和可变因素,挑选出 “最佳” 决策而不是 “正确” 决策。它的最初设想是在 1970 年形成的,操作是简单的:

  1. 把问题分解成一系列易于理解的子问题,欢迎任何输入变量,不管是精确的数据表还是粗略的估计 — 只要能应用到目前的情况。
  2. 通过将这些元素和其他的元素进行比较来评估它们,每次比较两个。您可以使用具体事例或者判断 — 确定每个元素的相关重要性 — 来进行比较。
  3. 对每一个评估赋一个数值,这使得您可以跨越问题解决流程的生命周期来将每个元素同其他的进行比较。
  4. 计算每一个备用决策的数值优先权;这代表每个备用方案完成决策目标的相关感知能力。

在本文中,我将向您介绍关于 AHP 的相关细节,并验证如何应用这些方法来支持您的决策,关于在云计算中一个企业应用程序是否适合于实现的决策。因为所有的系统是在相同的概念下执行的,不管您选择采用哪个(哪些)平台,该技术都会对您起到帮助作用。

评估方法

图 1 通过一个高级流程图介绍了评估方法。

图 1. 云计算应用程序产品组合评估的流程图
云计算应用程序产品组合评估的流程图

该方法是一个多维统计评估;对企业级应用程序 进行 3 维评估:

  • 业务价值:将应用程序移入云计算将增加多少业务价值?
  • 技术适配性:将应用程序移入到云计算是否可行?
  • 风险承担:将应用程序移入到云计算的过程中有多少风险?

这 3 个值中的每一个对于推进/不推进应用程序云计算实现决策起着决定性的作用。例如,一个应用程序可能在业务价值和技术适配性方面的评估值较高,但是如果风险承担是比一般企业假设的风险级别要高,那么这可能不是一个最佳云计算实现候选方案。

在这每个方面的应用程序评估都是一个多标准决策分析 (MCDA):AHP 是使用 MCDA 的方法之一。(关于 MCDA 的更多信息,参见 参考资料。) AHP 包含不同备选方案(基于各种标准)的改进,其中一些可能会和其他的有冲突,一些可能有独特的天性,或者对整个适应性有一定的(正面或负面的)影响。

AHP 中使用的技术根据一个比率量表 量化一组给定标准集合的相关优先权。AHP 提供一些优于其他 MCDA 方法的优势:

  • 在制定决策过程中,AHP 提供一个综合结构来结合定量和定性标准。
  • AHP 根据表格提供在分析过程判断一致性的能力:这有助于减少异常并增加客观性。

另外一点值得注意的是,在评估之初,明显不符合要求的应用程序被淘汰。内部和外部应用程序被隔离,单独进行技能型评估,因为它们关注多变的本质和重要性,内部应用程序是仅从企业防火墙内部访问的;而外部应用程序可以从防火墙外部访问。作为一个展示两者不同的注意事项的示例,外部应用程序的安全考虑要比内部应用程序的严格得多。

现在让我们使用 AHP 对一组应用程序的云计算适应性进行评估。


使用 AHP 评估

使用 AHP 来对云计算的应用程序的适应性进行评估涉及到几个组件或步骤,包括:

  • 定义标准层次关系。
  • 确定标准优先权。
  • 将您的应用程序和标准进行比较。
  • 计算整体 AHP 值。

定义标准层次

我前面介绍的多维评估(业务价值、技术适配性、风险承受)的每一维有许多标准;这些进而又有更多级别的细粒度子标准(图 2)。

图 2. 用于评估云计算技术适配性的示意图
用于评估云计算技术适配性的示意图

用于不同方面的标准是按照 AHP 框架由不同级别层次构成的。图 2 展示了一个技术适配性评估的层次结构。

记住,标准和子标准都既是定量的又是定性的。例如,“No of External System” 是一个数值而 “Well Defined Integration Point” 是一个定性的值。

一组标准以及其子标准被称为标准组。例如,在图 2 中,标准 “Application Design” 及其两个子标准 “Loose Coupling” 和 “Virtualization” 属于同一个组,是一个标准组的 3 个组成员。

图 3 针对所有 3 个方面提供了一个评估标准层次的演示清单,类似于一个标准树。大部分标准和子标准都是可重用的,而部分标准需要根据企业背景调整。

图 3. 解释说明 3 个方面的标准层次结构
解释说明 3 个方面的标准层次结构

我将向您显示如何使用技术标准和子标准来说明评估技术适配性的 3 个样例应用程序的步骤。

确定标准优先权

使用 AHP 1-9 标度(表 1),给不同标准分配相关优先权。

表 1. AHP 标准优先权的 1-9 标度;标度两两相比
强度定义说明
1同样重要两个元素有同样的客观性
3略微重要与另一个元素相比,对这个元素略有青睐
5相当重要与另一个元素相比,更喜欢这个元素
7非常重要与另一个元素相比,非常喜欢这个元素
9极其重要与另一个元素相比,十分喜欢这个元素
2, 4, 6, 8中间值

首先,定义标准的优先权,然后为标准下的每个子标准 定优先权。子标准优先权总和在一定层面上被标准化为 1。

子标准有本地和全局优先权,全局优先权是其自身优先权(本地优先权)和它父标准 优先权的乘积。因此 “No of External” 的全局优先权是其本地优先权和 “Integration Ease” 优先权的乘积。

表 2 展示了级别为 1 的技术标准样例的相对优先权的评估。

表 2. 相对优先权的评估;标准的优先权计算
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 Ratio 0.0127

矩阵的对角元素全为 1 (元素与其自身相比)只需要对上三角矩阵进行对比,下三角矩阵的值是上三角值 的倒数。

例如,Technical Stack (TS) 的重要度是 Integration Ease (IE) 的两倍。相对 Priority 和 Consistency Ratio 列表是根据每个 AHP 方法论计算出来的。Consistency Ratio 帮助判断两两相比的一致性。

类似地,所有标准和子标准的相对 Priority 都被计算出来,正如表 3 所示,子标准的全局优先级是本地优先级和父优先级的乘积。例如,No. of External Systems (ES) 的全局优先级就是他的本地优先级(0.109586)和 Integration Ease 优先级(0.1075)的乘积。

表 3. 子标准优先级的计算,需要计算本地和全局优先级
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

根据标准比较应用程序

在这一步,我将向您介绍如何在数量质量标准上比较您的企业级应用程序。

根据数量标准进行比较
为了通过数量标准对应用程序进行比较,应用程序通过估算标准数量值和其他应用程序进行比较:

  • 那些对客观性有正面影响的标准,一个特定标准的应用程序比分是通过将该值标准化为 1 进行计算的。对于数字集合 rii=1 ... n,标准化值 rinri 除以集合中所有数字的和得到的。
    Normalization
  • 那些有负面影响的标准,应用程序的相关值的计算是,首先对其取倒数,然后进行标准化。倒数值是一个数的乘法逆元;x 的倒数是 1/x

表 4 说明了当 No. of External Systems 产生负面影响是会发生什么;随着外部系统数量的增加,Integration Ease 的数量在减少。因此如果 3 个应用程序分别与 5、3、2 个外部系统集成,您将可以看到它们相应的值。

表 4. 有负面影响的数量标准的比分
应用程序评估系统数量倒数值(负面影响)比分
应用程序 150.200.194
应用程序 230.330.323
应用程序 320.500.484

根据质量标准进行比较
对于质量标准,相关应用程序比分是通过使用 AHP 的 1- 9 标度的两两相比方法 计算的。该过程同 确定标准优先权 是一样的。

计算总体 AHP 分值

从一方面来说,一个应用程序的总体 AHP 分值是每个标准中相关优先权的乘积与各个标准的相对优先权的和。图 4 展示的是公式。

图 4. 计算总体 AHP 分值的公式
计算总体 AHP 分值的公式

在这个公式中:

  • Sx 是第 x 个应用程序的 AHP 分值。
  • M 是标准组的数量。
  • Ni 是第 i 个标准组中成员的个数。
  • Pi 是第 i 个标准组的优先级的值。
  • pij 是第 i 个标准组中第 j 个标准的优先级的值。
  • sijx 是第 i 个标准组中第 x 个应用程序对比第 j 条标准的值。

一个 AHP 的顶级清单

在我完成这篇文章之前,我想要提供一个最终步骤清单 ,在云计算环境中使用 AHP 评估您的企业级应用程序产品组合的适应性所涉及的步骤。

  1. 定义标准层次结构
    1. 为每个方面定义标准层级结构
    2. 根据企业背景调整层次结构
  2. 确定标准优先权
    1. 使用两两相比的方法,确定一个标准相对另一个标准的相对重要性
    2. 确定所有标准的本地优先级
    3. 确定所有子标准的全局优先级
  3. 确定一个标准的应用程序分值
    1. 使用两两相比的方法根据其他标准确定候选应用程序的相对适用性
    2. 依据每个标准确定候选应用程序的相对分值
    3. 对于每个有负面影响的标准,使用倒数确定其分值
  4. 确定 AHP 分值
    1. 使用图 4 中的公式确定候选应用程序的总体 AHP 分值

结束语

首先,我想要通过总结评估结果来结束我的这篇文章。AHP 评估在所有 3 个方面都完成了之后,应用程序比分可能被整理形成一个决策矩阵,其中一个样例如表 5 所示。顶部的组是最适合云计算部署的;依次越来越不适合云计算分布。

该矩阵从不同的方面全面地呈现了企业中不同应用程序的云计算实施的影响,有助于您作出一个英明的决定。

表 5. 适用性决策矩阵样例
应用程序分值:业务价值应用程序分值:技术适配性应用程序分值:风险承担适用性
在所有方面都令人满意。这一组中的应用程序是最适合云计算实施的;在所有方面它们的分值都是令人满意的。
在两个方面是令人满意的。这一组中的应用程序也是适合云计算实施的;至少在两个方面其分值是令人满意的。
在两个方面是令人满意的。
在两个方面是令人满意的。
在一个方面是令人满意的。这一组中的应用程序不理想;仅在一个方面是令人满意的。
在一个方面是令人满意的。
在一个方面是令人满意的。
在任何方面都令人不满意。这一组中的应用程序最好 “保持原状”;其分值没有一个方面是令人满意的。

对于既定的注意事项和云计算计划中的风险 ,每个企业在着手准备移入云计算之前,根据自己的业务计划、技术策略和风险偏好访问自己的应用程序产品组合。对于涉及多个有竞争力的标准的评估 — 各种特性、影响和优先权的标准,我们介绍了如何使用一个多维静态方法(使用 Analytic Hierarchy Process (AHP) 的)来帮助确定您的哪一个(如果有的话)企业级应用程序应属于云计算。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=551524
ArticleTitle=迁移企业级应用程序到云计算环境?
publish-date=10182010