云计算通过对基础设施、平台和应用程序的可消费服务增强了业务的灵活性。它可广义定义为使用有公司环境以外提供的,按使用次数付费的可扩展计算资源。公司只使用和支付他所需的。它可以通过 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 系统通常是宿主在基于 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 解决方案演化了以下场景:
- 包含在厂商拥有的环境中的所有平台和应用程序。
- 应用程序很大程度上是由正式编程模型中的草稿开发而来。
- 由厂商提供的服务(例如,数据库和 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 框架架构
如图 3 所示,拟定的 PaaS 框架包括以下核心组件:
- 核心虚拟镜像,自动作为可部署的运行时平台在云设施中供使用。这些镜像可以作为运行时业务流程的基础中间件进行实例化,例如,进程服务器、事件服务器、或者规则服务器。根据框架的实现模式,部署的运行时平台可能是整个或者部分行业解决方案;或者它可以和解决方案进行交互。
- 备用编程模型,带有支持形成无代码开发人员工作区的开发工具。框架的内置工作区功能包括用于编辑业务流程、混合用户界面、业务事件和业务规则。
- 用于管理三种关注中服务的自助服务管理门户:特定于行业服务、PaaS 生成服务、以及外部服务。
- 所有 BPM 相关工件的多组织定义和强制的 BPM 多组织管理。
还有各种从 PaaS 框架输出的扩展点:
- 自制虚拟镜像的扩展点,用于能够简易插入到框架虚拟镜像库中的特殊行业解决方案需求。
- 自定义备用开发工具的扩展点,它不在框架内置功能之中,但是为个体解决方案开发所需。无代码开发人员工作区容易配置扩展工具。
- 特定于行业的服务注册的扩展点,用于迎合不同行业和第三方调用的外部服务。
在构建云基础设施的过程中,其他考虑包括基础设施资源管理和功能规划。PaaS 框架中管理的资源以虚拟机和相关资源的形式提供。资源的管理等同于虚拟资源的管理。
在行业解决方案中,不同服务提供商的角色需要不同的功能、质量、或者资源范围。所有这些都能够通过调整云设施上的虚拟资源轻松获得。更进一步说,某些行业服务在业务增长过程中会增加很多需求来提高服务质量。内置在虚拟模板的框架提供拓扑,例如,正常的和更强大的系统吞吐量的独立应用程序服务器和集群。业务用户只需在服务管理门户中指定服务质量选项。对应的虚拟系统资源能够自动地联合,满足服务质量需求。
更进一步来说,为了实现资源管理和扩展,功能规划可以用于适应不同的用户角色。行业服务提供商和业务合伙人可以定义资源约束,用于初始资源分配,决定未来潜在增长的上限。他们还可以定义政策、描述资源扩展和恢复的条件。比如,当被某些用户使用的虚拟资源达到预定义的阈值时,云设施就通过分配更多的内存和磁盘空间,或者在集群中添加更多节点来平衡负载,从而扩展虚拟机资源。相反的,当虚拟系统的使用在某段时间内低于预定义的阈值,空闲的节点就被删除、或者内存就被收回。
云计算在云计算环境中将行业解决方案系统和设备连接在一起。特别介绍了 PaaS 框架,同时您了解了在行业解决方案中使用云计算的需求,架构模式和实现技术。根据框架,该系列之后的两篇文章将会讨论如何将云计算功能应用到化工、石油和电信领域。
学习
- 云计算使用案例
- “Cloud,SaaS,Hosting and Other Off-Premises Computing Models”(需要注册),(Gartner,2008 年 7 月)
- IBM® WebSphere® CloudBurst Appliance 信息中心
- IBM Tivoli® Service Automation Manager 信息中心
- “Mapping Clouds of SOA- and Business-related Events for an Enterprise Cockpit in a Java-based Environment”(Daniel Jobst 和 Gerald Preissler,2006 年)
- 在 developerWorks 云开发人员资源,查找和共享开发人员用于云开发所构建项目的应用程序和服务的知识和经验。
- 如果您在 IBM developerWorks Industry 专区 中特定于行业领域内工作,查找可能感兴趣的技术文档、教程、社区、wikis 和资源。
获得产品和技术
- 试用这个独立的,完全配置的映像,使用 WebSphere App Server 和 DB2 Express-C 来开发和部署行业垂直应用程序。