在云中运行工作负载可以使组织访问无限的资源。这是一件好事,但前提是组织的IT团队需要采用良好的容量管理实践。
云计算模型的最大好处之一是它支持高度灵活和动态的资源使用。云计算用户根据需要采用任意数量的资源,并且可以根据需求的变化自由调整其消耗量。
这并不意味着云平台能够自动优化资源分配。对于大多数类型的云计算服务,由用户来确定在任何时刻的云计算工作负载将需要多少资源。AWS Aurora是解决这个问题的一种尝试,它会根据工作负载需求自动分配资源。
云计算容量管理对于有效的IT策略至关重要。它为开发人员、IT团队和DevOps工程师提供了所需的见解,以确保其工作负载具有所需的资源。同时,它减少了以浪费预算和增加不必要的管理开销的方式来减少过度配置工作负载的风险。
为什么云计算需要容量管理
考虑采用托管多个Web应用程序的云计算服务器。适当的容量管理可以确保服务器在虚拟服务器实例上运行,该实例具有足够的CPU、内存和存储资源来支持应用程序,但不会导致大量资源闲置。
容量管理的另一个方面是确定在共享托管应用程序责任的集群中要采用多少服务器。在这种情况下,IT团队必须确保包括足够多的服务器来处理应用程序上的负载,并保持足够的备份系统,以确保应用程序在某些服务器崩溃时仍然可用。
这种平衡行为是容量管理的关键。组织希望避免无法充分执行和分配工作负载的情况,以及避免分配不需要的资源。
Azure为用户提供了云计算成本管理工具。但是,有效的容量管理不仅仅是优化性能和成本的一种方式。它有助于:
深入了解长期IT规划。例如,容量管理可以帮助确定将哪些工作负载转移到云端。具有快速变化能力的工作负载是云平台的理想选择,可以在云中轻松地按比例扩大和缩小资源分配。
确定哪些基础设施和应用程序体系结构符合组织的需求。例如,如果组织的虚拟服务器的容量需求经常波动,那么可能会发现无服务器功能将是承载其工作负载的更好方法。与虚拟服务器相比,无服务器功能使组织能够以更具成本效益、更易于管理的方式在短期内分配大量资源。
安排合适的人员和工具。这是组织了解需要分配给工作负载多少资源的第一步。重要的是要确定组织是否具有分配这些资源所必需的资源。组织将需要工作人员来执行必要的配置,这些工作人员应具有使用组织用来管理资源分配的工具的必要技能。
避免对用户造成干扰。当应用程序的工作负载为特定的问题做好准备时,以及当组织的工作负载能力得到很好的管理时,就可以将应用程序或服务器发生故障的风险降到最低。
尽管它已成为IT工作流程的一部分,但自从云计算出现以来,容量管理就变得尤为重要。这是因为可扩展性是组织决定迁移到云平台决策中的关键因素。为了充分利用可扩展性,IT团队必须有效且连续地管理资源利用率。如果不能,他们将错过云计算架构的主要优势之一。这样的组织可能会坚持其采用内部部署架构。
管理云计算容量的步骤
云计算架构和服务的性质千差万别,因此没有单一或简单的方法来处理云计算容量。但是,总的来说,有效的云计算容量管理策略将涉及以下几个关键步骤:
(1) 评估基准容量要求
首先,确定团队需要多少云计算服务器、应用程序实例、数据库等来保持足够的性能。组织需要知道每个工作负载需要多少CPU、内存和存储资源——这些是组织的基本容量需求。重要的是要记住,组织不应该使用这个基准来进行资源分配,尤其是在工作负载的需求经常波动的情况下。不过,了解基准为容量规划提供了一个起点。
(2) 评估可扩展性需求
了解了云中运行的每个工作负载的基准要求之后,需要检查它们所需的可扩展性。评估一天中不同时间、一周中的几天或一年中不同季节之间的工作负载需求发生了多少变化。组织的某些云计算工作负载将比其他云计算工作负载具有更高的可扩展性要求。例如,用户群分布全球的网站可能不会像针对特定地理位置的用户的网站那样出现太大的波动,而在该地区的白天时段,这类网站的需求量可能最多。同样,提供送餐服务的网站在进餐时间可能会比一天中的其他时间承受更高的负荷。
(3) 进行初始资源分配
对于尚未在云中运行的工作负载,组织需要在启动它们之前设置初始资源分配。计划为每个工作负载分配比基准要求所指示的资源多出20%的资源。这样可以在需求突然迅速增长的情况下提供良好的缓冲,但又不会导致环境的过度配置。
(4) 设置自动扩展策略
主流公共云提供商允许组织创建所谓的自动扩展策略。有了这些策略,云平台将根据组织在策略中配置的流量阈值自动增加或减少分配给工作负载的资源。组织可以将自动扩展策略应用于大多数类型的云计算工作负载,包括虚拟机实例、数据库、容器和无服务器功能。但是,某些特定领域的云计算工作负载(例如物联网设备)通常无法使用自动扩展进行管理。
(5) 收集和分析容量数据
无论组织是否为工作负载配置自动扩展,重要的是不断评估分配的工作状况并进行相应调整。组织需要考虑以下指标和因素:
•组织的自动扩展策略多久触发一次?如果由于组织的工作负载从未达到自动扩展的最低阈值而很少应用这些负载,则这些工作负载可能已经超量配置。现在可能是重新配置阈值的时候了。
按月账单反映的实际云计算成本与预期成本相比如何?超出成本预期是组织管理容量很好的一个标志。当组织发现云计算支出过高时,可能会在容量管理方面做得更好。
组织多久遇到一次与容量或资源分配有关的中断或停机?
组织的团队多久进行一次人工干预以更正容量问题?组织可以通过更密集的自动扩展来减少对人工更改的需求,或者将工作负载迁移到其他类型的体系结构,例如无服务器。
组织为每个工作负载确定的基准工作负载要求和预期的可扩展性需求是否与实际性能保持一致?
规划长期的云计算容量更改
以上策略将帮助组织每天管理云计算容量。此外,还需要针对长期的容量需求进行规划,以便企业的IT基础设施能够随着时间的推移适当地发展,以满足不断变化的工作负载需求。
传统上,长期容量管理集中于新服务器、存储介质和其他内部数据中心基础设施的购买和部署过程。这与云计算无关,在云平台中,服务提供商已经进行了大规模的投资,并提供了与任何客户需求一样多的基础设施。
取而代之的是,云计算的长期容量管理应着重于如何随着时间的推移适应不断变化的容量需求。例如,如果现在只使用一个云平台,需要评估组织对长期工作负载的期望,并考虑采用多云策略来满足未来的容量需求是否有意义。或者,组织可能决定通过重构应用程序使其在容器内作为微服务运行,从而提高组织的长期容量效率。
云计算容量管理工具
云计算容量管理是一个复杂的、多方面的过程,没有一种万能的工具可以满足组织所有的容量规划需求。多种工具可以帮助组织完成此过程,其中包括:
监视和日志管理。通过监视和日志记录工具(例如AWS CloudWatch、Azure Monitor和第三方监视平台)收集的数据可以帮助组织跟踪性能趋势,并提醒不断变化的容量需求。
基础设施即代码。基础设施即代码工具可自动进行基础设施设置和资源分配,因此,根据容量变化重新配置分配变得更加容易和快捷。
成本计算器。为了管理容量规划的财务方面,云计算提供商提供的成本预测工具非常有用。他们可以帮助评估与不同资源分配或工作负载类型相关的成本。
调整大小和成本管理。云计算提供商提供了旨在帮助预测容量需求的工具。AWS和Microsoft Azure都提供成本管理工具。一些第三方应用程序性能管理(APM)工具还提供了调整大小的功能。
容量管理在任何IT环境中都很重要,但是如果组织希望充分利用云计算环境,这一点尤其重要。尽管没有一个万能的云计算容量规划方法,但多种技术和策略的组合将帮助组织确保准确评估容量需求,即使是对于在云计算基础设施上运行的快速变化的工作负载也是如此。