导航 IBM 云,第 1 部分: 云技术入门

本系列文章将介绍云计算的基本知识,首先介绍一些支持云环境的基础技术。在此过程中,您还会了解 IBM® 的一些关键云产品如何发挥其作用,如何帮助您在云中取得成功。 本文来自于 IBM WebSphere Developer Technical Journal 中文版

José De Jesús, 高级认证架构师, IBM

José De Jesús 是 ISSW for IBM (I4I) 团队的一名高级认证架构师。他拥有福特汉姆大学的计算机科学专业理学士学位和迈阿密大学的管理技术专业理学硕士学位。José 是 Blue Harmony 内部项目的 Non-SAP Infrastructure Team Lead,以及 ISSW Certification Lead。他还领导着 I4I Cloud Initiative 和 I4I Technical Vitality Initiative,是 Distributed Management Task Force (DMTF) 的成员。



2012 年 10 月 29 日

简介

云计算是一种模型,它按需提供基于 Web 的软件、中间件和计算资源。通过将技术部署为服务,用户只能访问其特定任务所需的资源,最终使他们能够实现投资成本、开发时间和资源开销上的节省。使用户能够访问最新的软件和技术还推动了业务创新。

本系列文章将帮助您理解云计算的概念和工作原理,以及 IBM 产品如何帮助您成功实施云战略。

第一篇文章首先介绍一些让云计算成为可能的技术,然后介绍云计算的基本知识。


在云的内部

平台虚拟化

平台虚拟化指在逻辑上将一个物理机器分解为多个虚拟机 (VM) 或来宾机器。平台虚拟化的目标是整合资源、减少空间和能源成本,将操作系统与物理硬件分离,以提高灵活性。平台虚拟化一般由一个虚拟机管理程序完成,该程序是一个支持其他软件(通常是操作系统)并行运行的软件或固件层,就像这些软件能全面访问真实的机器一样。虚拟机管理程序也称为虚拟机监视器 (VMM),它们控制机器的物理资源,并在用于 VM 时将这些资源显示为虚拟资源。

有两种类型的虚拟机管理程序:第 1 种类型直接在物理硬件上运行,第 2 种类型需要一个主机操作系统才能运行(参见图 1)。

图 1. 虚拟机管理程序的类型
图 1. 虚拟机管理程序的类型

第 1 种类型的虚拟机管理程序的示例包括:IBM z/VM®、IBM PowerVM® 和 VMWare ESX/ESXi Server for Windows®。其他示例还包括 Citrix Xen 和 Microsoft® Hyper-V®。因为它们在硬件自身上运行,所以第 1 种类型的虚拟机管理程序也称为本机裸机虚拟机管理程序。

第 2 种类型的虚拟机管理程序的示例包括 VMWare Workstation、VMWare Server、Kernel-Based Virtual Machine (KVM) 和 Oracle® VM VirtualBox。第 2 种类型的虚拟机管理程序也称为承载式虚拟机管理程序。对于一些虚拟机管理程序(比如 KVM),应将它们归为第 1 种类型还是第 2 种类型,以及采用这种方式对它们进行分类对它们的工作方式是否有意义,这些仍然存在着许多激烈的争议,这类讨论不属于本文的介绍范围。

图 2 简短描述了 IBM 硬件和 IBM 云解决方案目前支持的虚拟机管理程序。

图 2. IBM 硬件上目前支持的虚拟机管理程序
图 2. IBM 硬件上目前支持的虚拟机管理程序

VM 因为具体平台的不同而具有不同的名称。AIX® 环境中的虚拟机称为逻辑分区LPAR。在基于 x86 的系统上,使用的词汇是虚拟机。z/VM 系统同时使用两种叫法:LPAR 和 VM。z/VM 中的 LPAR 在实质上是 System z® 计算机中分配的硬件资源块,每个 LPAR 可支持一个独立的操作系统,其中一个就是 z/VM 本身。所以,一个 z/VM LPAR 可承载一个 z/VM 来宾,这个来宾进而可承载不同的 VM。System z 计算机中的一个硬件工具可采用与 z/VM 创建和管理 VM 相同的方式来创建和管理 LPAR。当您有一个 Linux® 来宾操作系统在 IBM z/VM 上运行时,这个操作系统称为 zLinux 来宾或 zLinux VM。

虚拟化并不新鲜。IBM 在上世纪 60 年代就首次开发了这项技术,以便对其昂贵的大型机计算机进行多路复用。在大量研究和重新实现 CP-40/CMS 和 CP-67/CMD 操作系统后,第一个完全虚拟化的机器 IBM S/360-67 于 1967 年问世。到 1972 年,虚拟机已成为所有 S/370 大型机的一项标准功能。S/370 运行 IBM 的 VM/370 操作系统,该操作系统曾经是一个分时系统控制程序,最后演化成为了 z/VM。如今,虚拟化遍布在各种数据中心和云环境中,是让云计算正常工作的关键技术之一。

虚拟设备

虚拟设备虚拟应用程序表示一组预先配置的 VM 或一组预先配置的、相互依赖的 VM,每个 VM 与一个称为来宾操作系统的全功能操作系统和一个或多个应用程序捆绑在一起。图 3 显示了一些示例。

图 3. 虚拟设备示例
图 3. 虚拟设备示例

虚拟设备是一个软件堆栈的可移植、自成一体的配置。它们也称为虚拟映像,通常用于承载单个业务应用程序。虚拟设备格式的行业标准是由 Distributed Management Task Force (DMTF) 发布的开放虚拟化格式 (Open Virtualization Format, OVF)。加入该小组的公司(比如 IBM、VMware、Citrix、Microsoft 和 Oracle)都在自己的产品中支持 OVF。

OVF 描述了要部署的软件(称为 OVF 包)和它们执行的目标环境(OVF 环境)。一个 OVF 包包含一个 OVF 目录,其中包含多个文件,包括一个 OVF 描述符,这是一个具有扩展名 .ovf 的 XML 文件,描述了 OVF 包的内容。OVF 包通常包含虚拟磁盘,也可以选择包含其他补充性文件,比如清单文件、ISO 文件和证书文件。

OVF 包可作为一组文件提供,或者使用 TAR 格式压缩,并作为单个具有扩展名 .ova 的文件进行分发(用于开放虚拟设备或应用程序)。

OVF 环境是一种 XML 文档,其中包含与虚拟设备的部署相关的信息。例如,主机名、IP 地址、操作系统级别配置等信息都可包含在 OVF 环境信息中。

OVF 描述符指定需要在部署虚拟设备期间配置的属性。

虚拟设备之所以重要,是因为它们提供了一种创建、分发和部署软件的新方式。在虚拟机管理程序上有一个抽象层,能够封装软件,并将它作为预先配置的且 “随时可运行的” 单元来分发,这提供了一些重要的优势:

  • 应用程序的配备和部署时间减少,这意味着交付价值的时间缩短。
  • 最终交付成果的质量改进:一个不需要安装和配置,因而更不容易发生错误的完整配置的应用程序。
  • 在云提供程序之间交换虚拟设备的能力。
  • OVF 还使工作负载可在维护机器或计划外的设备或应用程序故障期间转移到其他物理服务器。

虚拟机管理程序版本

IBM 产品或解决方案的虚拟机管理程序版本是一个虚拟映像,其中包含一个操作系统和围绕该特定的 IBM 产品或解决方案选择的中间件组件。它基本上是一个用于特定 IBM 产品的虚拟设备,通过预先配置在虚拟化的环境中以最佳性能运行。IBM 软件的虚拟机管理程序版本被封装为 .ova 文件,一些版本已预加载到 IBM 云硬件上,比如 IBM Workload Deployer 和 IBM PureSystems™。一些虚拟机管理程序版本已可用于 IBM HTTP Server、IBM WebSphere® Application Server、IBM WebSphere MQ、IBM WebSphere Message Broker、IBM WebSphere Process Server、IBM WebSphere Portal、IBM WebSphere Business Monitor、IBM DB2® 和 IBM Lotus® Web Content Management 等产品。

工作负载

工作负载这个术语有两种稍微不同的使用方式。一般而言,工作负载指在给定时刻施加在一种计算机资源上的处理需求。但它也可表示一个虚拟应用程序(以应用程序为中心)、虚拟系统(以中间件为中心)或虚拟设备(以机器为中心)的已部署的形势。在云的上下文中,“配备一个工作负载” 或 “部署一个工作负载” 等阶段指的是为该虚拟化的应用程序提供运行它所需的其他一切要素,包括 VM、操作系统和补充性文件。指定的服务器处理一个工作负载的能力表示它处理部署的虚拟系统、虚拟应用程序或虚拟设备的计算、内存、磁盘和网络资源需求的能力。

不是所有工作负载都是相同的。举例而言、一个 I/O 密集型工作负载所需的资源与一个计算或内存密集型工作负载所需的资源是不同的。不是所有工作负载都需要相同的服务质量 (QoS) 水平。确定哪些工作负载会在不同环境下以最佳性能运行,这可能是减少成本的一种非常有效的方式。正如下面将进一步讨论的,混合云在这些情形中发挥着重要的作用。

弹性

特定工作负载的容量规划可能非常困难。如图 4 所示,通常的难点是:没有规划足够的容量来满足工作负载需求,这是不明智的,会导致宕机。相反,高估容量需求会导致一个或多个服务器未得到充分利用或空闲。甚至无法为峰值提供正确的分配容量,因为工作负载需求在波动,在系统未达到峰值级别运行时就会导致浪费容量。例如,一个测试周期结束后,硬件的利用率可能显著降低。即使制定了最佳的容量规划,但在某些情况下,工作负载需求也可能是不可预测的。理想的情形是仅分配任何给定时刻需要的容量。这称为弹性,它是任何云环境中的一个重要的特征。

图 4. 弹性
图 4. 弹性

资源池

在多个 VM 共享这些资源时,最大化硬件资源的使用也特别重要。资源池将一组硬件资源(计算、内存、存储和网络带宽)视为单个可按需使用的资源 “池”。这使得虚拟机管理程序和更高级的程序能够基于需求和优先级水平动态分配和重新分配资源。资源池可使多个组织或租户有效地共享一个云环境中的资源。

移动 VM 和工作负载

无论通过内置的某项功能还是使用额外的软件,许多操作系统和虚拟机管理程序如今都能够动态地将 VM 或工作负载转移到不同的物理服务器上。举例而言,AIX 6.1 提供了 Live Partition Mobility 功能来移动 LPAR,提供了 Live Application Mobility 功能来移动工作负载。VMware 使用 VMotion 将 VM 从一个物理服务器转移到另一个服务器,z/VM 的 Live Guest Relocation (LGR) 允许非破坏性地将一个虚拟机转移到另一个 LPAR。z/VM 还支持系统非中断性地将工作负载转移到可用的系统资源。这种 “动态” 转移 VM 或工作负载的能力可提高应对组件故障的健壮性,或者动态支持工作负载需求的变更。

进入云

毋庸置疑,这些不同的技术已使数据中心更接近云服务模型。随着它们继续演化,它们将进一步增强数据中心的基础架构灵活性,并简化用户的 IT 体验。它们还将为使用者和提供者带来更先进的云可能性。单独一项技术无法构成云计算,但将它们相结合,便可为实现云完成一些基础工作。


使用云计算

云计算旨在通过 Internet 或专用网络以服务的形式按需提供一组 IT 功能和业务功能。它是一种创建、交付和使用 IT 服务的全新方式。在此情形中,“云” 是运行服务的基础架构(通常包含虚拟机管理程序、存储设备和网络设备),以及使有效提供这些服务成为可能的 VM 和工作负载管理技术。

National Institute of Standards and Technology (NIST) 确定了任何云环境的 5 个基本特征:

  • 按需自助服务

    该环境应支持一种 “DIY” 模型,其中使用者可通过 Web 浏览器或应用编程接口 (API) 以一种自动方式配备资源,无需服务提供者的人为互动。

  • 广泛的网络访问

    功能应在一个庞大的网络上通过标准设备(比如工作站、笔记本电脑、平板电脑和移动电话)提供。

  • 资源池

    系统应建立资源池,以便能够在多个使用者之间轻松共享资源池。共享的资源池允许系统根据需要分配资源或重新分配资源。这对支持多租户模型尤其有用,在该模型中,多个组织或租户可共享一个云环境中的相同资源。

  • 快速的弹性

    (也称为快速可伸缩性)该环境应能够基于工作负载需求自动(或者至少快速地)添加或删除计算资源,无需中断正在运行的系统。

  • 度量的服务

    一个云环境必须能够度量和评级使用的资源,确定谁能够更好地管理工作负载并优化它们的执行,并向使用者提供资源利用情况的透明视图。

云交付模型

云提供了 3 种交付模型:基础架构即服务 (IaaS)、平台即服务 (PaaS) 和软件即服务 (SaaS)。这些模型确定了使用者的共享或多租户级别。图 5 演示了这些模型。在堆栈的每个级别上,以黄色突出显示的方块是租户在交付模型中共享的组件。

图 5. 云交付模型
图 5. 云交付模型
  • 基础架构即服务

    最底层是基础架构即服务 (IaaS),其中租户共享基础架构资源,比如处理器、网络和存储,以及操作系统。租户仍然必须安装它们自己的中间件组件和应用程序。这在可安装的要素上为它们提供了更高的灵活性,但也使得它们更加难以配置和维护。换句话说,IaaS 为用户提供了共享计算容量、可通过网络访问的存储和一个操作系统。其他所有要素需要进行安装且不能共享。后面的一篇文章将介绍 IBM PureFlex™ Systems,这是该领域的一个重要解决方案。PureFlex 是一个融合的架构环境,它为 IaaS 预先配置了服务器、网络、存储和软件系统。后续文章还将介绍 IBM Workload Deployer,这是一个基于 IBM DataPower 技术的硬件设备,也在私有云中发挥着重要作用。

  • 平台即服务

    平台即服务 (PaaS) 是 IaaS 之上的一层,提供了中间件组件、数据库、存储、连接、可靠性、缓存、监视和路由。PaaS 基于 IaaS,不断提供更多的业务价值。租户继续使用它们自己的应用程序,但也会使用一些共享中间件服务,比如监视、安全、数据库和门户。这里的一个重要角色是 IBM PureApplication™,它是一个针对 PaaS 解决方案预先配置的平台。PureApplication 构建于 IaaS 之上,提供了针对面向事务的 Web 优化的虚拟应用程序和数据库应用程序。这里的另一个重要角色是 IBM Workload Deployer,它为私有云提供了 IaaS 和 PaaS。PureApplication 是一个融合的架构,而 IBM Workload Deployer 是一个在现有的虚拟化基础架构之外的设备。前者的模型是 “打包式云”,而 IBM Workload Deployer 的模型是 “自带云基础设施”。后续文章将更详细地介绍这两种模型。

  • 软件即服务

    借助软件即服务 (SaaS),租户共享它们在 IaaS 和 PaaS 解决方案中共享的所有资源,而且具有单一的应用程序版本。在这种情况下,所有租户共享同一个应用程序,但保持它们的应用程序数据隔离。云提供者可将应用程序安装在多个机器上,以支持水平扩展。借助 SaaS,更容易添加新租户,因为客户端只需选择和自定义一个云应用程序,无需担忧构建中间件或安装应用程序。客户端需要做的工作很少。IBM SmartCloud Solutions(以后将进一步讨论)就是 SaaS 的实际应用的一个良好示例。

云部署模型

云服务模型有 4 个部署模型组成,如下面的图 6 中所示。

图 6. 云部署模型
图 6. 云部署模型
  • 公共云

    公共云向普通公众开放。云基础架构存在于云提供者自己的场所中,可能由一个或多个实体拥有、管理和操作。公司迁移到公共云的一个主要原因是将他们的资本开支 (CAPEX) 替换为操作开支 (OPEX)。公共云拥有一种即用即付定价模型。使用者不需要提前购买必要的硬件来应对峰值使用,也无需担忧正确地 “预测” 容量需求。这种即用即付定价模型(常常称为效用计算)让使用者可像用电一样使用计算资源。它们仅为使用的资源付费,感觉就像是能够按需获得无限的容量。使用者通常无需担忧处理工作在何处或在哪个硬件上完成。他们相信云提供者将会维护必要的基础架构来运行他们的应用程序,并以他们根据需要的服务水平协议 (SLA) 提供请求的服务。IBM SmartCloud Enterprise 和 IBM SmartCloud Enterprise Plus 在这一领域中提供了空前的支持。

  • 私有云

    可以部署私有云来供某个组织单独使用。该组织或一个第三方可拥有、管理和托管它,它的基础架构可存在于组织内部或异地。当第三方管理云时,这个云称为托管私有云。当私有云在异地托管和操作时,它称为承载式私有云。公司采用私有云解决方案是有多种原因的。以下是部分原因:

    • 利用和优化现有的硬件投资。整合的 IT 资源、自动化、自助服务和更优秀的集成管理工具减少了总体成本和操作开支。
    • 在多个客户组织共享相同资源时担忧数据安全和信任问题。客户常常在一个企业防火墙背后开始他们的云冒险之旅。
    • 资源争用。因为公共云允许不同组织的应用程序争用共享的资源,所以公司可能更喜欢独占地使用硬件(比如服务器和负载平衡器)来处理具体的工作负载或在特定时期获取系统和应用程序的更高可用性。

    人们有时很难区分内部的私有云和本地虚拟化环境。人们会询问的一个公正的问题是,内部私有云必须为已拥有高度虚拟化的环境的组织提供已编写的脚本,以便配备新的应用程序。答案要复杂得多。私有云不仅使资源配备更加轻松,还提供了一种向您的内部组织提供基于云的服务的方式。

    借助 IBM 私有云技术,您可通过单个控制台获得动态的资源扩展、自助服务、高度标准化的基础架构、一个包含已准备运行的工作负载的工作负载目录、审批、度量和集成的管理。IBM 私有云还为您提供了利用一个标准虚拟机或虚拟设备库的能力,这个库可以随时配备,按需扩展来快速响应不断变化的业务需求,并改进硬件的总体利用率。单单虚拟化无法为您提供这些好处。我们在前面已经提到,IBM Workload Deployer 是 IBM 的私有云战略中的一项主要产品。

  • 社区云

    社区云用于供一个社区独占式使用,社区是一组来自不同组织、具有相同的兴趣或任务的人。这种类型的云可由社区的一个或多个成员、一个第三方或二者的组合体拥有、管理和承载,可存在于参与其中的某方所在的场所,或者存在于与任何人所在场所不同的异地。具体来讲,垂直市场和学术机构可利用社区云解决常见的问题。例如,合作建立一个新规范的科技公司可使用社区云共享资源和概念证明。

  • 混合云

    混合云包含两个或多个不同的云基础架构,这些基础架构保持分开,但又共享支持从一个基础架构到另一个基础架构移植数据和应用程序的共享技术。混合云解决方案提供了可跨多个云环境管理的工作负载的互操作性。这包括访问第三方资源和客户端合作伙伴网络。它的理念是无缝地将内部的应用程序(无论是资产的、套装的还是在私有云上运行的应用程序)与异地的云链接起来。

    以下是一些可使用混合云的示例:

    • 一家组织可使用一个公共云来承载一个应用程序,并将基础数据库放在私有云中。
    • 一家公司可使用一个私有云来承载它的一些工作,并将公共云用于特定的用途(例如备份和归档)。
    • 一家组织可在一个私有云中承载它的正常工作负载,并使用公共云处理它更繁重的流量。对于何时将哪些工作负载卸载到公共云,目前已经有了一个完整的学科。例如,如果两个不同的工作负载具有相同的计算需求,那么具有更低迁移成本的工作负载将是更好的迁移候选者。一些人围绕此问题设计了 Markov Decision Process (MDP) 模型和复杂的算法。
    • 一个团队可能决定基于一个应用程序的生命周期阶段来拆分它的位置。例如,可以选择在家里开发该应用程序,然后在云环境中使用它。

    IBM WebSphere Cast Iron® 技术在混合云管理和集成解决方案中表现优异。借助一个名为 WebSphere Cast Iron Studio 的工具,没有编程知识的用户能够以图形化的方式创建业务流程,从而使用与不同类型的端点(包括 Web 服务、数据库、文本文件和 SAP)相连接的内置连接器来集成公共云、私有云和内部应用程序。

    WebSphere Cast Iron 采用以下 3 种不同的方式进行封装:

    • 作为一个自成一体的物理设备,称为 WebSphere DataPower® Cast Iron Appliance (XH40)。
    • 作为一个虚拟机管理程序版本或虚拟设备,提供了与物理设备相同的功能。
    • 作为一个云服务自身,提供了 Web API 和云集成服务供其他人使用和增强。
    后续文章会更详细地介绍这些方法。

IBM SmartCloud

通过在所有云交付和部署模型中为不同领域提供广泛的产品和服务,IBM 可为云使用者和提供者提供大量产品。IBM SmartCloud 产品家族目前是业界上最广泛的云服务产品组合。如图 7 所示,SmartCloud 包含 3 个产品家族:IBM SmartCloud Foundation、IBM SmartCloud Services 和 IBM SmartCloud Solutions。

图 7. IBM SmartCloud
图 7. IBM SmartCloud
  • IBM SmartCloud Foundation

    IBM SmartCloud Foundation 包含使公司能够创建和配置私有或混合云的 IBM 硬件和软件产品。这些云基础架构产品包括服务器、存储和虚拟化组件。

  • IBM SmartCloud Services

    IBM SmartCloud Services 包含用于 IaaS 和 PaaS 的托管云服务。这些服务包括 IBM SmartCloud Enterprise、IBM SmartCloud Enterprise Plus、IBM SmartCloud Application Services 和 IBM SmartCloud Managed Backup Services。

    • SmartCloud Enterprise 是一个用于 IaaS 的公共云产品,目前由全球的 6 个 IBM 云中心承载。借助 SmartCloud Enterprise,企业可迅速将应用程序推向市场,无需在基础架构中进行投资。SmartCloud Enterprise 订阅包括灵活的定价选项,比如 “即用即付”、“自带许可” 和 “仅供开发人员使用”。
    • SmartCloud Enterprise Plus 是一个 IBM 承载和托管私有云服务。它提供了共享或专用的资源,以及更广泛的虚拟机管理程序和基础硬件平台选择。
    • SmartCloud Application Services 向 IaaS 产品添加了集成的平台功能 (PaaS)。此功能包含在云中开发、部署、集成和管理应用程序的工具,以及对某些商用业务应用程序(比如 SAP)的特殊支持。
    • SmartCloud Managed Backup Services 包含在内部或异地备份和保护关键数据的功能。这些服务使公司能够减少他们的数据丢失风险,改善宕机或灾难期间的可用性,更高效地管理他们的制度合规性需求。
  • IBM SmartCloud Solutions

    IBM SmartCloud Solutions 将 SaaS 与 IBM 深厚的行业和流程技能相结合,以创建可供企业立即用作服务来满足其具体需求、基于云的应用程序。图 7 显示了如今可用的不同的 SaaS 应用程序类别。您可在 此处 了解它们的更多信息。


结束语

本系列的第一部分到此结束,其中为您提供了对云计算的含义以及促使它工作的技术的基本概述。后续几期文章将更深入地分析 IBM 云产品,提供 IBM Workload Deployer 和 IBM PureApplication 等产品的实用示例。这些讨论会展示这些 IBM 解决方案背后的技术如何真正改变云的游戏。

参考资料

学习

获得产品和技术

讨论

条评论

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=843046
ArticleTitle=导航 IBM 云,第 1 部分: 云技术入门
publish-date=10292012