写点什么

如何利用 Spot,成本与稳定同时兼得

作者:jinjin
  • 2022 年 1 月 10 日
  • 本文字数:938 字

    阅读完需:约 3 分钟

如何利用Spot,成本与稳定同时兼得

2021 年,是一个举步维艰的一年,疫情跌宕起伏,各企业为了生存持续的降低公司运营成本,缩减部门经费接踵而至,然而我们公司也不例外走上了降本的道路,全面开启 spot 的使用,企业成本可算是直线下降,但道路可不是一帆风顺,大规模中断却是降本与业务稳定的头号敌人。


运维现状

在 AWS AutoScalingGroup(下面简称 ASG)下开启 100%Spot 时,通过监控 ASG 内的 CPU 阀值,当低于某个阀值时钉钉/短信通知运维人员,人肉把 spot 与 od 的比例进行调整,保证业务的稳定,但调整后什么时候调整回来又要靠运维人员人经验来判断,特别是在黑五圣诞元旦等节日,运维人员早早就把 od 比例调整,以防 spot 大面积中断,操作流程图如下:



很明显,运维人员负荷加重不少,如果晚上深夜 2,3 点出现事故,更是影响生活。所以运维同学也不敢把 Spot 比例调整到 100%,但是为了企业的生存,成本又不能不降,真是挣着卖白菜的钱,操着卖白粉的心。


大规模中断的痛

1) 实例启动时间慢

然而网上也有开启两个 ASG,一个是 OnDemand 组,一个是 Spot 组,通过 ELB 智能管控流量,一但出现大规模中断,启动实例需要一定的时间,如果 OD 占比过高,成本随之上升。所以 OD 与 Spot 都是由运维人员的经验来评估,缺乏准确性,最终还是人肉解决。



2)程序启动时间过慢

实例启动后,最终还是需要程序启动起来的时间决定,但如果程序启动太慢,例如加载数据,下载程序最新版本等操作,都会严重影响业务的稳定。


热池

根据以上的种种痛点,Spotmax也给出了一个相对完善的解决方案,热池

  • 根据伸缩组中的实例类型,创建备用实例,当中断时,优先使用热池替换,可有效预防大规模中断及时补充实例,保证业务稳定

  • 支持 spot 优先,如果 spot 没有库存,再使用热池替换

  • 支持实例休眠功能,秒级启动 APP

  • 暂停的实例 AWS 不收费,只收 EBS 的费用


根据 Spotmax 官网提供的测试数据来看,实例启动时间最大可提高 7 倍,通过休眠启动的程序只需要 5 秒就能运行,保障业务的稳定。



经过 2021 年的黑五、圣诞、元旦的尝试,运维人员终于得到了解放,spot 的使用也调整到 100%,再也不用深夜处理 spot 不足的告警了


总结

Spot 是一把双刃剑,如果使用得好,能为公司节省 65%以上的成本,如果没有相关的经验,使用 spot 对业务来说却是一个灾难。

希望本文的一些小分享能帮助到更多正在使用 spot 的运维团队,少走弯路,为企业节约更多的成本。


用户头像

jinjin

关注

健身使我年轻 2019.12.13 加入

专注前端,GO,云技术方向

评论

发布
暂无评论
如何利用Spot,成本与稳定同时兼得