1. 弹性为什么这么重要
做好弹性让IT能力轻松跟上用户的业务发展,做到多、快、好、省。
- 多:选择多,可以全球建站、机型选择也多、配套云服务也多。
- 快:部署快,自建IDC的建设时长以年为单位,云上部署所见即所得。
- 好:好维护,不用考虑IT硬件故障维修,工作精力可以全部考虑业务发展。
- 省:根据计算任务按需创建IT资源,解决IT资源的空置问题,IT成本得到空前的优化。
2. 弹性怎么实现
供给侧的建设主要是云厂商负责,目的是为云用户提供更多的弹性资源同时降低运营成本。如何将弹性供给侧建设做到“海纳百川”可以说是每个云厂商的独门内功,也是评价一家云厂商优劣的重要标准。
消费侧需要云用户和云厂商共同建设的,云厂商搭台,云用户唱戏。云厂商要为用户提供尽可能方便的弹性创建资源和资源编排的操作界面和API。云用户需要做哪些事情呢?
图1:弹性消费侧和供给侧
3. 消费侧弹性怎么实现
1.首先选择一家或几家云厂商作为云供货商,如何挑选云厂商做弹性,主要考虑这个云厂商在市场的占有率和稳定性口碑。因为通常占有率越大的云厂商它在各个地区的库存池子越大,调配库存手段更多,供应链更有保障,可以为我们做弹性提供更充足的资源。考量稳定性口碑自然是为您的业务稳定性考虑。
2.认清哪些资源可以弹性,哪些不能弹性。
图2:可弹性和不可弹性
3.容量评估
不可弹性的资源在做容量评估时要根据业务中长期的规划和峰值预估做评估,因为它们的建设周期一般会很长或者有突发峰值时无法通过弹性应对。
可弹性资源容量评估一般会按日常平均业务流量时所需的资源作为基线水位,考虑到弹性扩容资源交付速度、云厂商资源水位情况略微调整基线水位。
图3:资源水位线
4.弹性成本核算
云上资源一般有包年包月和按量付费两种常见的购买方式,少量云产品支持竞价抢占式实例。
- 按量付费:类似于手机的后付费方式,按实际的使用时长进行付费,这是最灵活的一种购买方式,随来随走,但价格通常也是最高的,适合于应对爆发业务临时扩展,例如临时性的测试、业务高峰时段等;
- 包年包月:类似于手机的预付费套餐,绑定了具体的云服务器实例,承诺了使用时长,时间上的灵活性差一些,但价格比较优惠,适合于运行固定的7x24服务,如Web服务、数据库等;
- 竞价抢占式:这是一种非常独特的售卖方式,我们把暂时富余的资源以极低的价格让用户采取类似于竞价的方式来购买,但当供给情况发生变化时,这些云服务器可能被云厂商“抢占”回去,因此比较适合那些随时可以中断、后续再拉起继续的计算任务,例如压测、科学计算、批量计算、视频转码等。
弹性基线以内的资源因为利用率高,所以建议按包年包月形式购买,成本更合算。
日常高峰如果持续时间超过1小时且对数据需要持久保存的建议按量方式购买。
热点峰值比较短暂在1小时以内的而且对数据持久保存没有要求的可以考虑购买竞价抢占式实例。
5.弹性资源调度
- 定时弹性调度
如果业务流量每天很有规律的话,可以考虑使用定时弹性调度方式,在业务高峰前扩容,在高峰过后缩容。
- 动态弹性调度
动态资源调度可以根据业务流量走势自动扩容和缩容。实现动态资源需要执行如下几步。
图4:弹性水位评估
定义扩容、缩容的水位线
图5:弹性水位线
6.高可用角度设计弹性策略
- 尽量让业务可以适配多个可用区多个机型做弹性部署。
①多可用区部署可以做到多机房灾备。
②多可用区部署可在多机房并行创建弹性资源,增加弹性速度。
③多机型做弹性可以降低弹性库存保障难度,扩大弹性规模。 - 不可弹性资源也要考虑高可用。
①如果有专线尽量考虑双线双接入点接入云厂商。
②像缓存这种扩容后需要预热很长时间不适合做弹性,需要考虑弹性峰值时的缓存的水位,做常态部署且考虑多可用区部署,可以让弹性资源就近调用缓存,优化调用耗时。
我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。