什么是自动扩展?

在初创公司工作的年轻商务人士

作者

Gita Jackson

Staff Writer

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

什么是自动扩展?

自动扩展(有时也称为“自动伸缩”)是一种云计算功能,可根据系统需求自动分配计算资源。

使用自动扩展功能可确保应用程序拥有保持一致可用性并实现性能目标所需的资源,还能促进云资源的高效利用,最大限度地降低云成本。

根据 Infosys 2023 年的白皮书,迁移到云的组织浪费了大约 32% 的云成本。1 由于自动扩展注重资源的高效利用,因此成为了成功的 FinOps 实践中非常实用的组成部分。

组织在配置云基础架构时,会根据计算、存储和网络资源需求的“基线”配置资源。但是,需求会随着网络流量或应用程序使用量的激增或下降而波动。自动扩展功能可以根据 CPU 占用率或可用带宽等特定指标来扩展资源(无需人工干预),以满足实时需求。

自动扩展可以通过多种方式来优化资源分配。例如,预测性扩展使用历史数据来预测未来的需求。或者通过动态扩展,根据组织的自动扩展策略实时响应资源需求。

自动扩展策略可自动执行云计算实例的生命周期,根据需要启动和停止虚拟机,协助解决资源需求。自动扩展通常与弹性负载均衡一起使用,以便充分利用可用的云资源。

高速公路鸟瞰图

在云端保持清醒头脑 


获取每周 Think 时事通讯,了解有关在 AI 时代优化多云设置的专家指导。

负载均衡与自动扩展

虽然自动扩展与负载均衡相关,但两者并不完全相同。这两个过程都会影响后端资源的分配,都可用于优化性能以及避免过度配置,并且经常结合使用。

负载均衡器将传入流量分配给多台服务器,以减少任何特定服务器上的负载。负载均衡器通常会提供运行状况检查等功能,帮助将流量从运行状况不良的实例引导到运行状况良好的实例。均衡流量负载有助于提高云环境中应用程序的性能。

相比之下,自动扩展会根据需求调整系统容量,从而保持一致的性能并避免过度配置资源(即仅使用所需的资源)。自动扩展可根据资源需求和组织制定的自动扩展策略新增(或终止)服务器或计算实例。

AI 学院

利用混合云实现 AI 就绪

本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。

自动扩展的工作原理

大多数云供应商,如 IBM® Cloud、Amazon Web Services(有时称为 AWS Cloud)、Microsoft Azure 和 Oracle Cloud Infrastructure,都在自己的云平台上提供了自动扩展服务。这些服务可以帮助组织配置自动扩展策略,以满足组织的云计算需求和目标。

不同供应商和平台的功能和定价不同,组织可以使用的资源和用例有所差异,但自动扩展的工作原理通常如下:

该过程的第一步为启动配置或基线部署,基线部署是指部署一种(或多种)具有特定容量和性能功能的实例。这一部署通常通过 API 调用和基础设施即代码 (IaC) 来完成,IaC 是利用代码根据预定义规范提供和配置 IT 基础设施元素的过程。

组织根据实例的预期工作量确定期望容量以及实例需要的属性类型。在设置自动扩展策略时,组织可以设置计算、存储或网络使用的目标和阈值,一旦达到这些阈值,就会自动触发指定操作,从而更精确地满足当前资源需求。如果需要,可以将策略配置为每次启动扩展操作时发送通知。

自动扩展组

组织还可以建立实例组,为指定的工作负载维护最小或最大数量的实例,还可以将不同实例类型组合在一起,以便处理不同类型的工作负载。实例类型包括:2

通用型实例

通用型实例专为各种工作负载而设计,包括 Web 服务器、小型数据库以及开发和测试环境。

计算优化型实例

这类实例针对计算密集型工作负载(例如高性能计算、批处理和科学建模)进行了优化,使用 GPU 和高核数 CPU 最大限度提高了计算能力。

内存优化型实例

这类高内存实例适用于内存密集型工作负载,例如高性能数据库、分布式内存缓存、实时数据处理以及大数据分析。

存储优化型实例

这类实例针对大数据、数据仓库和日志处理等存储密集型工作负载进行了优化,利用大容量缓存和固态硬盘 (SSD) 来支持工作负载的高强度读写活动。

利用具有混合实例类型的自动扩展组,CloudOps 和 DevOps 开发运维团队能够更加精确高效地满足资源需求。例如,如果带宽需求得到了适当满足,但 CPU 使用量超过了自动扩展策略中设定的阈值,系统可以激活更多特定于计算的实例。同时,专用于处理网络流量的实例保持不变。

一旦团队了解了工作负载需求,他们甚至可以为新实例创建启动配置模板。这些模板可定义实例类型、配置参数和其他用于启动新实例的策略,以及这些策略如何对整个云环境做出贡献。这样组织就能完全自动执行虚拟机的生命周期。

自动扩展的类型

有几种不同类型的扩展以及不同自动扩展方法:

水平扩展

水平扩展也称为“横向扩展”,需要向云计算环境添加更多机器或节点。还可以进行缩减,减少环境中的节点数。

垂直扩展

垂直扩展也称为“纵向扩展”,是指增加当前云计算环境中现有节点的处理能力(例如 RAM、CPU、存储)的过程。

自动扩展可采用预测性、动态或计划性扩展策略。

预测性扩展

预测性扩展策略是利用人工智能 (AI) 和机器学习并根据历史利用率来预测未来的资源需求。

例如,预测性自动扩展策略可能会确定电子商务公司在假日购物季之前网络流量增加的可能性。它可能会根据设置的策略进行横向扩展或纵向扩展。这种方法可以帮助主动减少网络延迟和停机时间。

动态扩展

动态扩展策略是指在出现资源需求时做出反应,根据实时利用率调整资源分配。通过动态扩展策略,组织可以向特定节点或自动扩展组发送更多资源。组织也可在达到特定阈值(例如 CPU 使用百分比)时启动更多实例。

例如,如果组织运行的 Web 应用程序会不定期消耗大量资源,则可以使用动态扩展策略来根据需要调整资源可用性。动态扩展通常伴随着冷却期,在此期间,如果出现额外的流量高峰,仍然可以增加可用资源。

计划性扩展

计划性自动扩展策略根据预定计划来分配资源。例如,如果组织知道晚上的流量或资源需求比早上高得多,则可以设置自动扩展策略来满足该需求。

自动扩展的优点

只要实施得当,自动扩展就能在优化组织的云计算环境和降低总体云成本方面发挥重要作用。

通过建立稳健的自动扩展策略,组织可以降低对手动配置的依赖,确保系统具有更一致的性能。

最大限度减少基础架构的手动配置

自动扩展支持云环境实时响应资源需求,无需人工干预。这比手动扩展效率更高。自动扩展有助于减轻员工倦怠,提高配置和供应的一致性,让员工能够腾出时间来完成更有价值的任务。

提高可扩展性

自动扩展让组织能够更无缝地扩展其云计算环境和功能,无需专门安排额外人员来监控和配置资源。

提供一致的性能

自动扩展可确保云环境拥有所需的计算、网络和存储资源,无论活动或需求如何,都有助于云服务保持一致、可靠的性能。

改善用户体验

Web 应用程序和网络性能的一致性更高,则用户服务水平更加一致。

降低云计算成本

依靠手动资源配置时,组织通常会将过度配置作为预防措施,只是为了确保在需求高峰时有可用资源。通过使用可以自动扩展计算、网络和存储资源以满足实时需求的平台,组织可以避免过度配置。这种方法确保他们只使用他们需要的东西,从而降低云服务费并提高投资回报率。

相关解决方案

IBM Cloud 免费套餐

创建免费 IBM Cloud 帐户并访问 40 多种始终免费的产品,包括 IBM Watson API。

创建帐户
IBM Cloud

IBM Cloud 是专为受监管行业设计的企业云平台,提供 AI 就绪、安全的混合解决方案。

深入了解云解决方案
云咨询服务

利用 IBM 的云咨询服务发掘新功能并提升业务敏捷性。了解如何通过混合云战略和专家合作共同制定解决方案、加快数字化转型并优化性能。

云服务
采取后续步骤

利用 IBM 安全可扩展平台释放 AI 和混合云的全部潜力。首先深入了解我们的 AI 就绪解决方案,或创建免费帐户,以访问始终免费的产品和服务。

深入了解 IBM® Cloud AI 解决方案 创建免费的 IBM Cloud 账户
脚注

1云成本优化”,Sarika Nandwani,Infosys.com,2023 年。

2 AWS EC2 实例类型:在 AWS 中托管应用程序的挑战和最佳实践”,Christopher Graham,2023 年 8 月 23 日。