成本控制是每个云上客户都很关心的话题,而云服务器ECS又是大多数阿里云客户的主要云上资源,因此,笔者给出了如下的九条省钱攻略,希望帮助我们的客户利用好在阿里云上投资的每一分钱。
攻略1:关注官方打折活动
- 适用对象:中小企业客户和个人开发者客户
- 使用门槛:低
- 最多可节省费用:90%
可能有的小伙伴还不知道,阿里云ECS也是有官方的折扣的。例如在2019年双十一期间,阿里云ECS推出了拼团活动,既有新购的优惠也有续费的优惠。在笔者发稿的时间(2020年5月),针对新用户的尝鲜优惠一折起。建议中小企业客户和个人开发者客户,对官方的打折优惠活动保持关注。
点此查看官方打折活动
攻略2:使用共享型-突发性能实例
- 适用对象:中小企业和个人开发者客户,小型Web应用、开发测试用,有突发峰值但是平均资源利用率很低的应用,
- 使用门槛:低-中
- 最多可节省费用:60%以上
同样CPU/内存/云盘的前提下,共享型-突发性能实例无疑是当前所有实例类型里面最便宜的。以华北3(张家口)的2vCPU/4G内存/20G高效云盘为例,突发性能实例ecs.t6-c1m2.large包月价格为¥ 52.80,而同样配置的计算型ecs.c6.large包月价格为¥ 136.60,使用突发性能实例可以节省60%以上的费用。
先不要高兴太早。超低的价格,伴随着CPU总使用量的限制。我们把CPU使用率为纵轴,时间为横轴画一个曲线,曲线下面的总面积,就是CPU总使用量。ecs.t6-c1m2.large的平均基准CPU计算性能限制在20%,也就是意味着,当你的CPU总使用量达到20%的时候,要么,系统会限制你的CPU性能(默认的性能约束模式),要么,会向你额外收费(开启无性能约束模式)。
我们举一个简单的适用的例子。假设CPU在一天内有20个小时使用率为5%,4个小时为80%,那么总使用率为(200.05 + 4 0.8)/24, 结果为17.5%,小于20%,那么,你的应用不受影响,而且,还节省了60%以上的费用。
点此了解突发性能实例的详情
攻略3:使用抢占式实例
- 适用对象:企业客户,容器化的应用,或者非关键业务
- 使用门槛:中
- 最多可节省费用:90%
请注意,抢占式实例是付费类型的一种,其他的付费类型包括包年包月,按量付费。抢占式实例可以有各种实例规格(通用型、计算型、内存型、异构计算、裸金属等等)。
以笔者写稿的当前时间,华北五(呼和浩特)的通用型g5(2vCPU,8G内存,20G高效云盘)为例,抢占型的价格为¥0.081 /时,是按量付费的十分之一,包年包月的四分之一(包月价格折算到小时)。
先不要高兴太早。超低的价格,伴随着被动释放的风险。抢占式实例的购买时的定价,是随着市场供需的变化而变化的。当市场供需紧张导致实例价格上涨之后,原有的抢占型实例可能会被释放。值得一提的是,华北五作为新开放的地域,抢占型的g5,过去30天内的平均释放率低到不足3%,也就是说,被释放的概率很低(但仍有释放的概率)。
对于企业客户来说,抢占型实例,特别适合对释放不敏感的场景,比如容器化的应用,以及本地无持久化数据的应用,比如数据都持久在单独的数据库里或者远程存储里。
此外,抢占型实例也适合临时使用,比如开发测试用途,毕竟抢占型实例在创建一个小时内,是保证不会释放的。
抢占型实例在释放前,云监控会至少提前5分钟发出告警事件,开发者可以利用云监控的sdk自动化的消费和处理这一事件,做好释放前的准备工作(手动处理恐怕是来不及的)。
点此了解抢占型实例详情
攻略4:使用预留实例券购买按量付费实例
- 适用对象:企业客户,大量弹性需求,且未来总计算力有明确规划的客户
- 使用门槛:中-高
- 最多可节省费用:44%以上
通常,包年包月比按量付费要便宜。但这不是绝对的,我们接下来就介绍几个专门针对按量付费的攻略,使用合理的情况下,可以比包年包月还要便宜。
首先就是预留实例券。还是举一个例子,在笔者当前时间在华北三(张家口)使用预留实例券购买3台ecs.g6.large一年,总价格约为 ¥ 5140.80,对比按量付费节约44%的费用,跟包年包月的价格基本一致。
那么,使用预留实例券购买按量实例,和购买包年包月实例比,优势在哪里呢?优势就在于按量付费本身。客户可以享受最大的弹性和灵活性,随时释放、重建实例,随时增加和减少实例。只不过,通过购买预留实例券的形式,客户向阿里云承诺了一个年度最低消费额。
使用预留实例券是有一定门槛的,客户需要花一些时间理解预留实例券的计费规则,同时做好对未来的弹性计算的需求规划,以决定预留实例券的采购细节。
点此了解预留实例券的详情
攻略5:为按量付费实例开启停机不收费
- 适用对象:有较长时间关机需求的用户
- 使用门槛:低-中
- 最多可节省费用:60% (取决于关机时间)
我们举两个例子。一个是办公场景,早晨9点上班,下午5点下班,每天使用ECS时间8个小时,如果为此付24个小时费用,岂不是很冤?在这个场景下,利用自动化的定时开关机结合开启停机不收费,可以节约接近2/3的费用。另一个适用的例子是企业集群场景,在业务低峰时,企业不需要那么多服务器,但是又不敢释放。
点此了解停机不收费
点此了解定时开关机
攻略6:使用存储容量单位包购买按量付费云盘
- 适用对象:企业客户,大量弹性需求,且未来总存储容量有明确规划的客户
- 使用门槛:中
- 最多可节省费用: 30%
跟预留实例券类似,利用存储容量单位包SCU,可以用很优惠的价格,购买按量付费的云盘。以笔者当前时间,华北2北京为例,1T总容量的ESSD云盘一个月,使用SCU的费用为¥ 1024.00,比按量付费节省三分之一的费用。
点此了解存储容量单位包
攻略7:使用弹性伸缩组
- 适用对象:企业客户,无状态集群应用,业务负载变化大
- 使用门槛:中-高
- 最多可节省费用:60%(取决于负载变化)
弹性伸缩(Auto Scaling)是阿里云官方提供的免费产品。弹性伸缩组对应一个业务集群,客户可以定义自己的伸缩规则,比如cpu利用高于70%的时候,自动增加实例(扩容),在cpu利用低于30%的时候,自动减少实例(收缩)。弹性伸缩组可以配合负载均衡服务SLB一起使用。弹性伸缩还支持基于AI人工智能的预测伸缩算法。
我们还是假设一个企业的线上业务集群,每天固定有4个小时的峰值需要10台ECS,其他时段需要2台ECS,那么利用弹性伸缩,总共可节省2/3的成本。
弹性伸缩组还可以混合使用按量付费和抢占式的方式,达到最大的成本优化的效果。
点此了解弹性伸缩组
攻略8:使用弹性供应组
- 适用对象:企业客户,无状态集群应用,业务负载变化小
- 使用门槛:中-高
- 最多可节省费用:参照抢占型实例
弹性供应组是阿里云ECS的一个产品特性,通过自动创建多种规格的抢占式实例,达到以最低的成本交付稳定的总计算力的目的。举个例子,客户可以创建一个50个vcpu的弹性供应组,由多种规格的抢占式实例组成,当实例(即将)被释放的时候,弹性供应组会自动创建新的实例,来保证可用的vcpu数量仍然是50个。
弹性供应组的主要目的,是解决抢占式实例被动释放的问题,本质上,还是靠抢占式实例,带来了成本的节约。
弹性供应组也可以混合使用按量付费和抢占式实例。
点此了解弹性供应组
攻略9:专有宿主机DDH
- 适用对象:大中企业客户,有专有云和虚拟化的运维经验
- 使用门槛:高
- 最多可节省费用:50%
宿主机这个概念来自虚拟化,负责运行虚拟机的物理服务器被称为宿主机。
用户可以购买若干台阿里云的专有宿主机(DDH),并将独享这些DDH上的全部计算资源,其他用户的虚拟机(ECS)不会占用这些DDH的计算资源。用户可以指定虚拟机(ECS)运行在哪一台DDH上。
为什么DDH能省钱呢?因为有一种DDH叫做CPU超分型,通俗讲,一个物理CPU的核可以虚拟化成为2个vCPU。以华东2地域为例,一台CPU超分型宿主机为15778元/月,可创建84个4核8G的ECS实例,单价187.8元/月,节省48%的费用。
什么样的业务适合使用CPU超分型DDH呢?笔者先给一个定义,峰值平均CPU利用率,也就是所有的虚拟机的cpu利用率曲线叠加之后的峰值。只要峰值平均CPU利用率在50%以下,就适合使用CPU超分型DDH。举例来说,虚拟桌面的办公场景,CPU的高峰通常都是离散的随机的。只要不是多数虚拟机在同一个瞬间CPU达到高峰,那么对于单个虚拟机的用户来说,根本感觉不到CPU被超分了。
当然,DDH的使用也是有门槛的。客户需要自己负责ECS的调度,也就是,通过合理的动态分配ECS和DDH的对应关系,避免CPU超分带来的性能影响。
点此了解专有宿主机