本月公司在全球AWS租用费用高达20+W美金,远超预期,整个团队的中心都在向如何节约成本倾斜,大家也尝试了很多方法:关不必要的开发机器;改用更便宜的实例类型(m3->m5);删掉无用的备份镜像;删掉无用的ELB或NAT网关;严格审核新资源的申请,大于1000美金的需要部门老大审批。多多少少都有一定的效果,因为EC2实例和EBS存储是费用的大头。
按照我本季度的工作计划,需要应用Reserved Instance(简称RI,预留实例)以节约中国AWS的费用。通过阅读AWS官方文档,我才发现自己一直对于预留实例有误解:要一次性支付一年或三年的费用, 而且这个误解的后果就是导致了一直不敢推动预留实例的实施。原来AWS的预留实例分三类:No Upfront/Partial Upfront/All Upfront,第一类是不需要预付任何费用的,比常规的按需On-Demand实例直接便宜20%,约束条件就是一年内不管你用不用该类实例都需要付费。第二类和第三类是需要预付费用的,预付越多,折扣越多。这里可以得出AWS EC2使用的一条最佳实践:只有那些短期使用完就释放或Stop的实例才建议使用按需On-Demand类型,如果使用时间接近一年则一定要用预约实例。另外RI也分Standard标准版和Convertible可转换版,二者的区别在于可转换版可以转换实例Family,比如m5->r4,代价就是少了10%左右的折扣,标准版买多余的话,可以丢到市场上卖掉。最后要说的是RI实例是可以在Region范围内申请,不再局限于某一可用区。需要说明的是预留这种方式不局限于EC2,RDS、Redshift这种服务也是适用的。
经过团队的讨论,我们对如何实施RI有了更深入的认识,而且实施后作用是立竿见影的。在这个过程中,除了阅读AWS官方文档之外,也要感谢AWS的客户经理William,他提供了很多Insight信息,还特别提到了AWS有EDP(enterprise discount program),大意是如果承诺的花费超过100W美金的话,每年有6%的整体TCO折扣,2年会有8%,3年9%。前提是要购买enterprise support,直接向支持专员申请这个折扣即可。
在RI应用实施过程中,我惊讶的发现自己和团队对于AWS的服务细节了解的还不够,每一项AWS服务都有一些特殊的知识点,不了解的话很难做出正确的决定,比如T2实例的CPU积分制。另外运维应该始终把控制成本放在优先级的首位,因为IT的成本一旦失控将会造成公司运营成本的增加。