LabHub
学习 学习路径 课程

成本与架构决策

账单上的四行

在 LabHub 中继续学习

一句话总结

云成本归根结底可以归纳为四个维度——运行了多长时间、存储了多少数据、 传输了多少数据、调用了多少次。 确认费用来自哪个维度,优化方向也就确定了。

概念图: “不使用时关闭” · 随时可能被回收 · 最低基线(baseline) · 注意

为什么需要理解成本构成

云账单并不是单一的服务器价格,而是运行时间、存储容量与请求、数据 传输以及托管功能的总和。只降低一个维度,可能导致另一个维度的成本上升, 因此,阅读账单时不应只按资源类型划分,而应按费用产生的原因进行分析。

它是如何工作的

四个维度

维度 计费依据 降低成本的方法
计算 实例 × 时间 缩小规格、不使用时关闭、承诺折扣
存储 GB × 月 生命周期策略、低价层级、删除
数据传输 GB(主要是出站方向) 重新设计路径、缓存、压缩
请求/作业 调用次数 批处理、缓存

关键在于第一行就写着**“不使用时关闭”**。如果开发与预发布环境只在 工作日的办公时间开启,仅这一项就能减少约 70% 的成本 (每周 24×7 = 168 小时,而实际只使用 9×5 = 45 小时)。

承诺折扣的结构

同一种实例,购买方式不同,价格也可能相差很大。

方式 折扣 条件
按需 随时启动或关闭
承诺使用(1~3 年) 30~60% 承诺使用期限,即使不用也要付费
Spot / 抢占式 60~90% 随时可能被回收

Spot 的折扣幅度非常大,但资源可能突然被回收。因此,它只能用于允许中断的 作业,例如批处理、CI Runner、可以重试的队列消费者。把它用于有状态 服务,就会引发事故。

承诺使用恰好相反。标准做法是只对**最低基线(baseline)**部分做出承诺, 波动部分使用按需资源补齐。如果按峰值做出承诺,闲置多少就会损失多少。

存储层级

根据访问频率不同,价格可能相差十倍以上。

자주 접근  →  가끔  →  드묾  →  보관용(아카이브)
비쌈                              가장 쌈, 꺼내는 데 시간·요금

通过生命周期策略自动迁移数据,例如“超过 30 天转到低频层,超过 90 天转到 归档层,超过 365 天删除”。如果没有设置策略,数年的日志会不断积累, 而且始终留在最昂贵的存储层。

注意:从归档层取回数据既需要时间,也会产生费用。把经常访问的数据 放进去,反而会更加昂贵。

隐藏的费用

第一次查看账单时,通常会看到几项难以理解的费用。

没有标签,就什么也做不了

要降低成本,首先必须知道谁为了什么创建了哪些资源,而标签承担的正是 这个职责。

Owner       = platform-team
Env         = prod | stage | dev
Service     = payments
CostCenter  = 1042

标签规则必须在资源数量还少时建立,才有可能真正执行。等数百个资源在没有标签的 情况下积累之后,事后补齐实际上几乎不可能。如果再通过策略禁止创建没有标签的资源, 规则就能自动得到遵守。

实际工作中会遇到的情况

接下来要看什么

四个维度中最常被低估的一项——数据传输。