AWS 竞价实例的生态系统 - 支撑最高 90% 折扣的成熟中断管理

AWS 竞价实例凭借最高 90% 的折扣和成熟的中断管理工具,已被生产工作负载采用。从中断率、Fleet 管理和生态系统的角度分析与 Azure Spot VM 和 GCP Spot VM 的成熟度差异。

竞价实例的基础与折扣结构

AWS 竞价实例是以最高 90% 的折扣利用 EC2 剩余容量的购买选项。2009 年推出时采用拍卖形式价格浮动,但 2017 年定价模型改革后,现在采用基于供需的稳定定价。这一变更大幅提升了价格可预测性,加速了生产工作负载的采用。竞价折扣率因实例类型和区域而异,热门实例类型(如 m5.large)通常为 60-70% 折扣,而较少使用的实例类型可达 90% 折扣。与按需价格相比,年均节省通常超过 Savings Plans 和预留实例。

中断管理工具的充实度

AWS 为应对竞价实例中断提供了全面的工具集。EC2 元数据服务的中断通知在实例被回收前 2 分钟发出通知,确保应用有时间优雅关闭。通过与 EventBridge 的集成,可以以中断通知为触发器执行 Lambda 函数,自动化作业转移和检查点保存。Spot Placement Score 在启动前评估特定实例类型和区域组合的容量可用性,帮助选择中断风险较低的配置。Capacity Rebalancing 在检测到中断风险升高时,在现有实例被回收前主动启动替代实例,实现无缝过渡。这些工具的组合使得竞价实例不仅适用于批处理,还可用于 Web 服务器和容器集群等需要持续运行的工作负载。

Fleet 管理与分散策略

EC2 Fleet 和 Spot Fleet 是统一管理组合多种实例类型、可用区和购买选项的舰队的功能。allocation strategy 可选择 lowest-price、capacity-optimized、diversified、price-capacity-optimized 四种策略,实现成本最小化与容量确保的平衡。capacity-optimized 策略从容量最充裕的池中选择实例,最大限度降低中断概率。price-capacity-optimized 在容量和价格之间取得平衡,是 2022 年新增的推荐策略。通过在多个实例类型和可用区间分散,即使特定池的容量不足,整体舰队也能维持所需容量。

与 Azure Spot VM 的比较

Azure Spot VM 于 2020 年正式发布,是相对较新的服务。在最高 90% 折扣方面与 AWS 相当,但生态系统成熟度存在差距。Azure Spot VM 的驱逐策略只有停止/解除分配或删除两种选择,不像 AWS 的中断通知那样保证 2 分钟的优雅关闭期。Azure 也有驱逐通知(Scheduled Events),但通知到实际驱逐的时间不固定。Azure 的 Virtual Machine Scale Sets 提供类似 Spot Fleet 的功能,但分配策略的选项较少,缺乏 AWS 的 price-capacity-optimized 那样精细的优化。Azure 的优势在于与 Azure Batch 和 AKS 的集成,但在竞价实例专用的管理工具充实度上不及 AWS。

与 GCP Spot VM 的比较

GCP 于 2022 年将原来的 Preemptible VM 重新品牌化为 Spot VM,取消了 24 小时最大运行时间限制。但与 AWS 竞价实例相比,生态系统深度存在差距。GCP Spot VM 的中断通知为 30 秒前,与 AWS 的 2 分钟前通知相比应对时间更短。Managed Instance Group(MIG)提供类似 Spot Fleet 的功能,但分配策略的精细度不及 AWS。GCP 的优势在于定价的简洁性(固定折扣率,无复杂的价格变动),以及与 GKE 的集成。但在中断管理工具的充实度和运营实绩方面,AWS 的 15 年以上积累带来了明显差距。

总结

AWS 竞价实例拥有 15 年以上运营实绩支撑的成熟生态系统,在中断管理工具、Fleet 管理和分配策略的充实度上大幅领先 Azure 和 GCP。2 分钟前的中断通知、Spot Placement Score 的事前评估、Capacity Rebalancing 的自动迁移、price-capacity-optimized 的最优分配,这些功能的组合使得竞价实例不仅适用于批处理,还可用于生产工作负载。Azure 和 GCP 的竞价实例在基本功能上已经追赶,但在生态系统的深度和运营工具的成熟度上,AWS 仍保持明显优势。 如需深入了解 AWS 成本优化策略,相关书籍 (Amazon) 也可供参考。