为 IBM PureApplication System 做好准备,第 1 部分: 应用程序迁移概述

此文章系列立足于以应用程序为中心的观点,帮助您理解如何在组织中为 IBM® PureApplication® System 做好准备,并最大限度地发挥其价值。第 1 部分强调了与应用程序生命周期有关的 PureApplication System 功能。此外,本文还将帮助您识别现有应用程序,并将其迁移为工作负载。请将本文视为一份路线图,指导您学习本系列的其他文章。

Steve Abrams, 杰出工程师、首席云架构师, IBM

Steve Abrams 照片Steve Abrams 博士 是 IBM 杰出的工程师,在 IBM Rational 技术总监办公室(Chief Technology Office)担任 Rational 云计算方面的首席架构师。在那里,他负责定义 Rational 关于云计算和开发方面的策略,并与 IBM 的业务策略相结合。作为 CTO 团队的一员,他还帮助创建了 Jazz Integration Architecture,并促使它被 IBM 产品所采用。他还提出生命周期协作开放服务的倡议,这项倡议面向整个行业,旨在通过开放协作定义一个符合 REST 的集成架构来大大简化各个软件交付生命周期的集成。Steve 还负责管理 Rational 与 IBM 研究部门的合作项目。他的背景广泛,包括电脑音乐、机器人技术、计算几何、CAD / CAM 快速原型化工具。他在哥伦比亚大学获得计算机科学的学士、硕士和博士学位。



Robbie John Minshall, WebSphere 性能开发, IBM

Robbie John Minshall 目前从事 IBM Software Groups Service Orientated Architecture 的 Standard Data Objects 开发工作。Robbie 来自新西兰,获得 Johns Hopkins University 的数学和计算机科学双学位荣誉学士学位。Robbie 的专有技术包括应用程序基准测试和可伸缩性、自主性能代理、J2EE 环境中的健康状况和系统监控,包括内存泄露检测。



2012 年 5 月 09 日

简介

IBM PureApplication System 是一种优化了工作负载的集成式硬件和软件设备,设计用于显著简化私有云环境中应用程序的开发、供应和管理。它具有集成管理功能,允许通过自助服务提供灵活的应用程序、数据库和其他工作负载。

利用 PureApplication System,IBM 重新定义了一些关键数据中心概念。硬件和软件深度集成在一起,提供无与伦比的自动化、性能和简单性水平。为了更好地在业务中利用这种力量,务必谨慎考虑您的应用程序组合,关注如何利用这些特征的优势。本文章系列立足于以应用程序为中心的观点,帮助您理解如何在组织中为 PureApplication System 做好准备,并最大限度地发挥其价值。

这个由多个部分组成的系列文章包括:

本文的目的是强调与应用程序生命周期相关的 PureApplication System 功能。这将帮助您理解如何识别现有应用程序并将其迁移为工作负载,以及哪些功能最适合您的应用程序。请将本文视为路线图,指导您学习本系列中的其他文章。


PureApplication System 的工作负载

PureApplication System 包含诸多预先定义的工作负载模式。其中每一种模式都定义了一组基础系统资源、脚本、监控和管理行为。使用其中的某种模式部署应用程序时,PureApplication System 将自动供应和配置这些资源、设置这些行为,使您能够集中精力处理实际应用程序。PureApplication System 支持两种类型的工作负载:虚拟应用程序虚拟系统。两种模型均能自动化大量繁琐的应用程序设置和监控工作,但两者之间存在一些重要差异。

利用虚拟应用程序,PureApplication System 能负责应用程序的大部分供应和管理工作。这能显著降低总体拥有成本,但仅适用于符合该模式的受限制的应用程序。利用虚拟系统,您将获得更多的控制权,因此需要负责:

  • 供应哪些虚拟机
  • 其中安装了哪些软件组件
  • 运行哪些脚本
  • 如何对其进行监控

下面我们将具体介绍两种模型,首先介绍虚拟应用程序。


虚拟应用程序

PureApplication System 能理解多种虚拟应用程序模式,例如基本 Java™ 应用程序或者 Web 应用程序。为了将应用程序部署为虚拟应用程序模式,您需要创建一个应用程序模型。这个模型会告诉 PureApplication System 有关如何供应和配置应用程序的所有必要信息,包括该应用程序由哪些工件构成、它需要连接到哪些系统、它需要哪些资源、您希望 PureApplication System 利用哪些策略来管理应用程序(例如提供灵活性的扩展策略)。

在供应组件时,PureApplication System 会自动供应所需的一切系统组件,例如虚拟机、应用服务器,等等。它将根据您的应用程序模型自动配置这些组件(设置数据源,提供监控和触发器来实现灵活性等等)。它甚至能够监控应用程序的负载,并根据应用程序的需求供应(或者回收)系统资源。因此,PureApplication System 将负责管理应用程序,降低了管理成本,优化了系统资源的使用,与传统部署相比,能够实现更高的应用程序密度。

每个虚拟应用程序模式都被设计为包含一组设置、配置、监控和管理基础设施与软件平台的最佳实践,以便支持工作负载。因此,虚拟应用程序将大大优化 PureApplication System 资源的使用。为了实现这个目标,虚拟应用程序模式需要对能够运行的应用程序做出一些假设。

每种虚拟应用程序模式都拥有特定的兼容性标准,可以根据这些标准评估应用程序,确定模式是否能支持该应用程序。例如,这些标准(应用程序利用的规范以及应用程序语句的处理方式)可以确定应用程序是否能够作为虚拟应用程序运行。如您所见,IBM 提供了评估标准,帮助您确定给定应用程序是否兼容虚拟应用程序模式。请参见 第 2 部分,了解有关哪种部署选项最适合您的特定应用程序的更多信息。

尽管可以定义您自己的虚拟应用程序模式,但这属于高级主题,超出了本系列文章的讨论范围。


虚拟系统模式

相比之下,虚拟系统模式为您提供了更多控制权。您要定义虚拟机镜像、其中安装的软件组件、运行用于配置它们的脚本包以及希望其中包含的任何监控代理。虚拟系统为简单和复杂的中间件配置提供了可重复性、一致性和快速部署时间,同时保留了传统中间件环境的控制权和灵活性。

您将使用 PureApplication System Pattern Editor 定义这些模式,这类似于使用模型驱动的方式设计传统拓扑结构的方法。通过 Pattern Editor,使用 IBM Hypervisor Edition 镜像创建虚拟系统模式将会轻而易举。您甚至可以从零开始创建自己的虚拟镜像,只需捕获或导入虚拟机镜像并添加软件包即可。

PureApplication System 包含诸多预先定义的虚拟系统模式,适用于通用的应用程序拓扑结构。这些模式代表着 IBM 中间件上运行的应用程序的最佳实践和 “黄金拓扑结构”。请将这些模式视为起点,它们为您的组织中的应用程序提供了一组标准拓扑结构。您可以添加额外的软件、脚本包和配置选项,根据您的应用程序和环境量身定制这些模式。

就能够在 PureApplication System 上运行的工作负载而言,这种方法较为灵活,但并非全无代价。具体来说,长期管理您自己的兼容虚拟机镜像目录的过程可能极为繁琐、代价高昂。在交付虚拟系统模式中定义的不断演进的内容集合时,我们建议您利用 IBM Hypervisor Edition 镜像和脚本包,将镜像目录的大小降至最低限度。

创建虚拟系统模式时,最好思考一下模式如何支持多种应用程序,这就要求采用分层式的方法。如果您在虚拟机镜像中存放了过多内容,模式将难以重用。通常的做法是在镜像中包含操作系统和中间件,随后使用脚本包提供应用程序并配置中间件。这能带来更好的重用能力。

为了简化 WebSphere® 应用程序的这个过程,PureApplication System 包含高级中间件配置 (AMC) 工具。AMC 使您能够更加轻松地创建可重复、可部署的虚拟系统模式。这包括应用程序和配置,具体方法是内省现有应用程序单元,提取所有配置细节,将其封装到一个脚本包之中,并在部署模式的时候重建配置。对于不符合任何 PureApplication System 虚拟应用程序模式的、受限制且不具备完整、可重用、可靠的部署和配置脚本集合的 WebSphere Application Server 应用程序来说,这非常有用。请参见 第 3 部分,了解使用 AMC 工具和 IBM Workload Deployer 迁移应用程序并将应用程序的新实例部署到云中的更多信息。


应用程序数据

PureApplication System 支持多种数据托管方法。类似于应用程序部署模型,您可以自行作出选择,可以将数据库作为服务来提供更好的优化和简单性,也可以在虚拟系统模式中利用 DB2® 组件来获得更多控制权。当然,您总是可以选择在现有外部系统中托管数据。


将应用程序迁移到 PureApplication System

PureApplication System 的价值往往与您运行的应用程序数量成正比。在 PureApplication System 中运行的应用程序越多,简化其管理、提高应用程序密度的价值就越高,如果您选择了为云而优化的应用程序,那么效果会更加明显。IBM 理解跨您的产品组合分析和管理这种流程的重要性,理解从长期角度最大化 PureApplication System 投资回报率的重要意义。

因此,在迁移任何应用程序之前,您都需要评估应用程序组合,识别最能满足采用 PureApplication System 这一业务目标的应用程序。识别候选应用程序之后,便可以评估各应用程序与某种虚拟应用程序模式的兼容性,或者确定其是否最好迁移为虚拟系统模式。随后即可执行特定于工作负载类型的迁移功能,将应用程序迁移到 PureApplication System。


应用程序组合调查

Rational® Focal Point 是一种基于 Web 的应用程序组合管理工具。IBM 对工作区模板进行了自定义,专门用于帮助广泛地评估大规模应用程序组合是否适合迁移到 PureApplication System。这种工具设计用于供分别负责应用程序组合某个部分的大量利益相关者协作使用。

对于每一个应用程序,都需要解答几个较为高级的问题,这涵盖了应用程序基于何种技术、管理难度如何、业务关键程度如何等主题。这些主题目的在于让任何对应用程序有所了解的人员都能回答调查问题。随后利用这些答案计算 PureApplication System 就绪性评分。这些评分将用于识别初始迁移工作中最佳的一组备选应用程序,同时制定迁移应用程序的长期路线图。

应用程序兼容性

将应用程序识别为候选应用程序之后,还需要确定应用程序是否适合 PureApplication System 提供的某种虚拟应用程序模式。对于每一种模式,我们都提供了具体的应用程序兼容性测试。这其中涉及更加深入、高度技术化的一组有关应用程序的问题。包括应用程序如何管理会话状态,它对远程 EJB 的依赖程度如何等等。这些问题应该由具有深入的应用程序架构和实现技术知识的人员回答。这些答案决定了应用程序是否兼容某种虚拟应用程序模式,或者是否需要迁移为虚拟系统模式。


虚拟应用程序迁移

将一个应用程序迁移为虚拟应用程序是非常简单的。可以直接利用 PureApplication System 用户界面,选择一种具体的模式类型,例如 “WebApplication Pattern Type”。这将创建一个直观的模型,随后您可以根据应用程序进行自定义,如图 1 所示。

图 1. 虚拟应用程序模式
虚拟应用程序模式

在本例中,您为应用程序提供了 WAR 文件,还提供了资源引用或者将由数据源使用的 JNDI 名称。如果有必要,可将组件拖放到画布上,例如与外部 Web 服务提供程序或 CICS 事务网关的连接。如果您正在将数据库作为服务使用,那么可以直接在虚拟应用程序内为数据库定义架构和工作负载标准。

应用程序设计完成后,可以启用一组路由、日志记录、JVM 设置和扩展策略,用它们实现所需的服务水平,而不必处理中间件配置属性。例如,扩展策略允许配置一系列实例,这些实例将根据应用程序的响应时间动态部署(如图 2 所示)。

图 2. 虚拟应用程序扩展策略
虚拟应用程序扩展策略

利用 PureApplication System 用户界面,即可快速迁移应用程序,并利用一种可重复、直观的模型定义设置策略,在生产环境中部署和管理应用程序。您配置为虚拟应用程序一部分的组件也可另存为控制板中的可重用组件,以便在其他应用程序中使用。

除此之外,定义应用程序模型之后,即可直接从 Rational Application Development IDE 中部署应用程序。通过这样的方式,开发人员可以轻松部署应用程序,以便在 PureApplication System 上进行测试。您还可以确定开发人员构建的应用程序是否符合虚拟应用程序模式的限制。


虚拟系统迁移

与虚拟应用程序相似,虚拟系统提供了模型驱动的用户界面。将应用程序迁移为虚拟系统时,第一步是定义基本虚拟系统模式(或者识别一种适用的现有模式)。接下来,利用脚本包定义应用程序,以及将要应用于中间件拓扑结构的相关 WebSphere 配置。这些脚本包允许您充分自定义和配置环境,远远优于模型中直接提供的 WebSphere 配置选项。为此,您需要手动创建脚本包来配置中间件,或者使用 PureApplication System 中包含的高级中间件配置功能。

在图 3 中,模式编辑器显示了构成虚拟系统模式的所有虚拟机(包括 IBM Hypervisor Edition 镜像)以及将在供应时运行的脚本包。

图 3. 虚拟系统模式
虚拟系统模式

在图 3 展示的示例中,模式包含一个数据库和 WebSphere 单元,以及 Deployment Manager 和两个联邦节点。在每个节点中,均可看到将在部署时运行的脚本包。这种模型驱动的设计允许通过易于理解、与现有流程和投资相关的方式定义标准中间件拓扑结构。

通过利用脚本包,可以包含现有 wsadmin 脚本或者调用现有自动化系统,在虚拟系统部署过程中配置中间件。如果您已经对应用程序自动化进行了投资,并且希望重用这些自动化投资(前提是它们可靠、可重复、可重用),那么这将是一个理想的选项。

然而,这种高品质的端到端自动化很难构建。IBM 提供了一种解决方案,允许您迅速捕获一个现有应用程序单元的配置,从而生成自动化,并将这些自动化包含在虚拟系统模式之中,即 IBM 高级中间件 (AMC) 配置。这项技术在 PureApplication System 内是作为一种虚拟系统模式交付的。为了迅速自动化应用程序安装和配置,只需部署该服务,将所提供的 AMC 脚本包附加到您的虚拟系统模式,部署模式,随后按照所需的任何方式安装和配置自动化,使之可供捕获。

为应用程序做好准备之后,就可以登录 AMC 服务,将中间件配置捕获为自动化项目。随后可以优化这一自动化项目,以备在未来的虚拟系统部署中调用。因此,您不必编写任何 wsadmin 脚本或者安装自动化,便可以在一种有意义的中间件拓扑结构上完全自动化应用程序的部署。


结束语

本文介绍了 IBM PureApplication System 如何显著提升数据中心的效率,并降低应用程序的开发、管理和监控成本。PureApplication System 拥有诸多部署模型,能够满足组织内的各种需求。然而,为了发挥 PureApplication System 的价值,您需要确定哪些应用程序最适合利用这种私有云的独有特点,随后将这些应用程序迁移到私有云。您可以利用 IBM 提供的工具管理应用程序的生命周期、管理应用程序组合和迁移流程,并执行这一迁移场景。

致谢

作者特此感谢 Mary Yost 对本文的审阅。

参考资料

学习

获得产品和技术

讨论

条评论

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=WebSphere, Cloud computing
ArticleID=813434
ArticleTitle=为 IBM PureApplication System 做好准备,第 1 部分: 应用程序迁移概述
publish-date=05092012