弹性伸缩的优势
弹性伸缩服务可根据用户的业务需求,通过策略自动调整其业务的资源。具有自动调整资源、节约成本开支、提高可用性和容错能力的优势。适用以下场景:
- 访问流量较大的论坛网站,业务负载变化难以预测,需要根据实时监控到的云服务器CPU使用率、内存使用率等指标对云服务器数量进行动态调整。
- 电商网站,在进行大型促销活动时,需要定时增加云服务器数量和带宽大小,以保证促销活动顺利进行。
- 视频直播网站,每天14:00~16:00播出热门节目,每天都需要在该时段增加云服务器数量,增大带宽大小,保证业务的平稳运行。
自动调整资源
弹性伸缩能够实现应用系统自动按需调整资源,即在业务增长时能够实现自动增加实例数量和带宽大小,以满足业务需求,业务下降时能够实现应用系统自动缩容,保障业务平稳运行。
- 按需调整云服务器资源
向应用系统中添加弹性伸缩,能够实现按需调整资源,即能够实现在业务增长时增加实例,业务下降时减少实例,这样加强了应用系统的成本管理。调整资源主要包括以下几种方式:
- 动态调整资源
动态调整资源是通过告警策略的触发来调整资源。详细内容请参阅动态扩展资源。
- 计划调整资源
计划调整资源是通过定时策略或周期策略的触发来调整资源。详细内容请参阅按计划扩展资源。
- 手工调整资源
通过修改期望实例数或手动移入、移出实例来调整资源。详细内容请参阅手动扩展资源。
例如,运行在公有云上的基本Web应用程序。此应用程序允许乘客购买火车票。在每年中期时段,人员流动性较低,此应用程序的使用率较低。每年年底和年初,人员流动性较高,因此对此应用程序的需求会显著提高。一般系统会采用添加足够多的服务器,如图1所示,或添加处理应用程序平均需求所需的容量,如图2所示,来满足业务需求。但这两种方案会造成资源浪费或无法满足高峰期的需求。当您给应用程序中添加弹性伸缩后,弹性伸缩会自动根据需求调整服务器的数量,如图3所示,为您节约成本并且满足高峰期的需求。
- 动态调整资源
- 按需调整带宽资源
弹性伸缩能够实现按需调整带宽,即能够实现在业务增长时扩大带宽,业务下降时减小带宽,加强了应用系统的成本管理。
您可以根据实际情况选择如下伸缩带宽策略来实现按需调整IP带宽:
- 告警策略
- 定时策略
- 周期策略
以告警策略的使用为例说明如下:
某视频直播网站,在不同时间段业务负载变化难以预测,需要根据出网流量、入网流量等指标在10Mbit/s到30Mbit/s之间动态调整带宽资源。弹性伸缩可以实现自动按需调整带宽,很好的解决这个问题。您只需选择需要调整的弹性公网IP,同时创建两个告警策略,一个策略设置在出网流量大于XXXbyte时,增加2Mbit/s,限制值为30Mbit/s;另一个策略在出网流量小于XXXbyte时,减少2Mbit/s,限制值为10Mbit/s。
- 按可用区均匀分配实例
按可用区均匀分配实例是指尽可能地将实例均匀的分布在不同的可用区中,来降低电力、网络等可能出现的故障对整个系统稳定性的影响。
区域指弹性云服务器云主机所在的物理位置。每个区域包含许多不同的称为“可用区”的位置,即在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。每个可用区都被设计成不受其他可用区故障影响的模式,并提供低价、低延迟的网络连接,以连接到同一地区其他可用区。
伸缩组可以包含来自同一区域的一个或多个可用区的实例。在资源调整时,弹性伸缩会通过实例分配和再均衡两种方法尽可能的将实例均匀分配到可用区中。
实例分配
弹性伸缩尝试在为伸缩组使用的可用区之间均匀分配实例。弹性伸缩通过尝试向实例最少的可用区中移入新实例来实现此目标。
例如,伸缩组目前有四个实例均匀分布在两个可用区内,若该伸缩组下一个伸缩活动增加四个实例时,会在两个可用区内分别增加两个实例,以实现可用区之间均匀分配实例。
图4 均匀实例分配再均衡
手工加入或移出实例后,伸缩组中的实例没有均匀分配在可用区时,后续进行的伸缩活动会优先在可用区内均匀分配实例。
例如,伸缩组中目前有三个实例分布在两个可用区内,若该伸缩组下一个伸缩活动增加五个实例时,会在有两个实例的可用区内增加两个实例,在有一个实例的可用区增加三个实例,以实现可用区之间均匀分配实例。
图5 再均衡
加强成本管理
弹性伸缩能够实现按需使用实例和带宽,并自动调整系统中的资源,节省了资源和人为调整资源带来的损耗,为您最大程度节约了成本。
提高可用性
弹性伸缩可确保应用系统始终拥有合适的容量以满足当前流量需求。当弹性伸缩和负载均衡器结合后,伸缩组会自动地为新加入的实例绑定负载均衡监听器。访问流量将通过负载均衡监听器自动分发到伸缩组内的所有实例。
弹性伸缩和负载均衡结合使用
当您在使用弹性伸缩时,业务增长时应用系统自动扩容,业务下降时应用系统自动缩容,在伸缩组添加和删除实例时,须确保所有实例均可分配到应用程序的流量。弹性伸缩和负载均衡结合使用可以解决这个问题。
使用负载均衡后,伸缩组会自动地将加入伸缩组的实例绑定负载均衡监听器。访问流量将通过负载均衡监听器自动分发到伸缩组内的所有实例,提高了应用系统的可用性。若伸缩组中的实例上部署了多个业务,还可以添加多个负载均衡监听器到伸缩组,同时监听多个业务,从而提高业务的可扩展性。
提高容错能力
弹性伸缩可以检测到应用系统中实例的运行状况,并启用新实例以替换运行状况不佳的实例。