作者 | 代志锋(云果)阿里云技术专家
本文整顿自《Serverless 技术公开课》,点击链接即可收费听课:https://developer.aliyun.com/learning/roadmap/serverless
导读:本节课程有三局部内容,首先论述 ECI 反对老本优化的几种形式,而后重点介绍 Spot 实例是什么以及如何采纳 Spot 实例进行老本优化,最初总结 Spot 实例反对的场景以及注意事项。
老本优化
ECI 除了有秒级弹性、有限容量的劣势之外,在一些特定场景下对老本的优化也是非常明显的,通过上图咱们能够看到,雷同规格的实例,在日运行工夫少于 14 小时的时候,应用 ECI 会更加便宜。 除了日运行时长小于 14 小时的情景,ECI 实例还反对多种计费类型,客户能够依据本身业务抉择相应的计费模式:long run 类型的能够采纳 RI 实例券;运行时长低于 1 小时能够选用 Spot 竞价实例;针对突发流量局部,采纳按量实例。
Spot 实例概述
抢占式实例是一种按需实例,能够在数据计算等场景中升高计算成本。抢占式实例创立胜利后领有一小时的爱护周期。抢占式实例的市场价格会随供需变动而浮动,咱们反对两种 spot 策略,一种是齐全依据市场出价,一种是指定价格下限,咱们只须要给 pod 加上对应的 annotation 即可,应用办法非常简单。
- SpotAsPriceGo:零碎主动出价,追随以后市场理论价格(通常以折扣的模式体现)
-
SpotWithPriceLimit:设置抢占实例价格下限
- 用户价格 < Spot 市场价格,实例会处于 pending 状态,并每 5 分钟主动进行一次出价,当价格等于或高于市场价格时,开始主动创立实例。运行一小时后,市场价格如果高于用户价格,则实例随时可能会被开释;
- 用户价格 >= Spot 市场价格,如果库存短缺则主动创立实例,按胜利创立实例时的市场价格来计价,默认市场价格为小时价,将小时价除以 3600 即可失去每秒的价格。抢占式实例按秒计费;
- 用户价格 >= ECI 按量实例价格,应用 ECI 按量实例价格来创立实例。###
创立 Spot 实例
- 依据规格查看实例按量价格,点击查问
首先咱们查问出【华北 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。 如上图所示,当 Spot 实例运行超过 1 小时保护期后,有可能会因为库存有余,或者设置的价格小于市场价而触发实例开释,实例开释前 3 分钟会有事件告诉。
利用场景
您能够在抢占式实例上部署以下业务:
- 实时剖析业务
- 大数据计算业务
- 可弹性伸缩的业务站点
- 图像和媒体编码业务
- 科学计算业务
- 天文空间勘测剖析业务
- 网络爬虫业务
- 测试业务
抢占式实例实用于无状态的利用场景,例如可弹性伸缩的 Web 站点服务、图像渲染、大数据分析和大规模并行计算等。应用程序的散布度、可扩展性和容错能力越高,越适宜应用抢占式实例节省成本和晋升吞吐量。
注意事项
- 如何防止出价过低导致实例抢占失败?
须要联合本身业务特色,并充分考虑到市场价格稳定的状况下抉择正当的出价。
- 零碎主动出价,1 小时到期后是否会被开释?
1 小时到期时,零碎会尝试再次出价,如库存短缺则不会被开释。
- 零碎主动出价下限是多少?
不超过雷同规格按量最高价(原价)。
- 是否仅反对 ECS InstanceType 模式?
抢占式 ECI 实例仍然反对 ECS InstanceType、CPU / 内存模式两种创立形式。
- 是否反对 GPU 实例?
反对,跟非 GPU 形式一样。