将云的可扩展性留给自动化

44 阅读4分钟

将云的可扩展性留给自动化

云中的自动扩展可以确保企业始终拥有资源,但有时它是一个懒惰而昂贵的决定。

自动化是一个伟大的工具。与其说是解决一次问题,不如说是将解决方案自动化,自动适应不断变化的需求,不需要人工。

云的可扩展性是这方面的最好例子。我们不再需要手动配置有限的静态资源,如存储和计算。相反,我们设置了自动化(通常是为我们提供的),可以利用所需的资源数量,而开发人员或架构师甚至不需要考虑这个问题。

自动化扩展机制的数量和类型有很大的不同,但无服务器是自动化扩展性的最好例子。随着无服务器计算现在成为标准基础设施的一部分,如存储和计算资源配置,它现在也是容器、数据库和网络的一部分。许多过去是静态配置的资源现在可以 "自动神奇 "地配置并提供完成工作所需的确切数量的资源,然后在使用后将其返回池中。

很快,鉴于云供应商都在无服务器上,无服务器云服务每月都在增加,要列出非无服务器的资源数量将变得更加容易。无服务器计算市场在2020年的估计价值为72.9亿美元。此外,预计在2021年至2028年期间,它将保持21.71%的复合年增长率。预计到2028年,无服务器将达到368.4亿美元的价值。

那么问题来了,我们把可扩展性留给自动化流程,如无服务器和云原生自动扩展,在支出和资源利用方面是否总是具有成本效益和充分优化?

当然,这是一个复杂的问题。很少有一条正确的道路,围绕扩展性的自动化也不例外。

对自动化可扩展性的反击,至少是 "总是 "将其附加到基于云的系统上,以确保它们永远不会耗尽资源,是在许多情况下,系统的运行不会有成本效益,而且效率也会降低。例如,一个零售店的库存控制应用程序可能需要在假期中支持10倍的处理量。确保系统能够在季节性高峰期自动提供所需的额外容量的最简单方法是利用自动扩展系统,如无服务器或更传统的自动扩展服务。

问题出在对该具体解决方案的成本优化上。假设一个库存应用程序有内置的行为,自动扩展系统检测到它需要更多的计算或存储资源。这些资源被自动配置以支持额外的预期负载。然而,对于这个特定的应用程序,触发需要更多资源的行为实际上并不需要更多的资源。例如,CPU利用率的瞬间飙升足以触发10个额外的计算服务器上线,以支持一个并不真正需要的资源预期。你最终要为那些没有真正被利用的资源支付5到10倍的费用,即使这些资源在被配置后的片刻就被退回到资源池中。

核心问题是,使用自动扩展机制来确定资源需求并不总是最好的方法。把可扩展性仅仅留给自动化,意味着配置过多或过少资源的可能性要比根据应用的确切需求来配置资源的可能性大得多。

因此,我们可以打开自动缩放功能,让云供应商来决定,最终多花40%的钱,但从不担心可扩展性。或者我们可以做更详细的系统工程,匹配所需的资源,并以更准确和更经济的方式提供这些资源。

这里没有一个答案。有一些我建立的系统,在自动扩展的情况下更加可靠和经济。他们在使用资源方面往往更有活力,最好是有一些流程试图跟上。

但对于许多这样的用例,我们把钱留在了桌子上。大多数系统容量的计算是很好理解的,因此需要的资源数量也是很好理解的。在这些情况下,我们经常会发现,如果我们拿回对资源配置和取消配置的控制权,我们最终会采用更具成本效益的方法来进行基于云的应用部署,在几年内可以节省数十万美元。只是说说而已。