云计算中的快速弹性

2025年3月17日 | 阅读 10 分钟

弹性是可扩展性的“重命名”,可扩展性是IT架构多年来一直知道的一个非功能性需求。可扩展性是指向IT环境添加或移除容量的能力,主要是处理能力、内存或两者兼而有之。

能够根据客户对空间和其他服务的需求动态扩展所提供的服务。它是云计算的五个基本方面之一。

通常有两种实现方式

  • 水平扩展:向池(如集群或农场)添加或移除节点、服务器或实例。
  • 垂直扩展:向现有节点、服务器或实例添加或移除资源,以增加节点、服务器或实例的容量。

大多数可扩展性实现都采用水平方法,因为它是最容易实现的,尤其是在我们目前生活的基于Web的世界中。垂直扩展的动态性较差,因为它需要重新启动系统,有时还需要向服务器添加物理组件。

一个众所周知的例子是在Web服务器集群前添加一个负载均衡器来分发请求。

为什么称之为弹性?

传统的IT环境在其架构中内置了可扩展性,但很少进行向上或向下扩展。这与扩展的程度以及所需的时间、精力和成本有关。

需要购买服务器,操作需要拧入服务器机架,安装和配置,然后测试团队需要验证功能,并且只有在完成之后,您才能获得大规模的部署。您不会只购买几个月的服务器——通常是三到五年。因此,这是您的一项长期投资。

弹性也是如此,但更像橡皮筋。当需要时,“拉伸”能力,当不需要时,“释放”它。这得益于云计算的一些其他特性,例如“资源池”和“按需自助服务”。将这些特性与高级映像管理功能相结合,可以更有效地进行扩展。

三种可扩展性形式

下面我将描述我认为的三种可扩展性形式,并说明它们之间的区别。

  • 手动扩展

手动可扩展性始于预测资源集群或农场的预期工作负载,然后手动添加资源以增加容量。订购、安装和配置物理资源需要大量时间,因此预测需要提前数周甚至数月进行。它主要使用物理服务器,这些服务器是手动安装和配置的。

手动可扩展性的另一个缺点是,移除资源不会带来成本节省,因为物理服务器已经付过款了。

  • 半自动扩展

半自动可扩展性利用了虚拟服务器,这些服务器使用预定义的映像进行配置(安装)。手动预测或系统监控工具的自动警告将触发操作来扩展或缩减资源集群或农场。

使用预定义、经过测试和批准的映像,每个新虚拟服务器都与其他服务器相同(除了一些小的配置),这为您提供了可重复的结果。它还大大减少了系统上的手动操作,众所周知,系统上的手动操作会导致所有错误的 70% 到 80%。使用虚拟服务器也有巨大的好处,它在虚拟服务器被解除配置后可以节省成本。释放的资源可以直接用于其他目的。

  • 弹性扩展(全自动扩展)

弹性,或全自动可扩展性,利用了半自动可扩展性所使用的相同概念,但消除了增加或减少容量所需的任何手动操作。一切都由系统监控工具的触发器控制,这为您带来了“橡皮筋”效果。如果现在需要更多容量,它将在几分钟内添加。根据系统监控工具,容量会立即减少。

云计算中的可扩展性与弹性的区别

想象一家位于绝佳地段的餐厅。它可以容纳多达 30 位顾客,包括户外座位。顾客全天来来往往。因此,餐厅很少会超过其座位容量。

餐厅增加和减少其座位容量

在其座位区域范围内。但当更多的人带着食欲涌来时,工作人员会为午餐和晚餐增加一两张桌子。然后他们会移开桌椅以腾出空间。

附近的一家中心会举办一年两次的活动,吸引数百人参加为期一周的会议。

在会议周期间,餐厅的客流量经常会增加。需求通常很高,以至于不得不赶走顾客。它经常会因为客户流失而输给附近的竞争对手。餐厅连续两年让这些潜在客户失望。

弹性使云服务客户能够节省成本,而成本节省通常是采用云服务的首要原因。

根据云服务类型,有时会为与云服务提供商签订的长期合同提供折扣。如果您愿意支付更高的价格而不被锁定,您将获得灵活性。

让我们看一些我们可以使用它的例子。

云快速弹性示例 1

假设有一个为期三个月的项目需要 10 台服务器。公司可以在几分钟内提供云服务,支付少量月度运营支出(OpEx)费用来运行它们,而不是大笔的预付资本支出(CapEx)费用,并在三个月结束时免费将其退役。

我们可以将其与云计算出现之前进行比较。假设客户带着相同的机会来找我们,而我们必须采取行动来抓住这个机会。我们不得不以巨大的资本成本再购买 10 台服务器。

当项目在三个月结束时完成时,我们会有剩余的服务器,而我们不再需要它们了。这不经济,这可能意味着我们不得不放弃这个机会。

由于云服务更具成本效益,我们更有可能抓住这个机会,从而使我们比竞争对手更具优势。

云快速弹性示例 2

假设我们是一家电子商务商店。在圣诞节期间,我们可能会迎来更多的季节性需求。随着需求的增长,我们可以使用云计算自动启动新的服务器。

它通过监控服务器的 CPU、内存、带宽等的负载来工作。当达到某个阈值时,我们可以自动向池中添加新服务器以帮助满足需求。当需求再次下降时,我们可能会有一个较低的限值,低于该限值时我们会自动关闭服务器。我们可以利用它来自动进出我们的资源,以满足当前的需求。

基于云的软件服务示例

如果我们只需要在短时间内使用基于云的软件,我们可以为此付费,而不是购买一次性永久许可证。大多数软件即服务公司都提供一系列定价选项,支持不同的功能和时长,您可以选择最经济高效的。

通常会有月度定价选项,因此如果您需要偶尔访问,您可以按需付费。

云弹性的目的是什么?

云弹性有助于用户避免过度配置或配置不足的系统资源。过度配置是指您购买的容量超过了您需要的容量。

Rapid Elasticity in Cloud Computing

配置不足是指分配的资源少于您使用的资源。

Rapid Elasticity in Cloud Computing

过度配置会导致云成本浪费,而配置不足可能导致服务器在可用服务器过载时发生故障。服务器停机会导致收入损失和客户不满,这对企业不利。

通过弹性进行扩展提供了一个折衷方案。

Rapid Elasticity in Cloud Computing

弹性非常适合短期需求,例如处理网站流量高峰和数据库备份。

但是,当与可扩展性结合使用时,弹性云也有助于简化服务交付。例如,通过在同一服务器上启动额外的虚拟机,您可以增加该服务器处理动态工作负载激增的能力。

那么,云弹性如何在商业环境中发挥作用?

快速弹性用例和示例

在工作中,电子商务、保险和流媒体服务是云弹性的三个绝佳示例。

用例一:保险。

假设您从事汽车保险业务。也许您的客户每年大约在同一时间更新汽车保单。保单持有人会争先恐后地在续期截止日期前完成。届时,您可以预期流量会激增。

如果仅依赖可扩展性,流量高峰会迅速压垮您配置的虚拟机,导致服务中断。这将导致收入损失和客户流失。

但是,如果您“租用”了几台额外的虚拟机,您就可以在整个保单续期期间处理流量。因此,您将拥有多个可扩展的虚拟机来实时管理需求。

保单持有人不会注意到性能有任何变化,无论今年为您服务的客户数量是否比去年多。为了减少云支出,当您不再需要它们时(例如在非高峰月份),您可以将其中一些释放回虚拟机。

弹性云平台将使您能够做到这一点。它只会按使用量收费,而不是按您使用的虚拟机数量收费。

用例二:电子商务。

您的意识营销活动执行得越有效,您就可以期待潜在买家产生更多的兴趣。假设您在周年纪念日、黑色星期五或科技庆典期间推出限时笔记本电脑优惠。您可以在此期间预期流量和服务器请求会增加。

新买家将注册新账户。这将在营销活动期间给您的服务器带来比一年中大多数时候更大的负载。

现有客户也将重新访问旧愿望清单中的购物车,或尝试兑换累积的积分。

借助弹性平台,您可以提供更多资源来应对高节日季的需求。之后,您可以将多余的容量退还给云服务提供商,并保留在日常运营中可行的部分。

用例三:流媒体服务。

Netflix 可能是这里最好的例子。当流媒体服务发布《纸牌屋》第二季全部 13 集时,观看人数占 Netflix 订阅用户的比例从第一季首映周末的 2% 跃升至 16%。

这些订阅用户在那周五的七到十小时内观看了其中一集。现在,Netflix 拥有超过 5000 万订阅用户(截至 2014 年 2 月)。因此,观看人数增加 16% 意味着在工作日的一天内,超过 800 万订阅用户观看了该剧的一部分。

Netflix 的工程师们一再表示,他们利用 AWS 的弹性云服务,在短时间内以零停机时间处理了许多此类服务器请求。

要点: 如果您的云服务提供商默认提供云弹性,并且您已在账户中启用了该功能,则平台将随时为您分配无限的资源。这意味着您将能够处理意外和预期的工作负载高峰。

云弹性的优点和局限性

云弹性具有许多强大的优势。

  • 弹性平衡了性能与成本效益

弹性云提供商提供系统监控工具,用于跟踪资源使用情况。然后,它们会自动分析资源分配与使用情况。目标始终是确保这两个指标匹配,以确保系统以成本效益最高的方式发挥最佳性能。

云服务提供商还采用按使用量付费的模式,让您只需为实际使用的付费,不多付一分钱。按需扩展的模式允许您添加新的基础设施组件,为增长做好准备。

  • 它有助于提供流畅的服务。

云弹性与云可扩展性相结合,确保客户和云平台都能在需要时满足不断变化的计算需求。

对于云平台来说,弹性有助于保持客户满意。

虽然可扩展性有助于处理长期增长,但弹性当前可确保无缝的服务可用性。它还有助于防止系统过载或由于过度配置导致云成本失控。

但是,云弹性的局限性或缺点是什么?

云弹性可能不适合所有人。如果您在线产品的需求相对稳定,那么单独的云可扩展性可能就足够了。

例如,如果您经营一家业务,但没有经历季节性或偶尔的服务器请求高峰,那么您可能不介意使用没有弹性的可扩展性。请记住,弹性需要可扩展性,反之则不然。

但是,没有人能预料到您可能需要抓住公司突然的兴趣浪潮。那么,当您需要抓住这个机会但又不想破坏您的云预算时,您该怎么办?这时就需要云成本优化。

云成本优化与云弹性有何关系?

弹性利用动态变化,使计算资源尽可能贴近工作负载的需求,以防止浪费并提高成本效益。另一个目标通常是确保即使在承受大量、突然的工作负载时,您的系统也能继续令客户满意。

但并非所有云平台服务都支持云弹性的扩展和收缩。

例如。 一些 AWS 服务包含弹性作为其产品的一部分,例如 Amazon Simple Storage Service (S3)、Amazon Simple Queue Service (SQS) 和 Amazon Aurora。Amazon Aurora 被视为无服务器弹性,而 Amazon Elastic Compute Cloud (EC2) 等其他服务则与 Amazon Auto Scaling 集成并支持弹性。

无论您是否使用弹性服务来动态降低云成本,您都希望提高云成本可见性,而 Amazon Cloud Watch 无法提供这种可见性。

CloudZero 允许工程团队跟踪和监控驱动其产品、设施等的特定成本和服务。您可以按功能、产品、服务或帐户对成本进行分组,以揭示有关云成本的独特见解,这些见解将帮助您解答什么在变化、为什么会发生变化以及为什么您想了解更多。

您还可以衡量和监控您的单位成本,例如每位客户的成本。这里是 Cloud Xero 的每位客户成本报告,您可以从中揭示有关客户的重要成本信息,这有助于指导您的工程和定价决策。