如果只是因为AWS云平台可以在两分钟内运行实例,就会错失按需价格折扣的机会(最多可以节省90%成本)是没有意义的。即使对于生产工作负载,用户也可以有效地使用Spot实例。
以下是如何处理Spot实例并在云计算账单上节省大量成本的6个技巧:
#1:知道何时使用Spot实例
第一步是大致了解哪些服务可以从Spot实例中受益更多。
例如,如果用户的服务是无状态的并且可以扩展(具有多个副本),那么可以在这里使用Spot实例。如今,现代架构中的大多数服务都是无状态的。
以下是一些可以从Spot实例受益的工作负载示例:
- 具有容错性和实例灵活性的批处理作业。
- 容器和微服务通常是独立的、高度可用的、能够处理中断和容错的。
- 高性能计算(HPC)和机器学习应用程序需要高性能的计算能力、大量的内存、超快速的存储和较高的网络性能。Spot实例可以提供帮助,甚至可以作为它们的主要计算基础设施。
- 持续集成(CI)/ 持续交付(CD)操作,无论使用什么工具,Spot实例都可以在部署过程中提供帮助。
- 分布式数据库(例如Elasticsearch或MongoDB)能够处理中断,而不会丢失任何数据或影响服务。
- 编排环境中的任何应用程序。
#2:检查工作负载是否已准备就绪
在寻找Spot实例的潜在候选对象时,需要了解一些有关它的信息。
以下是一些可以更进一步研究的问题:
- 需要多少时间才能完成工作?
- 是否对任务和时间至关重要?
- 可以处理中断吗?
- 实例节点之间是否紧密耦合?
- AWS云服务中断后,将使用哪些工具来转移工作量?
回答了这些问题,用户就会知道Spot实例是否适合自己的工作负载。
#3:选择正确的Spot实例
了解一下AWS云平台提供的服务。可以选择一些不太主流的实例,这样就会降低中断的数量,并且可能会稳定运行更长的时间。
在寻找最佳虚拟机类型以完成工作时,需要查看其中断频率。这是实例在过去一个月中回收容量的速率。
AWS在Spot实例顾问中将其显示在以下范围内:<5%,5%~10%,10%~15%,15%~20%,> 20%:
可以将Spot实例用于具有特定类型的竞价型实例的生产工作负载。AWS为用户提供了一个可以保证不中断工作(最多6个小时)的信息(以小时为单位),而用户只需要为此多支付一些费用。但是与按需定价相比,仍然可以获得高达30%~50%的折扣。
#4:设定价格
知道要使用的Spot实例后,就可以设置愿意为它们支付的最高价格。这是一个很好的经验法则:将价格设置为与按需定价相匹配的最大值。
需要注意的是,用户的Spot实例只有在其市场价格与其出价相匹配(或低于出价)时才会运行。如果用户的自定义价格低于按需定价,并且Spot实例的价格上涨,那么用户的Spot实例可能会面临中断的风险。
#5:分组管理Spot实例
这是一个明智的举动,因为它使用户可以选择同时请求多个实例类型,并增加了为工作负载获取一个实例的机会(避免出现任何中断)。
另一个好处是,用户可以为整个实例队列(而不是给定的现货池)设置每小时的最高价格。竞价池是一组具有相同类型、操作系统、可用性区域和网络的实例。
在AWS云平台中,这称为AWS Spot Fleets。这一功能使用户可以使用各种分配策略来管理大量的Spot实例。例如,只考虑最低价格或容量优化的实例类型。
需要注意的是:为许多人工配置、设置和维护任务做好准备。
#6:自动化Spot实例
用户如何避免丢失现场实例造成的停机时间?一个最好的策略是实施自动化工具,该工具使用策略和自动扩展功能为用户管理云计算基础设施。
通过使用自动化的云计算成本优化解决方案,用户可以选择在现场实例上运行多少工作负载,然后在发生中断时自动返回到按需实例。
用户的工作负载将始终有运行的地方。由于AWS可以重新平衡事件,即使在用户收到两分钟的中断通知之前,也有可能降低风险。
为了获得最佳结果,需要采用一个基于预测分析(如CAST AI)的自动化操作的解决方案。