做者 | 代志锋(云果) 阿里云技术专家网络
本文整理自《Serverless 技术公开课》less
导读:本节课程有三部份内容,首先阐述 ECI 支持成本优化的几种方式,而后重点介绍 Spot 实例是什么以及如何采用 Spot 实例进行成本优化,最后总结 Spot 实例支持的场景以及注意事项。ide
ECI 除了有秒级弹性、无限容量的优点以外,在一些特定场景下对成本的优化也是很是明显的,经过上图咱们能够看到,相同规格的实例,在日运行时间少于 14 小时的时候,使用 ECI 会更加便宜。测试
除了日运行时长小于 14 小时的情形,ECI 实例还支持多种计费类型,客户能够根据自身业务选择相应的计费模式:long run 类型的能够采用 RI 实例券;运行时长低于 1 小时能够选用 Spot 竞价实例;针对突发流量部分,采用按量实例。大数据
抢占式实例是一种按需实例,能够在数据计算等场景中下降计算成本。抢占式实例建立成功后拥有一小时的保护周期。抢占式实例的市场价格会随供需变化而浮动,咱们支持两种 spot 策略,一种是彻底根据市场出价,一种是指订价格上限,咱们只须要给 pod 加上对应的 annotation 便可,使用方法很是简单。优化
首先咱们查询出【华北 2(北京)地域 ecs.c5.large 按量(小时)价格:0.62】,而后咱们以此规格来建立 Spot 竞价实例。阿里云
采用 Spot 实例来运行 CronJob,分别采用“指定最高限价”、“系统自动出价”的方式。随市场价的场景目前尚未办法直接看到真实的价格,只能根据实例 ID 查询帐单信息。编码
采用 Spot 实例运行 Deployment,在本次实验中咱们采用指定最高限价的策略,并设置一个极低的小时价格,能够看到 2 个 Pod 都建立失败了,使用 kubectl describe 命令能够看到失败的详细缘由为价格不匹配:The current price of recommend instanceTypes above user max price。3d
如上图所示,当 Spot 实例运行超过 1 小时保护期后,有可能会由于库存不足,或者设置的价格小于市场价而触发实例释放,实例释放前 3 分钟会有事件通知。server
您能够在抢占式实例上部署如下业务:
抢占式实例适用于无状态的应用场景,例如可弹性伸缩的 Web 站点服务、图像渲染、大数据分析和大规模并行计算等。应用程序的分布度、可扩展性和容错能力越高,越适合使用抢占式实例节省成本和提高吞吐量。
须要结合自身业务特征,并充分考虑到市场价格波动的状况下选择合理的出价。
1 小时到期时,系统会尝试再次出价,如库存充足则不会被释放。
不超过相同规格按量最高价(原价)。
抢占式 ECI 实例依然支持 ECS InstanceType、CPU / 内存形式两种建立方式。
支持,跟非 GPU 方式同样。