我读过很多博客,谈到将微服务车队从直接的EC2虚拟机转移到ECS或EKS上的容器可以节省25-50%的成本。虽然这很有说服力,但考虑到使用AWS定价计算器的一些简单模型进行的成本估计,我对这可能是怎么回事感到困惑。我相信我用下面的估计过于简单化了这个问题,但价格差异的规模几乎是五倍(68美元对319美元(,这就引出了一个问题,成本节约在哪里?
例如,假设一个由八个服务组成的小集群在[small t4g][2]:上运行良好
| Instance | EC2 Type | vCPU | Mem (GB) | Storage (GB) | Monthly Cost |
| ---------- | --------- | ---- | -------- | ------------ | ------------:|
| Service 1 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 2 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 3 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 4 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 5 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 6 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 7 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 8 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| **Totals** | | 16 | 16 | 64 | USD 67.76 |
如果我要转移到ECS/EKS,并购买一些具有同等vCPU的更大的c5,我猜我需要完成同样的事情:
| Instance | EC2 Type | vCPU | Mem (GB) | Storage (GB) | Monthly Cost |
| ---------- | ---------- | ---- | -------- | ------------ | ------------:|
| Service 1 | c5.2xlarge | 8 | 16 | 32 | USD 159.42 |
| Service 2 | | | | | |
| Service 3 | | | | | |
| Service 4 | | | | | |
| Service 5 | c5.2xlarge | 8 | 16 | 32 | USD 159.42 |
| Service 6 | | | | | |
| Service 7 | | | | | |
| Service 8 | | | | | |
| **Totals** | | 16 | [32][1] | 64 | USD 318.84 |
正如我所提到的,我相信这是一个天真的比较,但我想我最终会处于同样的水平,不会偏离5倍。我知道ECS/EKS会给我更好的资源利用率,但它需要提高470%的效率才能实现收支平衡,这似乎是不合理的。
[1] :虽然c5的内存是它的两倍,但考虑到mem:vCPU的比例为1:10,我认为这对delta的影响不大。
[2] :假设预订1年,EC2实例节省计划,无前期
这种比较是无效的,因为它们是不同的产品,所以就像Vikrant所说的那样,它将苹果与橙子进行比较。
t4g是可突发的CPU实例
- 适用于流量激增的网站
- 用户数量相对较少(访客数量激增(
在t4g问世之前,有t3a、t3、t2、t1……每一代都以更低的价格提供更好的性能。它也是基于graviton处理器,而不是英特尔至强C5正在使用。此外,您还考虑了保留实例。
当t4g实例的CPU点数用完时
T实例是如此实惠,因为一旦CPU信用用完,CPU就会慢到爬行。(例如,在微观情况下为10%(
C5用于高且恒定的CPU负载
- 首先,定价与几个月前发布的新产品相比没有竞争力
- 此外,它不提供可爆发的CPU性能
- C5提供高恒定的原始CPU功率
- 专注于CPU和相对较少的RAM
- C5提供更好的网络带宽
C5适用于CPU负载持续繁重的应用程序。Web服务器通常对CPU的要求不高,并且当流量模式发生变化时,工作负载会激增。
除非对于响应时间要求非常快、需要大量CPU计算的网站,否则T系列实例更适合web服务器。
当然,如果该网站为来自多个时区的大量人员提供服务,那么工作量将更高、更稳定。在这种情况下,C5可能是更好的选择。
如果需要的话,你可以一直以100%的速度运行CPU,这与CPU信用无关,而且不会减慢速度。它提供恒定且高的CPU性能,您可以一直使用它。
使用C5和T4g
高访问量web服务器的策略设置是使用C5来提供非常稳定的基线性能,并使用T实例在繁忙时间处理额外的流量。例如,订餐平台可以使用C5来处理基线客户订单,并使用T实例来处理午餐和晚餐前后的高峰时间。
这样,当流量下降时,T实例将慢慢获得CPU信用。此外,如果CPU耗尽,您也不必担心服务器会变得非常慢(10%的速度(,因为即使所有T实例都在变慢,您也有一个非常快的C5实例来备份它。