弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即ECS或ECI实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。更多阅读:如何使用阿里云弹性伸缩组管理你的ECS实例?
为什么选择弹性伸缩
当您的业务需求量有波动时,弹性伸缩能够帮助您自动调整指定类型的实例数量,满足业务需求。弹性伸缩能为您提供以下优势:
- 自动化:
- 弹性扩张时,自动创建指定类型的实例,并为该实例关联负载均衡服务。如果指定类型是ECS实例,还支持为该实例自动关联RDS实例。
- 弹性收缩时,自动移出指定类型的实例,并为该实例取消关联负载均衡服务。如果指定类型是ECS实例,还支持为该实例自动取消关联RDS实例。
- 降成本:无需投入大量人力来调整计算资源,无需提前预备计算资源,也无需担心不能及时释放冗余资源。弹性伸缩在适当的时间进行伸缩任务,降低资源拥有成本。
- 高可用:无需担心ECS或ECI实例的运行状态。弹性伸缩提供健康检查功能,在ECS或ECI实例不健康,即实例未处于运行中状态时,自动增加相应类型的实例替换不健康的实例。
- 灵活智能:
- 支持指定提供计算能力的实例类型,即ECS或ECI实例。
- 支持多伸缩模式兼容,可灵活调度应对各种复杂场景。伸缩模式包括固定数量、健康、定时、动态、自定义等,其中动态模式支持通过API对接外部的监控系统。
- 支持灵活的ECS实例模板,可以设置多实例规格、多磁盘类型,提高创建ECS实例的成功率。
- 支持丰富的扩缩容策略,可灵活适用于各种业务场景。
- 易审计:弹性伸缩支持记录每个伸缩活动,提供伸缩组监控功能,有助于您快速定位问题根源。
一、计算弹性
纵向的弹性,即单个服务器的配置变更。当您购买了云服务器或者存储的容量后,可以根据业务量的增长或者减少自由变更自己的配置。
横向的弹性。对于游戏应用或直播平台出现的高峰期,可以使用弹性的方式帮助客户度过这样的高峰。当业务高峰消失时,您可以将多余的资源释放掉,以减少业务成本的开支。利用横向的扩展和缩减,配合云计算的弹性伸缩,完全可以做到定时定量的伸缩,或者按照业务的负载进行伸缩。
二、存储弹性
当存储量增多时,对于传统的IDC方案,您只能不断去增加服务器,而这样扩展的服务器数量是有限的。在云计算模式下,将为您提供海量的存储,当您需要时可以直接购买,为存储提供最大保障。
三、网络弹性
云上的网络也具有非常大的灵活性。只要您购买了专有网络,那么所有的网络配置与线下IDC机房配置可以是完全相同的,并且可以拥有更多的可能性。可以实现各个机房之间的互联互通,各个机房之间的安全域隔离,对于专有网络内所有的网络配置和规划都会非常灵活。
总之,对于云计算的弹性而言,是计算的弹性、存储的弹性、网络的弹性以及对于业务架构重新规划的弹性。
接下来我们看些应用案例:
案例一
2009年,第一次淘宝双十一活动,每秒订单只有400笔,支付达到极限每秒200笔。 2015年淘宝双十一,每秒订单创建24万笔,支付达到了每秒18.59万笔。
每秒订单提升了350倍,支付能力提升了430倍。从后台来看,每年淘宝在双十一这个时候,后台服务器的数量都要比平时运维要多三到四倍。来保障双十一活动,双十一活动结束后,假如不做处理,这批机器的利用率将大大降低,直到次年的双十一活动。
案例二
2016年除夕之夜“咻一咻”抢红包,全民参与3245亿次,最高峰值每分钟210亿次。每秒3.5亿次峰值。当活动结束后,后台大量的服务器将会处于限制的状态。
如上述案例,这些闲置机器怎么处理,怎么回收,次年活动开始时,服务器如何分配,这是一个大问题。
还有其他场景,比如视频直播公司, 无法预估 业务负载情况,需要根据CPU利用率,load、贷款利用率、自动线性伸缩。如游戏公司,每天中午12点,每天晚上6点到九点,这时候处于业务高峰期,需要定时扩容。
以上 案例都用到了弹性计算。