几年前,一位客户因为账单问题给我打来电话。他们每月的云成本飙升到了正常支出的三倍,却没人能说清原因。他们的工具只报告了总成本,无法提供更多解释。我导出了原始消费数据,发现了一个本应关闭却暴露在外的端口。整个排查过程用了不到一个小时。

这类问题只要有人知道该往哪里查,就能找到答案。而如今,在我接触的大多数环境中,桌面支出已经从终端用户计算预算转移到了云基础设施预算中,随之而来的成本挑战也变得不再那么容易梳理。这一变化让预算审查的重点从"是否出现了异常峰值"转变为"整个稳态成本是否合理"。

过去衡量成功的标准是员工能否登录并完成工作。如今IT部门是从云基础设施的角度评估成本,预算关注的是利用率、承诺折扣覆盖率和浪费性支出。利用率标准属于云预算的范畴,体验标准则属于业务部门,IT部门必须在两者的期望之间寻求平衡。

桌面池为何难以通过利用率审查

桌面池正是利用率标准与体验标准失衡的地方。桌面池的规模设计以峰值为导向:并发量在班次开始时飙升,存储系统同时承受IOPS的冲击,如果桌面池无法消化这一冲击,所有人都会立刻感受到影响。因此,你必须按峰值来构建系统。但峰值持续时间很短,其余时间里,这部分容量的实际使用率远低于其设计承载能力。一个正确调配规模的桌面池,在大多数时段看起来都处于利用不足的状态,而这正是设计使然。

当桌面池的利用率数据被纳入季度成本审查时,报告显示的是一个运行在容量以下的资源池。这个数字本身没有错,但利用率是按全天平均计算的。而容量的设计初衷,恰恰是为了应对一天中最糟糕的那四十分钟。

随之而来的通常是一刀切的削减,比如:将虚拟机使用时长限制为每天八小时,缩减资源池规模,并将省下的成本记入账。这种做法在异常情况浮现之前都能站得住脚。"八小时工作日"听起来合理,直到你考虑到那些十小时轮班的员工(说的就是你,医疗行业)。限制容量确实能削减这一项支出,但代价会以护士在轮班结束前会话中断的形式体现出来。这个代价落在了业务部门身上,而不是云账单上,这正是这种做法能在审查中蒙混过关的原因。

如何回答利用率问题

这本质上是一个可见性问题,其次才是规划问题。云计算账单列出了资源清单,却没有告诉你哪些用户群体在使用什么资源。在成本报告上,一个十小时轮班且频繁使用视频的岗位,看起来和一个八小时办公桌工作的员工毫无差别。建模的起点,是要弄清楚使用行为背后到底是谁。

获得这种可见性有两种方式:使用具备工作负载感知能力的FinOps工具,或者建立细致的标签管理体系。如果使用工具,它应该能够识别单个用户、桌面以及相关支持组件,从而准确定位支出并给出建议。最终目标是有效优化工作负载并降低成本。

如果选择标签这条路径,就必须在部署阶段就完成标记。每一台虚拟机、每一个存储账户、每一项网络资源都要打上标签,标明归属方。这样组织就可以按团队拆解账单,标签也能揭示出哪些用户群体在驱动哪些成本。

我的那位客户当时完全没有建立这套体系,这也是为什么在我深入原始数据之前,没人能说清是哪个资源、谁在负责、哪个业务单元造成了成本飙升。归因分析本身并不能关闭那个暴露的端口,但它能让相关责任人在事发第二天就看到这笔费用,而不是等到账单周期结束才发现。

你无法(也不应该)独自完成这件事

云平台会标记出闲置资源,但不会告诉你你的资源池是为了应对早上七点的登录高峰而设计的。它们给出的建议是基于资源层面的,且从设计上就不具备工作负载感知能力,因此工作负载的上下文信息必须由你自己提供。那些能在这场不断变化的利用率讨论中保持领先的团队,正是那些仍然自主做出容量决策的团队。

Q&A

Q1:为什么桌面池的利用率报告总是显示利用不足?

A:桌面池的容量设计是按峰值需求来配置的,比如班次开始时的登录高峰。这个峰值持续时间很短,其余时间资源使用率自然远低于设计容量,这种"利用不足"实际上是正确设计的结果,而不是浪费。

Q2:直接削减桌面池容量能省钱吗?

A:短期看能降低账单数字,但风险很大。比如按八小时工作日设定上限,会导致十小时轮班的员工(如医护人员)在下班前会话被强制中断,这个代价会转嫁给业务部门,而不会体现在云账单上。

Q3:企业该如何解决DaaS和IaaS预算合并后的成本归因问题?

A:可以采用两种方式:一是使用具备工作负载感知能力的FinOps工具,识别具体用户和资源使用情况;二是在资源部署阶段就建立细致的标签体系,标明每项资源的归属团队和责任人,从而实现精准的成本拆解和责任追踪。

InformationWeek