从零入门 Serverless | 使用 Spot 低成本运行 Job 任务
作者 | 代志锋(云果) 阿里云技术专家
本文整理自《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 方式一样。
从零入门 Serverless | 使用 Spot 低成本运行 Job 任务相关推荐
- 使用 Spot 低成本运行 Job 任务
作者 | 代志锋(云果) 阿里云技术专家 导读:本节课程有三部分内容,首先阐述 ECI 支持成本优化的几种方式,然后重点介绍 Spot 实例是什么以及如何采用 Spot 实例进行成本优化,最后总结 S ...
- 从零入门 Serverless | 一文详解 Serverless 技术选型
作者 | 李国强 阿里云资深产品专家 本文整理自<Serverless 技术公开课>.关注"Serverless"公众号,回复"入门",即可获取 ...
- 从零入门Serverless|一文详解Serverless技术选型
作者 | 李国强 阿里云资深产品专家 本文整理自<Serverless 技术公开课>.关注"Serverless"公众号,回复"入门",即可获取 ...
- 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境
作者 | 存诚 阿里云弹性计算团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...
- 从零入门 Serverless | Knative 带来的极致 Serverless 体验
作者 | 冬岛 阿里巴巴高级技术专家 Serverless 公众号后台回复 "knative",即可免费下载<Knative 云原生应用开发指南>电子书! **导读:* ...
- 从零入门 Serverless | 函数计算的可观测性
作者 | 夏莞 阿里巴巴函数计算团队 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 S ...
- 从零入门 Serverless | 一文详解 Serverless 架构模式
作者 | Hongqi 阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverl ...
- 从零入门 Serverless | 一文搞懂函数计算及其工作原理
作者 | 孔德慧(夏莞) 阿里云函数计算开发工程师 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门" ...
- 带你从零入门 Serverless | 一文详解 Serverless 架构模式
作者 | Hongqi 阿里云高级技术专家 责编 | Carol 来源 | Serverless 本文整理自<Serverless 技术公开课> 什么是 Serverless 架构?按照 ...
最新文章
- js、PHP将分数字符串转换为小数
- Hoogle之装饰模式设计手机(下)
- 百炼1001: Exponentiation 解题
- Fedora 17 install VMWare tool
- python ioc di_Sping(一)——IOC/DI
- 剑指offer:45-48记录
- 评论:北京“网店新规”将死在问题中
- asp.net捕获全局未处理异常的几种方法
- SAP License:BCS进阶第一篇-BCS相关概念
- [2018.10.20 T1] 蛋糕
- JAVA课设——俄罗斯方块
- 如何便捷获取参考文献的引用格式?
- java如何计算时间天数差,Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数...
- 密码太多不知道怎么记录?不如自己写个密码箱小程序
- 私有云服务器和公有云服务器的区别你真的知道吗?
- 2013年12月安徽省广播电台网络影响力排名
- mb是做1还是0_德国爱他美奶粉0-6月选择,给宝宝喝pre段还是1段奶粉?
- Tik Tok跨境电商与传统跨境电商有什么区别?
- CentOS 8.5 NVIDIA驱动卸载
- 计算机基本配置要求,win10系统对电脑配置有哪些要求?windows10的最低配置要求...
热门文章
- 《南溪的目标检测学习笔记》——PyTorch模型搭建模板
- 深度学习————如何在Python中求解函数的解析表达式
- EasyBCD 2.4 个人版下载
- [转]我们都是花栗鼠
- 所谓伊人,在水一方--------------折射定律
- c/c++教程 - 1.7 数组 一维数组 二维数组
- Java面向对象的程序设计
- springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException:
- 第六章 副词(Les adverbes )
- RedisHelper帮助类