云计算中弹性和可伸缩性的区别是什么?
我从T.Erl一书中读到(如果我理解正确的话),可伸缩性是资源按需求增加或减少的能力,而弹性是根据资源的需求自动缩放资源的能力。在网络上搜索后(如果我理解正确的话),可伸缩性是关于根据需求添加或删除it资源,除了虚拟机器之外,弹性大致相同。我应该认为哪一个是对的?
发布于 2020-06-01 02:09:46
Scalability是指系统能够通过增加系统资源(向上扩展)或增加支持进程的系统数量(向外扩展)来支持增加的处理/流量的能力。为了具有可伸缩性,资源和支持的处理之间的关系需要是线性的。如果一个系统需要四倍的资源来支持50%的用户增长,那么它的可扩展性就很差。由于糟糕或有限的体系结构,一些系统不可伸缩。无论添加多少资源,您都不会得到改进(甚至可能会遇到支持减少)。
Elasticity是根据系统的处理需求进行向上/向下和向外/向内扩展的能力。例如:
由于弹性,公司不再需要一直保持对高峰使用的支持。公司可以通过在使用高峰时增加资源来改善用户体验,并在不再需要资源时通过减少资源来降低成本。
有一些云产品包括弹性,而不需要消费者的努力。您将简单地看到基于使用的成本变化。其他产品需要您的输入。在这些情况下,弹性确实包括一些自动化,以完成添加/删除资源的任务。在许多情况下,手动执行这些步骤将是禁止的。然而,增加/减少资源的决策不一定需要自动化。这可能是一个复杂的决策,需要考虑自动化决策的ROI。
弹性假设可伸缩性,但这不是硬要求。如果系统的可伸缩性较差,您仍然可以扩展以支持流量。然而,ROI将是可怕的。
请参阅下面来自AWS和Azure的弹性定义。
发布于 2020-10-01 20:12:03
为了补充前面的答案,假设有两个维度:x轴上的资源,y轴上的服务需求(吞吐量、产出或其他质量标准)。系统的可伸缩性在于(理论上)找到这两个维度之间的关系,而弹性则在于使系统在线更改其资源以满足实际需求。
当你说一个系统是可伸缩的时,你指的是当你增加更多的资源时,系统处理更多/做更多事情的能力。当你说一个系统是弹性的,那么通常还涉及到一个管理层,它根据需要提供和释放资源;)
https://stackoverflow.com/questions/54344505
复制相似问题