#3 2009 · Amazon Web Services · Cloud computing
AWS 把闲置服务器拿出来拍卖,而不是让它们白白烧钱
问题
闲置算力按小时作废
背景
EC2 在 2006 年推出,售卖固定价格的按需服务器;但云必须按峰值负载来架设,意味着大部分机架常年闲置——无论有没有客户在跑,这部分算力的成本都一样。行业里通行的对策是给预留容量打折,或者干脆把这份浪费当作应对高峰的应有代价。
2009 年 12 月 14 日,AWS 转而开放了第二个市场:客户报一个最高出价,只有在出价高于波动的 Spot 价格时实例才运行,价格一旦涨过出价,算力会临时被收回。AWS 借用了航空业和商品行业的收益管理思路,让能容忍中断的工作负载——批处理、网络爬取、媒体转码——去吸收按需定价卖剩下的空闲容量。
换别人会怎么做
办法是给愿意提前承诺的客户提供预留容量折扣,或者干脆把闲置机架当作按峰值架设所难免的代价——这是应对产能过剩的标准答案,但两条路都从没人预先承诺要买的容量上赚不到一分钱。
他们看到了什么
闲置算力并非卖不掉,只是按固定的按需价格卖不掉——一台空置一小时的服务器,就是这一小时结束便作废的库存,和空置的飞机座位、当晚没人订的酒店房间一模一样;而这些行业早在几十年前就用拍卖式收益管理解决了这个问题。
那一手
Spot 实例:把每小时不用就会作废的空闲算力拿出来竞价拍卖。
为什么管用
把需求拆成两个市场——需要确定性可用性的客户走固定价格档,能容忍中断的客户走价格波动的拍卖——AWS 就能把同一份物理算力卖给两个支付意愿不同的客群,又不必对所有客户的整体主产品降价。批处理、爬取、转码这类负载不在乎具体什么时候跑,只在乎最终能跑完,所以它们能吸收按需市场卖剩的任何空闲;在原本会空置的算力上运行可中断负载,每收进一分钱都近乎纯利,因为这台服务器的固定成本已经由预留档和按需档在承担。
值了多少
成为云厂商把闲置资源变现的标准机制。
什么时候会失灵
这套机制只对真正容忍中断的负载有效——任何要求保证可用性或连续运行的负载都用不了折扣档,这限制了拍卖实际能变现多少闲置算力。它也依赖客户据以行动的透明的价格:AWS 自己 2017 年把密封拍卖改成不公开算法的零售价,研究对比前后价格后发现价格普遍上涨,而不是纯可靠性改进该带来的下降——这说明一旦拍卖机制本身被移除,同一套可中断算力思路就可能悄悄变成坑客户的定价杠杆,而不是一个真正的双向市场。
后来呢
谷歌后来在同样的可中断折扣结构上推出了自家的廉价抢占式档位;对大规模批处理和机器学习负载来说,现货市场如今已是买便宜算力的常规方式。但「拍卖」本身没能存续:2017 年 11 月,Amazon 用自己定价且不公开算法的零售价彻底取代了密封竞价市场;对比前后的研究人员发现,这次变更伴随的是大范围涨价——在 AWS 北美各区域平均上涨约 37% 到 61%——而不是纯可靠性削减该带来的降价。
资料来源
- [1]Amazon Web Services Announces Spot Instances for Amazon EC2Amazon (press release), 2009press.aboutamazon.com
- [2]Analyzing AWS Spot Instance PricingIEEE IC2E / UC Santa Barbara, 2019sites.cs.ucsb.edu