可伸缩性与弹性

时间:2019-01-24 10:30:57

标签: scalability elasticity

云计算中弹性与可扩展性之间的区别是什么

我从T.Erl的书中阅读(如果我正确理解的话),可伸缩性是资源根据需求增加或减少的能力,而弹性是根据资源需求自动缩放资源的能力。 在Web上进行一些搜索后(再次,如果我正确理解的话),可伸缩性是根据需求添加或删除IT资源,而弹性对于虚拟机而言几乎相同。 我应该考虑对吗?

2 个答案:

答案 0 :(得分:0)

可伸缩性是系统能够通过增加系统资源(扩大规模)或增加支持流程的系统数量(扩大规模)来支持增加的处理/流量的能力。为了可伸缩,资源和支持的处理之间的关系必须是线性的。如果系统需要四倍的资源来支持50%的用户数量增长,则系统的可伸缩性就很差。由于体系结构不良或受限,某些系统无法扩展。无论添加多少资源,您都不会得到改善(甚至可能会减少支持)。

弹性是根据系统处理需求进行放大/缩小和放大/放大的能力。例如:

  • 运输公司可能需要在假期期间增加资源,然后在假期后减少资源。
  • 一个股票交易网站在交易时间内可能非常活跃,但是在交易时段以外的访问量很少。

由于具有弹性,公司不再需要始终保持对高峰使用的支持。公司可以通过在高峰使用时增加资源来改善用户体验,并在不再需要时通过减少资源来降低成本。

有些云产品提供了弹性,而无需用户付出任何努力。您将仅看到基于使用情况的成本变化。其他产品需要您的输入。在这些情况下,弹性确实包括一些自动化功能,可以完成添加/删除资源的任务。在许多情况下,手动执行此类步骤可能会被禁止。但是,增加/减少资源的决定不一定需要自动化。这可能是一个复杂的决策,并且需要考虑自动化决策的ROI。

弹性假定可伸缩性,但这不是硬性要求。如果系统的可伸缩性较差,您仍然可以扩展以支持流量。但是,投资回报率将很糟糕。

请参阅下文AWS和Azure的弹性定义。

答案 1 :(得分:0)

要添加到上一个答案,请想象两个维度:x轴上的资源,y轴上的服务需求(吞吐量,吞吐量或其他质量标准)。系统的可伸缩性就是在理论上找到这两个维度之间的关系,而弹性则是使系统在线更改其资源以满足实际需求。

当您说系统具有可伸缩性时,您所谈论的是系统向系统中添加更多资源时处理更多/执行更多操作的能力。当您说一个系统具有弹性时,通常还会涉及一个管理层,该管理层可以根据需要配置和释放资源;)