【问题标题】:Scalability vs elasticity可扩展性与弹性
【发布时间】:2019-06-18 01:29:43
【问题描述】:

云计算中弹性和可扩展性的区别是什么

我从 T.Erl 的书中读到(如果我理解正确的话),可伸缩性是资源根据需求增加或减少的能力,而弹性是根据资源需求自动扩展资源. 在网络上进行一些搜索后(如果我理解正确的话),可扩展性是关于按需求添加或删除 IT 资源,弹性大致相同,但对于虚拟机器。 我应该考虑哪个对?

【问题讨论】:

    标签: scalability elasticity


    【解决方案1】:

    可扩展性是系统能够通过增加系统资源(向上扩展)或增加支持流程的系统数量(向外扩展)来支持增加的处理/流量的能力。为了可扩展,资源和支持的处理之间的关系需要是线性的。如果一个系统需要四倍的资源来支持增加 50% 的用户数量,那么它的可扩展性就会很差。一些系统由于糟糕或有限的架构而无法扩展。无论添加多少资源,您都不会得到改进(甚至可能会减少支持)。

    弹性是响应系统处理需求而按比例放大/缩小和缩小/缩小/缩小的能力。例如:

    • 航运公司可能需要在节假日期间增加资源,然后在节后减少资源。
    • 股票交易网站在交易时间可能非常活跃,但在交易时间以外的流量很少。

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

    有些云产品包含弹性,消费者无需付出任何努力。您只会看到基于使用的成本变化。其他产品需要您的输入。在这些情况下,弹性确实包括一些自动化来完成添加/删除资源的任务。在许多情况下,手动执行这些步骤是令人望而却步的。然而,增加/减少资源的决定不一定需要自动化。这可能是一个复杂的决策,需要考虑自动化决策的投资回报率。

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

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

    【讨论】:

      【解决方案2】:

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

      当您说系统是可扩展的时,您是在谈论系统处理更多/做更多的能力,当您向其添加更多资源时。当您说系统是弹性的时,通常还涉及一个管理层,该管理层根据需要提供和释放资源;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-24
        • 2012-05-03
        • 2014-01-17
        • 1970-01-01
        • 2011-03-22
        相关资源
        最近更新 更多