mcpField
C
cost-optimization

cost-optimization

github.com/rampstackco云与 DevOps1.0k243 次安装2 周前更新
代码仓库

关于 cost-optimization

用于审查云服务、SaaS 和基础设施支出的规划技能。它按五种杠杆归类优化机会,并根据节省额、工作量和风险安排优先级。

主要功能

  1. 01五种成本杠杆:淘汰、缩配、重构、议价、转换思路
  2. 02支出分类与大额项目审查
  3. 03按节省额、工作量和风险排序机会
  4. 04执行步骤与持续成本监控
  5. 05成本优化文档的输出结构

适用场景

  1. 01预算削减或领导层审查前检查支出
  2. 02审计云资源与 SaaS 订阅
  3. 03准备供应商合同续约
  4. 04扩展规模或迁移服务商前规划成本变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rampstackco/claude-skills --skill cost-optimization

安装后在 Claude Code 中输入/cost-optimization确认已加载。

附带文件README.mdreferences/cloud-audit-checklist.md

详细介绍

成本优化

审查云服务、SaaS 和基础设施支出。削减不值得继续付费的项目。为配置过高的资源调整规格。对可协商的费用进行谈判,同时确保现有系统正常运行。


适用场景

  • 季度或年度成本审查
  • 财务部门发现支出不断增长
  • 即将续签供应商合同
  • 需要削减预算
  • 新领导层想了解具体数字
  • 在不同服务商之间迁移(成本是决策依据之一)
  • 大规模扩展前进行审计(在浪费随规模扩大前及时发现)

不适用场景

  • 正在处理事件响应(使用 incident-response)
  • 涉及基础设施的性能问题(使用 performance-optimization)
  • 评估新的采购供应商(使用 vendor-evaluation)
  • 人员或组织成本(不在此技能范围内)

所需输入

  • 当前成本(按月统计,最好提供过去 12 个月的数据)
  • 按服务或供应商细分的成本
  • 云资源清单(实例、数据库、存储等)
  • SaaS 订阅清单
  • 每项成本的负责人(谁决定支出、谁在使用)
  • 约束条件(合规、性能、合同条款)

框架:5 种杠杆

每个成本优化机会都属于以下某一种杠杆。

杠杆 1:消除

停止为无人使用的项目付费。

  • 闲置资源(正在运行但无人使用的实例、数据库、环境)
  • 无人登录的订阅
  • 重复工具(多个工具完成相同工作)
  • 仍在产生费用的旧项目
  • 应该拆除但尚未拆除的测试环境
  • 被遗忘的域名、备份、快照和日志

这通常是首次审计中最大的优化机会,往往能节省 10-30% 的支出。

杠杆 2:调整规格

按实际用量付费,而非按三年前为应对极端情况而预留的容量付费。

  • 规格过高的实例(CPU 和内存利用率低)
  • 过度配置的数据库(存储和吞吐量远高于实际用量)
  • 购买过多的 SaaS 席位
  • 标准方案足以满足需求,却购买了高级方案
  • 为非关键系统配置高可用架构

调整规格需要基于真实的使用数据,而非理论需求。

杠杆 3:重构

用更低成本的结构处理相同工作负载。

  • 预留或承诺使用定价(承诺 1-3 年可享 30-70% 折扣)
  • 对容错性强的工作使用竞价或可抢占实例
  • 对很少访问的数据使用冷存储
  • 根据访问模式分层存储(热、温、冷)
  • 使用 CDN 缓存减少源站负载
  • 压缩和去重
  • 对突发性工作负载使用无服务器架构
  • 对稳定的工作负载使用预留实例

合适的结构取决于访问模式。结构不匹配会增加成本。

杠杆 4:谈判

以更低价格购买相同服务。

  • 年度合同通常比月付费率更低
  • 达到更高档位可享受批量折扣
  • 为可预测的工作负载签订多年承诺
  • 捆绑优惠(将服务整合到同一家供应商)
  • 续约谈判(供应商预期你会提出要求)
  • RFP / 竞争性投标(借助替代方案作为谈判筹码)

大多数企业级供应商都可以谈判。大多数 SaaS 供应商则不会,除非购买更高档位。面向个人用户的服务通常不能谈判。

杠杆 5:重新审视

换个角度提出问题。

  • 自建还是购买:也许规模扩大后自建更便宜
  • 购买还是自建:也许规模较小时外包更便宜
  • 不同架构(例如,单体架构与微服务)具有不同的成本特征
  • 面向不同受众(是否所有客户都需要相同档位?)
  • 采用不同技术栈(开源还是商业方案)

重新审视是见效周期最长的杠杆。即使目前无法采取行动,也值得考虑。


工作流程

第 1 步:提取支出数据

按服务、供应商,以及(如可行)团队或项目获取每月成本。

对于云服务(AWS、GCP、Azure):使用计费控制台和成本分析工具。 对于 SaaS:查看各供应商的计费门户,并在可用时使用 SaaS 管理工具。 对于其他支出:使用银行对账单和会计系统导出数据。

至少获取 12 个月的数据。趋势与绝对金额同样重要。

第 2 步:分类

将支出整理到以下类别:

  • 托管 / 计算
  • 存储
  • 数据库
  • 网络 / CDN
  • 监控 / 可观测性
  • 电子邮件
  • CMS / 托管平台
  • 分析 / 营销
  • 生产力 / 协作
  • 开发工具
  • 安全 / 合规
  • 其他

类别因业务而异。重点是:将相似成本归为一类,便于比较。

第 3 步:找出最大的支出项

80/20 法则。通常,20% 的供应商占总支出的 80%。

将审计重点放在前 80% 的支出上。长尾支出也可以清理,但单项通常很难带来显著节省。

第 4 步:应用 5 个杠杆

针对每个主要支出项,逐一检查以下杠杆:

杠杆问题
淘汰有人在用吗?能否停止使用?
调整规模我们是否为未使用的容量付费?
重构是否有更便宜的定价模式或服务层级?
谈判上次续约是什么时候?当时谈过价格吗?
重新思考这真的是正确的做法吗?

记录机会、工作量、风险和预计节省金额。

第 5 步:确定优先级

在 2x2 矩阵中绘制各项机会:

  • Y 轴:节省金额
  • X 轴:工作量

象限:

  • 高节省、低工作量:优先处理
  • 高节省、高工作量:做好规划
  • 低节省、低工作量:有空时处理
  • 低节省、高工作量:跳过

还要考虑风险:

  • 淘汰无人使用的东西:低风险
  • 调整数据库规模:中等风险(先在预发布环境测试)
  • 替换关键依赖项:高风险(谨慎规划)
第 6 步:落实容易见效的措施

对于每个容易见效的机会:

  • 记录变更
  • 获得负责人批准
  • 执行变更
  • 监控是否产生意外影响
  • 在下一个账单周期确认成本是否降低

容易见效的措施通常包括:

  • 取消未使用的订阅
  • 拆除闲置资源
  • 在非工作时间关闭开发环境
  • 将冷数据迁移到更便宜的存储层级
第 7 步:规划工作量较大的事项

对于工作量较大的机会:

  • 详细说明变更(使用 pm-spec-writing 制定计划)
  • 在预发布环境测试
  • 逐步推出
  • 验证成本影响

例如:

  • 迁移到预留实例
  • 整合监控供应商
  • 迁移到其他 CMS 以降低成本
第 8 步:建立持续可见性

优化不是一次性工作。成本会逐渐回升。

  • 每月至少进行一次成本审查
  • 成本仪表板(当前支出、趋势、按类别划分)
  • 设置成本激增告警(例如,每日支出超过阈值时)
  • 为云资源添加标签或标记(按团队或项目查看成本)
  • 每季度进行一次深入审查
第 9 步:续约时谈判

对于即将续约的供应商合同:

  • 提前 60–90 天开始沟通
  • 确定备选方案(即使不切换供应商也要准备)
  • 询问多年期折扣
  • 询问用量阶梯价格
  • 询问能否调整用量规模
  • 愿意终止合作(大多数供应商都会想办法留住你)

疫情前,许多供应商会自动续约并涨价。疫情后,许多供应商迫切希望留住客户。主动提出要求。

第 10 步:制定政策

今后:

  • 评估新供应商时必须说明成本合理性
  • 资源配置需要达到相应审批门槛
  • 云资源必须添加标签和标记
  • 将季度审查列入日历
  • 明确成本归属

没有政策,成本就会逐渐攀升。


各类别的常见优化机会

托管和计算
  • 对可预测的工作负载采用预留或承诺使用定价(节省 30%–70%)
  • 对容错批处理任务使用竞价或可抢占实例
  • 针对负载波动启用自动扩缩容
  • 选择合适的实例系列(计算优化型、内存优化型等)
  • 在非工作时间关闭开发 / 预发布实例
存储
  • 使用生命周期策略,将旧数据迁移到更便宜的层级
  • 删除旧日志、备份和快照
  • 对归档数据进行压缩
  • 注意对象版本控制成本(每个版本都会作为对象存储)
数据库
  • 根据实际 CPU/内存使用情况调整规模
  • 为可预测的工作负载预留容量
  • 为读取密集型工作负载配置只读副本(比扩展主实例更便宜)
  • 删除未使用的索引(索引会占用存储空间并影响写入性能)
  • 归档或删除旧数据
网络和 CDN
  • CDN 可降低源站流出流量成本(通常是最大的成本类别)
  • 对传输数据进行压缩
  • 优化图像和视频
  • 根据区域进行路由
监控和可观测性
  • 对日志采样(不要摄取高流量来源的 100% 日志)
  • 设置保留策略(需要保留 90 天还是 30 天?)
  • 尽可能整合工具
  • 对非关键需求使用免费或开源工具
SaaS
  • 按席位审查登录情况(每席位收费 $X,闲置用户就意味着浪费 $X)
  • 在续约时重新谈判
  • 改为按年付费以享受折扣
  • 整合功能重叠的工具

失败模式

削减成本却导致问题。 未经测试就大幅缩减资源规模会造成服务中断。服务中断的成本通常远高于节省的费用。

优化耗时超过节省的成本。 一个团队花一季度时间,每年节省 $5K。这笔账算不过来。优先关注节省额高于投入的机会。

续约自动驾驶。 年度续约未经审查就自动完成。将续约列入日历。

没有标签。 云支出不断增长,却没人知道费用归谁。第一天起就为所有资源添加标签。

超出免费额度。 “它使用的是免费额度。”后来超出了额度,账单令人措手不及。为免费额度服务设置提醒。

环境没有区分。 为了“与生产环境一致”,将预发布环境配置为生产级别,成本与生产环境一样高。通常没有必要。

搁置的旧项目。 “旧项目还在运行。”为什么?通常是因为根本没人使用它。进行审计并将其关闭。

非高级需求却使用高级套餐。 因为有人想要某个功能而选择企业套餐,但该功能后来已加入较低级别的套餐。重新检查。

以供应商锁定为由接受高成本。 “我们无法切换。”这不是接受过高费用的理由,而是需要制定应对计划的战略问题。

忽视大头,只优化小项。 每月在工具上省下 $50,却让每月 $5K 浪费在过度配置的基础设施上。先从整体着手。

因小失大。 为了每月省下 $20 而砍掉实用工具,结果在手动工作上浪费数小时。能让成本回收的工具不应被砍掉。

没有再投资。 每一分钱的节省都计入利润,却没有任何资金再投入升级或扩容。节省成本和提升能力并非二选一。


输出格式

成本优化文档包括:

  • 当前状态: 总支出、按类别划分的支出及趋势
  • 主要项目: 成本最高的项目
  • 优化机会: 按优化杠杆分类(消除/调整规模/重构/谈判/重新定位)
  • 优先级列表: 包含节省金额、投入和风险
  • 行动计划: 负责人、日期
  • 已执行的快速见效措施: 已完成的事项及结果
  • 持续治理: 仪表板、审查频率、标签、审批阈值

如果无法获取所需数据

此技能的输出依赖其无法自行生成的数据、测量结果或工具结果。如果所需输入、工具或数据源不可用或无法核实,获准的输出应是交付内容,并注明缺口:需要什么、实际获取或核实了什么,以及输出中哪些部分会受到影响。严禁为了完成交付内容而捏造、估算或插算所需数字。说明缺口本身就是完整答复。


参考文件

评论

支持 Markdown