云计算与行业,第 1 部分: PaaS 最佳实践和模式

应用云计算的行业解决方案实践、模式和模型的概念

本文是行业解决方案中应用云计算的系列文章的第 1 篇。这个引言部分主要介绍了基本的云计算原理和行业解决方案知识。您将会了解交付行业解决方案的三个模型的需求和功能,Infrastructure as a Service(IaaS),Platform as a Service(PaaS)和 Software as a Service(SaaS),以及如何使用 PaaS 框架的最佳实践和模式,特别是用于部署和管理云计算解决方案。该系列的下一篇文章将会讨论如何在化工、石油和通讯领域应用云计算功能。

Yu Chen Zhou, 高级技术智囊团成员和首席架构师, IBM

/developerworks/i/p-zyuchen.jpgDr. Yu Chen Zhou 是中国 IBM Research 的高级技术智囊团成员。作为 IBM SWG SOA Advanced Technologies,China SOA Design Center 的 Cloud Computing 和 Solution Engineering 的首席架构师,他创建并领导了许多高级技术项目,包括应用云计算的行业解决方案、联邦元数据管理和 SOA 策略。他是 IEEE 和 ACM 的高级成员,IBM 的高级发明专家,还是 IBM Academy of Technology,W3C 和 TOG 工作组的成员。他是 Service Oriented Computing 一书的主要作者,在 IEEE 会刊,IBM Research Reports 和 IBM developerWorks 发表过 17 篇文章。



Xi Ning Wang, 顾问软件工程师和开发主管, IBM

/developerworks/i/p-xningwang.jpgXi Ning Wang 是 IBM Software Groups,IBM SOA Advanced Technologies 的云基础设施的资深软件工程师和开发主管。他在很多重要的项目中设计并开发了 SOA 技术和解决方案。现在,他专注于云计算和行业解决方案。他 2009 年被指定为 IBM developerWorks 丛书作者。



Liu Xin Peng, 顾问软件工程师和开发主管, IBM

/developerworks/i/p-xpengliu.jpgXin Peng Liu 是 IBM Software Group,IBM SOA Advanced Technologies 的云服务顾问软件工程师和开发负责人。他在许多项目中设计并开发了 SOA 技术和解决方案。现在,他专注于云计算和行业解决方案。



Liang Xue, 经理, IBM

/developerworks/i/p-lixue.jpgLiang Xue 是 IBM Software Group,IBM SOA Advanced Technologies 的经理。她设计并开发了很多 SOA 技术和解决方案。现在她专注于云计算和行业解决方案。



Liang Xiaoxing, 资深软件工程师, IBM

/developerworks/i/p-xxliang.jpgXiaoxing Liang 是 IBM Software Group 的 Business Performance and Service Optimization 团队的资深软件工程师,参与过 SOA,BPM 和 Web 2.0 技术和解决方案的开发。



Chang Hua Sun, 资深软件工程师, IBM

/developerworks/i/p-chuasun.jpgChang Hua Sun 是 IBM Software Group,Business Performance and Service Optimization 团队的资深软件工程师,参与过 SOA 和 BPM 技术和解决方案的开发。



Shuang Liang, 软件工程师, IBM

/developerworks/i/p-sliang.jpgShuang Liang 是 IBM Software Group 的 Business Performance and Service Optimization 团队的软件工程师,参与过 SOA 和 BPM 技术和解决方案的开发。



2011 年 2 月 09 日

云计算通过对基础设施、平台和应用程序的可消费服务增强了业务的灵活性。它可广义定义为使用有公司环境以外提供的,按使用次数付费的可扩展计算资源。公司只使用和支付他所需的。它可以通过 Internet 随时随地访问任何在 “云” 中的资源,无需担心后台维护。然而,企业往往被如何在传统行业中灵活运用云计算这一问题所困扰。

为了实现在客户和内部组织成功应用云计算的这一目标,企业必须重新考虑如何参与他们的业务模型。该系列文章将底层云原理变为实际的行业场景。第 1 篇文章显示了三个模型,Infrastructure as a Service(IaaS),Platform as a Service(PaaS),和 Software as a Service(SaaS),并讨论了 PaaS 如何能帮助交付行业解决方案。图 1 显示了三个模型分层的云计算。

图 1. 作为行业解决方案的服务分层云计算
作为行业解决方案服务的分层云计算

模型描述

IaaS 模型为行业解决方案的客户提供了基本的设施,特别是所需的硬件和带宽资源。客户必须处理平台和应用程序的配置,例如,操作系统和所需软件组件的安装。使用 IaaS 的行业解决方案拥有和传统交付方法相同的开发、测试和版本管理,但是他们可以充分地探索云计算的优势,包括解决方案的备份,以及硬件资源的全面使用。

PaaS 模型提供了部署应用程序的基本设施和平台。客户无需配置平台或者顾虑保留硬件资源。PaaS 模型通常提供 API 来开发、测试和部署行业解决方案。这个模型对长尾应用程序(long-tail applications)非常有用。通常来说,根据 Pareto 原理或者 80-20 规则,大约百分之 80 的收入来源于大约百分之 20 的产品或者解决方案。解决方案中剩余的大部分只贡献了收入的一小部分。但是对长尾产业领域来说, 越来越多的收入来源于长尾解决方案。电信业就是个例子。图 2 描绘了电信服务的长尾。

图 2. 电信服务的长尾
电信服务的长尾

为了吸引和服务不断扩大的客户基础,电信服务供应商追求着眼长尾的服务和解决方案。于是,服务和解决方案就变得越来越有针对性和个性化,并且成为基于有多种组合的重复可用组件。您可以使用 PaaS 模型,通过重复使用多种组件,轻松地开发这些长尾解决方案。这是供应商的复杂性和客户的灵活性的折中模型。

SaaS 模型为不同的客户提供了应用程序的功能,这些应用程序完全由云支持,但客户享有一定的灵活性。有了 SaaS 模型,行业解决方案面市的时间就缩短了很多。

使用云计算三个模型中的任意一个,行业解决方案就能从得云计算中获益,同时也会从交付模型中获益,例如,更短的面市时间和组件的重复使用。


深入了解 PaaS

PaaS 模型是针对某些软件提供商的特殊方法,他们主要关注软件开发周期,新应用程序的货币化,因此避开维护应用程序设计、开发、测试、部署和托管的底层基础设施和服务的投入。

PaaS 系统通常是宿主在基于 web 应用程序开发的平台上,提供端到端的开发环境,或者在某些情况下,提供在线开发全部程序的局部环境。开发人员可以在当前的 SaaS 功能上构建或者开发新的 web 应用程序,而用户无需担心开发、托管、升级或者维护应用程序,或者存储数据。

业务处理是一个企业 IT 系统的中心,并且在常规的 Business Process Management(BPM)驱动的企业中,往往要演化出许多软件和管理用的 IT 设施来跟踪面向业务流程建模和 IT 为中心的流程开发、部署和监控的职责。改善商业例程的效率的关键 —— 因此引发业务改革 —— 就是将某个业务流程的 IT 关注点和业务分析分开。支持 PaaS 的以流程为中心的在线平台是提供这一业务转换的一个方法。

对基于行业解决方案的 BPM 应用程序,解决方案构建周期的加速会被不可管理的复杂性所阻碍。因此,为了最大化一个流程为中心的 PaaS 模型的好处,自定义行业解决方案模式的库可以和现成的可部署虚拟机模板一起在 PaaS 中预建。主机 PaaS 自身可以固化为一个盒子(设备),带有单纯作为安全控制和客户端定制提交访问门户输出的基于 web 的管理控制台。

我们设计 CloudLand,一个流程为中心的 PaaS 框架,来满足企业行业解决方案的需求。功能包括:

  • 备用开发和实现的基于 Web 2.0 的开发人员工作区的无代码开发
  • 易于自定义的固化设备
  • 行业解决方案模式的构建
  • 生命周期管理
  • BPM 多租户

根据拟定的 PaaS 框架,我们开发了几个应用云计算的行业解决方案,解决不同行业需求,包括:

  • 应用云计算的自助服务电信服务交付平台:用于在一个开放的开发人员社区和基于电信服务的公共云,例如,基于位置的服务(LBS),Short Message Service(SMS)、Multimedia Messaging Service(MMS)、Third Party Call 和 Converge Communication Services,支持个性化长尾应用程序。
  • 应用云计算的综合服务框架:用于化工和石油,支持在混合和私有云中的 Key Performance Indicator(KPI)流程和复合业务服务、价值链集成和企业 SaaS。
  • 应用云计算的保健解决方案:用于混合和私有云中基于的电子保健记录的应用程序。
  • 应用云计算的金融市场数据解决方案:用于混合云。

PaaS 模型

从业务角度,在公共云中的通用 PaaS 解决方案演化了以下场景:

  • 包含在厂商拥有的环境中的所有平台和应用程序。
  • 应用程序很大程度上是由正式编程模型中的草稿开发而来。
  • 由厂商提供的服务(例如,数据库和 web 应用程序服务器)是通用且稳定的。
  • 设计整体云服务环境时,业务模型角色从开始就很稳定。
  • 在平台中没有特定于行业的服务或者应用程序,因此平台非常易于设计和管理。

当 PaaS 模型移动到特定于行业环境中的企业时,会遇到更多的复杂性和需求。这一 PaaS 解决方案的常见挑战包括:

  • 私人或者混合云模式:这些解决方案往往寄宿在由多个分支或者组织单元共享的企业私有云中;或者在局部 IT 系统外包或者复杂供应链的案例中寄宿在混合云中。
  • 开放性:与当前内部或外部系统的集成。
  • 特定于行业的 IT 标准、应用程序和服务。
  • 业务模型和涉及角色的不确定性:有多种用户行为模型和系统使用模式的特定于行业的用户组,例如,工作量曲线、资源的任务需求类型和系统功能。
  • 建立解决方案的时间:很少有企业有足够的时间从草稿构建全新的 IT 基础设施,这牵涉到云环境的快速设置,替换旧的系统,与当前系统集成获得业务连续性。因此部署和管理的时间成为了导致考虑中的 PaaS 解决方案犹豫的关键因素。
  • 各种应用程序和用户类型:一个完整的行业解决方案包括跨由不同用户组(独立用户或者组织用户)开发和拥有的多业务线的应用程序。
  • 大多数的企业用户都并非 IT 专业人士,他们对使用复杂编程模型,例如 Java,Web 2.0 和 web 服务来开发、部署和管理应用程序和系统感到很恐惧。
  • 特殊业务需求由业务相关人士和客户推动,例如,更短的面市竞争时间,通过对流程或者业务逻辑的快速修改实现对业务灵活性的支持,以及企业系统的快速扩展。

测试和开发云也可以是 PaaS 框架的一部分,但是总的来说,这样的解决方案无需涉及行业内容。

从技术的角度,BPM,面向服务架构(SOA)和云计算可以联合在一起,在 PaaS 模型中提供 BPM 功能。使用云计算的 BPM 是交付过程和相关时间、人工任务或者数据库访问的方法。


最佳实践和模式

行业解决方案的架构和其中的 PaaS 使用根据企业或者特定于解决方案的应用程序场景、业务模型和企业架构不同而不同。行业解决方案的集成模式也有相应变化。这些模式总结如下,在业务流程为中心的 PaaS 框架架构中进行考虑。

  • 行业解决方案中的 PaaS:这个模式在使用嵌入式 PaaS 的行业解决方案中导入;换句话说,PaaS 成为了行业解决方案的一部分,例如,化工和石油行业应用云计算的综合信息框架。在这一模式下,只有部分组件和功能作为 PaaS 服务输出,而行业解决方案的剩余部分并不寄宿在云中。
  • 行业解决方案上的 PaaS:这个模式服务于那些倾向于在其行业解决方案边界上的 PaaS 中支持增值服务的行业。整个系统可以在没有 PaaS 的情况下运作,它的核心功能和基础设施能够在非云环境中维护。支持 PaaS 的增值部分是未来业务增长点。此处的所有图示说明例子都是应用云计算的自助电信服务交付平台,帮助用户快速地从草稿中构建利用电信服务的增值应用程序。
  • 行业解决方案的 PaaS:在这个模式中,PaaS 和行业解决方案绑定在同一个云环境中。这个解决方案单纯是特定于行业的 PaaS。其典型例子就是应用云计算的金融市场数据解决方案。解决方案的目的就是提供一个基于 PaaS 的自定义金融市场数据集线器。PaaS 将企业的整体业务模型作为特定于行业的生态系统中的独立节点进行支持。

图 3 描述了行业解决方案的业务流程为中心的 PaaS 框架架构,用于支持上述的三个集成模式。

图 3. 行业解决方案的业务流程为中心的 PaaS 框架架构
行业解决方案的业务流程为中心的 PaaS 框架架构

如图 3 所示,拟定的 PaaS 框架包括以下核心组件:

  • 核心虚拟镜像,自动作为可部署的运行时平台在云设施中供使用。这些镜像可以作为运行时业务流程的基础中间件进行实例化,例如,进程服务器、事件服务器、或者规则服务器。根据框架的实现模式,部署的运行时平台可能是整个或者部分行业解决方案;或者它可以和解决方案进行交互。
  • 备用编程模型,带有支持形成无代码开发人员工作区的开发工具。框架的内置工作区功能包括用于编辑业务流程、混合用户界面、业务事件和业务规则。
  • 用于管理三种关注中服务的自助服务管理门户:特定于行业服务、PaaS 生成服务、以及外部服务。
  • 所有 BPM 相关工件的多组织定义和强制的 BPM 多组织管理。

还有各种从 PaaS 框架输出的扩展点:

  • 自制虚拟镜像的扩展点,用于能够简易插入到框架虚拟镜像库中的特殊行业解决方案需求。
  • 自定义备用开发工具的扩展点,它不在框架内置功能之中,但是为个体解决方案开发所需。无代码开发人员工作区容易配置扩展工具。
  • 特定于行业的服务注册的扩展点,用于迎合不同行业和第三方调用的外部服务。

其他考虑

在构建云基础设施的过程中,其他考虑包括基础设施资源管理和功能规划。PaaS 框架中管理的资源以虚拟机和相关资源的形式提供。资源的管理等同于虚拟资源的管理。

在行业解决方案中,不同服务提供商的角色需要不同的功能、质量、或者资源范围。所有这些都能够通过调整云设施上的虚拟资源轻松获得。更进一步说,某些行业服务在业务增长过程中会增加很多需求来提高服务质量。内置在虚拟模板的框架提供拓扑,例如,正常的和更强大的系统吞吐量的独立应用程序服务器和集群。业务用户只需在服务管理门户中指定服务质量选项。对应的虚拟系统资源能够自动地联合,满足服务质量需求。

更进一步来说,为了实现资源管理和扩展,功能规划可以用于适应不同的用户角色。行业服务提供商和业务合伙人可以定义资源约束,用于初始资源分配,决定未来潜在增长的上限。他们还可以定义政策、描述资源扩展和恢复的条件。比如,当被某些用户使用的虚拟资源达到预定义的阈值时,云设施就通过分配更多的内存和磁盘空间,或者在集群中添加更多节点来平衡负载,从而扩展虚拟机资源。相反的,当虚拟系统的使用在某段时间内低于预定义的阈值,空闲的节点就被删除、或者内存就被收回。


结束语

云计算在云计算环境中将行业解决方案系统和设备连接在一起。特别介绍了 PaaS 框架,同时您了解了在行业解决方案中使用云计算的需求,架构模式和实现技术。根据框架,该系列之后的两篇文章将会讨论如何将云计算功能应用到化工、石油和电信领域。

参考资料

学习

获得产品和技术

讨论

条评论

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, Industries
ArticleID=625988
ArticleTitle=云计算与行业,第 1 部分: PaaS 最佳实践和模式
publish-date=02092011