技术省钱野路子!轻松节省90%云端开销

很多小伙伴抱怨ECS云服务器价格过于昂贵,上云成本过高,但是否了解过抢占式实例这种付费方式呢?提供了低至1折的跳楼价,让您通过技术手段,合法合理地优化成本。

 

 

抢占式实例提供了两种出价模式,SpotAsPriceGo(即自动出价模式),SpotWithPriceLimit(设定价格上限模式),让很多用户有了选择困难症。本文详细描述几种出价方式及应用场景,为您提供最佳实践指南,希望能帮助您解决选择困难问题。

出价模式详解


  模式1:SpotWithPriceLimit

描述:创建实例时,设定一个心理预期的最大价格,如果当前市场价格波动,超过您的最大预期价格,则实例会被标记中断。


适用场景:对实例的预算以及价格要求极其严格,丝毫不能容忍超过预算。


优点:预算控制交给ECS,能够严格保证实例计费不会超过您设定的价格上限。


缺点:在价格波动较为剧烈的情况下,中断概率会急剧增加,导致不能稳定持有实例,可能会极大地影响线上容量。

代码示例:

RunInstancesRequest request = new RunInstancesRequest();request.setVSwitchId("<your-vsw-id>");request.setImageId("<your-image-id>");request.setSecurityGroupId("<your-security-group-id>");request.setSystemDiskCategory("<your-disk-category>"); // 系统盘类型, 例如 "cloud_ssd"request.setSystemDiskSize("<your-disk-size>"); // 系统盘大小, 例如 "40"request.setInstanceType(instanceType);request.setAmount(1);request.setAcceptFormat(FormatType.JSON);request.setInstanceChargeType("PostPaid");request.setSpotStrategy("SpotWithPriceLimit");

完整代码样例参见:创建与管理抢占式实例


  模式2:SpotAsPriceGo

描述:创建实例时,不设定最大价格限制。


适用场景:预算要求不严格,希望能比较稳定地持有实例。由于抢占式实例的价格上限是按量价格,所以成本能省多少就是多少。


优点:在价格波动较为剧烈的情况下,仍然能保证实例不被中断,极大降低中断概率。


缺点:成本控制较难,价格上涨,超出预期上限之后,无法感知该信息,导致成本超出预算。

 

代码示例:

RunInstancesRequest request = new RunInstancesRequest();request.setVSwitchId("<your-vsw-id>");request.setImageId("<your-image-id>");request.setSecurityGroupId("<your-security-group-id>");request.setSystemDiskCategory("<your-disk-category>"); // 系统盘类型, 例如 "cloud_ssd"request.setSystemDiskSize("<your-disk-size>"); // 系统盘大小, 例如 "40"request.setInstanceType(instanceType);request.setAmount(1);request.setAcceptFormat(FormatType.JSON);request.setInstanceChargeType("PostPaid");request.setSpotStrategy("SpotAsPriceGo");

完整代码样例参见:创建与管理抢占式实例

 

  模式3:SpotAsPriceGo+OOSPriceMonitor组合

描述:创建实例时,使用SpotAsPriceGo模式,即不设定最大价格限制;同时配置OOS价格上限监控,当实例价格超过您的设定阈值时,OOS会推送消息给您,方便您进行后续操作。


适用场景:对成本有一定要求,同时对实例中断的容忍度较差。


优点:既具备SpotAsPriceGo较低中断率的稳定性,又具备了SpotWithPriceLimit的价格可预期性。


缺点:需要单独配置OOS,有一定接入成本。

最佳实践


  推荐使用SpotAsPriceGo出价模式

在价格波动较为剧烈的情况下,选择SpotAsPriceGo模式将极大降低您实例的中断风险。


而在选择SpotWithPriceLimit模式前,您需要仔细考虑:

1、您的场景是否真正需要SpotWithPriceLimit模式?据现有线上数据统计,90%以上实例都是PriceAsGo模式。如果您对成本要求极其严苛,可以参照最佳实践第二条:使用PriceAsGo+PriceMonitor组合方案替代PriceWithLimit模式来替代,将实例中断的权利掌握在自己手里。


2、您是否做好了万全的中断准备?从我们实际数据来看,每天中断实例里,95%以上都是由于SpotWithPriceLimit,即价格波动超过设定上限导致。


此外,您是否注意到了,抢占式实例售卖页,我们已经帮您默认选择了"使用自动出价模式"了呢?


  使用SpotAsPriceGo+PriceMonitor组合方案替代SpotWithPriceLimit模式


1、如果对成本有一定诉求,您可以使用"PriceAsGo+OOS配置的PriceMonitor"组合方式,这样能极大降低实例被中断概率,同时又能让您在第一时间获知价格的变化情况,方便您进行后续操作。


2、当然如果您对成本无特殊诉求,又能做到良好的中断处理,则可以放心SpotAsPriceGo模式,以达到一定成本优化的目标。


事不宜迟,参照创建与管理抢占式实例代码样例,开始您的成本优化之旅吧。


关注百晓生,笑谈云计算

posted @ 2020-12-02 18:40  弹性计算百晓生  阅读(73)  评论(0编辑  收藏  举报