分享到
云计算成功的秘密:灵活的容量规划
 

作者:Jose Vargas,发布于2011-09-20,IBM

 

简介: 云计算的一个承诺就是虚拟化将会减少所需服务器的数量。因此,关键是要识别满足用户预期需求所需的云基础设施的平衡量。作者介绍了基本概念以帮助您了解云容量和如何计算它,也介绍了一个工具,可帮助您计划使您的云环境获得成功所必要的最佳资源。

作为移动到云计算环境的一部分,公司利用规划流程和工具来实现成本的下降,提高系统部署的速度并提高系统可用性。这些流程和工具为系统管理员提供他们管理环境和计划以便满足将来计划需求所需要的信息。

云计算的一个承诺就是虚拟化将会减少所需服务器的数量,这会导致在硬件、软件许可证、能源和维修上的减少。因此,关键是要识别满足计算机和用户预期需求所需的云基础设施的最佳数量。计算资源太少,来自用户的请求必须等待资源释放或拒绝那些请求直到更多的硬件被添加到环境中。计算资源太多,硬件成本和其他费用就会否定云计算的成本削减承诺。

为了成功的计划云环境,系统管理员应该能够回答以下五个问题:

  1. 在数据中心中有多少可用容量?
  2. 有多少可用容量目前正在使用?
  3. 容量将在何时释放?
  4. 新请求的预测是什么?
  5. 投资回报是什么?

本文介绍的一些概念有助于您理解云计算容量和如何为其进行计算。本文还介绍了一种工具,即 IBM? Infrastructure Planner for Cloud Computing,它可以帮助您实现移动到云计算的关键目标。

了解云容量

云计算环境由包含了可被许多用户和应用程序共享的资源的物理服务器组成。每一个服务器都具有磁盘存储和一个或多个附带内存的中央处理单元。因为云计算是虚拟化的,所以全部 CPU、内存和磁盘存储的一部分被分配给每个用户请求。这种资源的部分分配确保了最大的灵活性。

例如,一些应用程序需要大量磁盘存储而无需很大 CPU 功率。其他的则具有相反的要求 — 大量的 CPU 使用和少量的存储。云计算允许用户为他们的应用程序指定所需系统的每个资源量。

中央计算:定义虚拟 CPU

在规划云计算环境时,请注意 系统 CPU 不同于 虚拟 CPU。通常很难比较现代系统的处理能力。例如,去年的系统制造最有可能具有比今年系统制造更慢的处理器。较新的系统还会具有多内核的 CPU。

要减轻准确的系统资源分配和容量规划的挑战,已经在等于 1GHz CPU 处理能力的云 CPU 单元上对云环境进行了标准化。例如,在用户请求两个 CPU 时,他们将获得两个 1GHz CPU 的处理能力。这意味着如果一个系统具有两个 CPU,每个具有四个核,则以 3GHz 运行将具有相当于 24 个 CPU 单元:

2 CPU x 4 内核 x 3GHz = 24 CPU 单元

此计算非常有帮助,因为用户可以计划他们所需 CPU 的数量且具有对性能的合理预期;管理员可更容易地在多个请求中共享由一个系统提供的资源。总 CPU 容量可通过添加环境中可用的 CPU 单元来进行计算。

请注意:在比较不同平台上的云 CPU 单元时,IBM PowerVM? 处理器系统中的 1GHz CPU 的处理能力不同于基于 Intel? 处理器上的 1GHz。为了得到准确的结果,只能在同一个平台内比较这些处理器。

物理 CPU 具有什么样的影响?

系统内可用物理 CPU 的数量是容量规划要考虑的另一个考虑事项。一个云可能会具有 100 个可用的 CPU 单元,但是如果云中最强大的系统只有 20 个物理 CPU 单元,这将变成对虚拟机请求的限制。

通过内存和存储来平衡 CPU

请注意 CPU 能力并不是实现成功容量规划的唯一因素。在容量规划需要做出有关 CPU 数量的正确决定时,它也涉及到将 CPU 信息与每一个系统所购买的内存和磁盘存储数量相平衡。

例如,购买具有 24 个 CPU 单元处理能力、但是仅 2GB 内存的系统在云环境中是毫无意义的。在这种情况下,在用户请求带有两个 CPU 和 2GB 内存的虚拟机时,该服务器将全部分配来填补这一单一请求。22 个未分配的 CPU 单元将仍然不可用于其他用户,因此要闲置此请求。

在制定云环境的硬件采购时正确地平衡系统资源非常重要。

您如何请求您的 IT 服务会有影响?

容量规划的主要目标是确保 IT 容量在适当的时候具有合适的大小,无论那一刻是现在、明天或者从现在开始的 20 年。一个使容量规划更加有效的重要工具就是查看 IT 服务的请求到达数据中心的方式。

传统观点

在传统数据中心中,系统管理员从未来发展项目的软件工程师那里接收 IT 资源的请求。管理员通常会每周审查 IT 请求以便确定什么资源可用以及哪些项目具有最高的优先级。较高优先级的项目会首先获得请求的答复。

在许多情况下,传统的数据中心可以在从制定分配资源决策的那时起不超过三周的时间内满足高优先级请求。然而,如果需要购买 IT 资源,则该过程可能要花费几个月。

具有较低优先级的项目可能需要等待很长的时间,这取决于预算和资源的可用性。在一些情况下,这些低优先级项目的请求根本不可能得到满足!

鉴于这种冗长、不确定的流程,用户变得习惯于 请求尽可能多的计算资源。不幸的是,这些请求常常超过用户真实的需要。一旦供应,这些资源会被小心翼翼的保护着,即便是在项目结束时,这些资源也不会被释放,除非用户被迫这样做。在传统 IT 模式的限制下,这种态度是可以理解的。毕竟,当前以及未来项目的成功都依赖于充足的 IT 资源。

但是,这种传统模式的惨痛教训是明确的:在开发周期内过多的资源常常会晚到,影响生产率和竞争力。在项目结束时,那些相同的资源(现在由用户囤积)成为没有得到充分利用的,浪费的容量。

来自云的观点

云计算为我们提供了非常不同的场景:

  • 开发人员可访问他们可以输入其 IT 资源请求的网站 — 服务器、软件、存储等。
  • 用户可马上知道这些资源是否可用。
  • 如果资源可用,则可马上提交请求并自动路由到云管理员以审批。
  • 由于流程是自动化的,所以请求通常在一小时内得到满足。
  • 在项目结束或即将结束时,使用云的开发人员不再囤积计算资源,且今后在必要时知道他们可以方便快捷地访问相同的资源。

对于未来的项目来说,使用云的开发人员将同样只请求他们需要的资源而不是像他们在传统 IT 资源交付时习惯于的过渡供应。此外,云用户通常必须指定项目结束日期;除非这个日期延长,则云资源会在此日期自动返回可用资源池。因此,即使用户不特意释放资源,它们依然可以供他人使用。

从管理员的观点来看,云环境将手动、耗时的流程变为一次单击式、自动审批流程。有关数据中心云基础设施和资源可用性的信息以近实时的方式提供,即使管理员即时了解环境的总容量且剩余资源。

确定资源需要

让我们使用一个通用开发组织情景来检查资源需要:

一家公司正在为它们的由 150 位软件工程师组成的开发和测试组织实现全新的云环境。100 位软件工程师开发软件,40 位执行软件质量保障,10 位负责运行并维护其生产环境。

多大的云才能满足该组织的计算请求?我们需要回答两个主要的信息(当然,每一个都分解成子单位信息):用户的需求和系统资源。如下所示:

1.用户的需求:

软件开发人员的平均资源需求

  • 平均每位开发人员两台 VM
  • CPU:6 CPU 单元,2GB 内存,磁盘存储 = 100GB
  • 环境平均需要为 90 天

软件保障工程师的平均资源需求

  • 平均每位开发人员三台 VM
  • CPU = 4 CPU 单元,内存 = 2GB,磁盘存储 = 50GB
  • 环境平均需要为 30 天

生产环境的平均资源需求

  • 平均每位开发人员一台 VM
  • CPU = 12 CPU 单元,内存 = 16GB,磁盘存储 = 500GB
  • 环境平均需要为 1 年

2.系统资源:

系统使用:IBM BladeCenter? HS22 8 路 2.8GHz 刀片服务器

每台服务器的内存:48GB

每台服务器的磁盘存储:1200GB

图 1 显示了容量规划的平均估计,即需要 113 个系统。要确保环境百分之百的时间都具有可用资源来满足所有的需求,规划将建议 124 台服务器。所以容量规划可确定所需系统的数量以便支持该组织。(在本文的后面,我们将介绍容量规划工具,即 IBM Infrastructure Planner for Cloud Computing,以便使规划任务更加简单。图 1 中的映像来自此情景规划中工具的结果。)

图 1. 此情景的估计

通过虚拟化提高容量

在我们介绍 IBM Infrastructure Planning 工具之前,让我们看看虚拟化如何提高容量。

传统数据中心管理员所面临的共同问题是低 IT 资源利用率,通常低至 10% 到 20%。这就是说,平均 80% 到 90% 的服务器计算能力未被使用。因此在传统情况下请求附加资源是一种浪费。

此外,数据中心常常限制提高其系统的空间,因此,即使一个企业有财力购买更多设备,它也没有物理资源来添加更多的系统。

相比之下,作为云计算关键组件的虚拟化使其表现为一个系统是许多单独的服务器。通过这项技术,运行在主机操作系统顶端的管理程序允许多个操作系统同时运行。不像传统计算环境中那样浪费 80% 的宝贵计算资源,管理程序要确保每一台服务器都以最佳效率和生产水平工作。这些效率在如今具有大量内存和磁盘存储的高性能、多内核处理器系统中更加明显。

虚拟化给与云管理员通过更少系统处理更多请求的能力。

真实的世界,真实的趋势

了解过去,您就能更好地预测未来。在容量规划的情况下,如果您拥有过去 6 个月 IT 资源消耗的清晰记录,则您更容易预测组织的计算需要。历史使用模式和趋势使 IT 经理可以估计何时应该添加资源以及需要多少资源。

例如:

网上购物网站知道节日期间网站的访客会达到高峰。

它们还知道哪些物品在节日的高峰期间最受欢迎。

检查订单状态的后续访问数量在这期间也有相应的增加。

在每年的最后两个月中,增加流量将转换为对更多计算资源的请求;然而,在每年的年初用户的访问量将回归正常。

了解该模式有助于管理员更好地计划未来的季节性高峰。随着时间的推移划分访问将有助于把真实的高峰从 Web 流量的可能整体访问增加中区分出来。

随着时间改变的请求被认为是一种 趋势 而不是一种 高峰(如图 2 所示)。

图 2. 高峰还是趋势?

请考虑这种情况:成功的公司需要更多的资源来促进增长。管理员使用 IT 增长率信息来预测额外资源的需要,并允许及时地请求那些资源。在管理良好的云计算环境中,会自动提供此功能。该环境能够满足当前的需要因为实质上它是一种弹性 IT 供应模型。

知道增加需求的速度是很重要的。通过使用云工具,使得基于增长趋势估计何时将需要更多资源成为可能。通过此信息,管理者能够更好地估计所需的额外容量以及何时需要它。

为了精确预测,管理员需要监控以下信息:

用户请求的数量

所请求虚拟机的数量

已分配的 CPU、内存和磁盘容量

CPU、内存和磁盘容量的实际消耗

总的云容量

了解分配的资源与消耗的资源之间的关系是很重要的。如果经验是正确的,则用户将很可能请求比他们实际需要多的资源。例如,如果特定虚拟机的 CPU 利用率始终不变或低于 10%,则这对于管理员考虑降低分配 CPU 的数量来说是合理的。

图 3 说明了趋势数据可用于容量规划决策的方法。

图 3. CPU 分配与使用趋势

图 3 显示了:

  • 总 CPU 容量(蓝线)
  • 已分配的 CPU(红线)
  • 实际使用的 CPU 资源(绿线)

9 月的总 CPU 容量是 500 CPU 单元。在 10 月,在更多的系统被添加到该环境中后又有 300 个其他 CPU 单元可用。已分配的线显示了 CPU 容量始终是基于用户请求而添加的(新的云计算中心的典型情景)。

已使用的容量线显示了实际使用的资源是多少。虽然 CPU 资源的请求在一条陡峭的曲线上,但是实际使用却处于 100 CPU 单元左右。通过使用此信息,管理员可以决定过度承诺了多少 CPU 资源。也就是说,在资源请求超过全部可用资源时,管理员可能决定承诺提供超过 100% 的可用资源,但是在任何给定时间上用户资源请求都少于全部可用资源。在此示例中,过度承诺了大量的 CPU 资源并仍然满足用户请求。

通过已分配的趋势线您还可以看到,似乎有理由添加 10 月添加的资源。然而,已使用的趋势线却告诉了我们不同的信息 — 它显示了即使在 10 月附加资源以前系统是 500 个总容量限制,也是具有足够的容量来满足用户请求。

对云资源的自动监控和报告使趋势得到识别且使容量规划更简单、更精确。执行这些任务的工具(如 IBM Infrastructure Planner for Cloud Computing)常常具有重要的价值,因为它们简化了流程并允许管理员快速供应所需的资源。

结束语

容量管理是云计算上下文中的重要活动。处理得当,则容量计划将为用户提供所需的计算资源以便创建创新的解决方案并满足业务应用程序的性能目标,同时促进组织的财务目标。

如今的高执行多内核服务器具有大量内存和巨大磁盘存储容量,通过使用虚拟化技术(云计算的关键组件)可以充分利用这些资源。此资源丰富的 IT 环境引导我们实现一种计划最佳资源配置的新的更好的方法。

云计算环境可轻松访问计算资源。通过精心规划,云环境可创建计算资源无限供应的外观。采用正确流程集监控并计划使用 IT 资源的组织可以使自己获得云计算的已承诺益处。

 
分享到
 
 
     


专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   

相关培训课程

云计算
Windows Azure 云计算应用开发

 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号