我开发了 CloudSweeper——一款基于AI的FinOps代理,帮助工程师自信地降低AWS和Azure的云成本。
与仅标记“可能存在浪费”的传统方案不同,CloudSweeper通过分析实际使用指标、配置、标签和历史行为,为每个资源提供以下三种明确建议:
- 保留
- 降配
- 删除
每项建议均附带置信度评分和预估的成本影响,使工程师能够放心操作,无需担心影响生产环境。
系统设计遵循以下原则:
- 只读权限(无写入权限)
- 默认安全(无自动化变更)
- 工程师参与决策(非全自动运行)
CloudSweeper的目标并非激进清理,而是帮助团队在管理云支出时,实现从可见性到自信行动的转变。
该产品主要服务中小型团队,这些团队可能没有专职的FinOps岗位,但仍需具备企业级的成本管控能力。
在线演示CloudSweeper 通过只读权限连接 AWS 和 Azure。
无需写入权限,无需复杂自动化。
您仅需提供最简连接信息,几分钟内即可完成配置,并在首次扫描后立即查看闲置资源建议。
云成本浪费的核心并非可见性问题,而是信心问题。
在我接触过的几乎所有AWS或Azure环境中,团队其实早已察觉到浪费的存在:闲置虚拟机、未使用的数据库、孤立的磁盘、被遗忘的IP地址。仪表盘让这些问题一目了然。
阻碍行动的是恐惧。没有工程师愿意成为因误删资源而导致生产环境故障的人。当资源所有权不明确、使用模式复杂时,最安全的选择就是维持现状,导致浪费持续累积。
CloudSweeper最初作为内部实验项目,旨在弥合这一差距。
其理念很简单:不仅仅是标记“可能存在浪费”,而是结合实际使用指标、配置数据和历史行为,进而解释资源为何被视为闲置,以及系统得出该结论的置信度。
如今,CloudSweeper作为一个AI赋能的FinOps代理,帮助工程师从可见性迈向自信决策——无需自动化,没有风险,且始终确保人工参与决策循环。
技术亮点CloudSweeper采用异步、多租户的Python架构。该系统可安全扫描客户云环境,且不影响现有工作负载。
核心技术栈
- Python 3.13(完全异步)
- aioboto3 用于AWS交互
- *Azure SDKs (`azure-`)** 用于Azure资源和指标访问
- aiohttp 用于异步HTTP操作
- Pydantic v2 用于严格的数据验证和模式执行
- Azure Cosmos DB 用于多租户状态和扫描结果存储
- python-dotenv 用于环境配置
云扫描架构
- 安全的只读IAM/RBAC访问(绝无删除权限)
- 支持AWS和Azure资源的异步扫描器
- 基于指标的空闲检测,使用CloudWatch(AWS)和Azure Monitor进行指标采集
-
保守的默认策略:
-
若指标缺失或模糊,则跳过该资源
- 不做假设,不强制分类
每个闲置候选资源均附带人类可读的空闲原因(例如实际CPU使用率、阈值和时间窗口),而不仅仅是二进制标志。
AI驱动的推荐引擎
- AI综合分析资源指标、配置、标签及历史数据
-
生成结构化建议:
-
保留
-
降配
- 删除
-
每项建议包含:
-
置信度评分
-
成本影响估算
- 推理过程追溯
系统明确采用工程师参与循环模式:不会执行任何自动操作。
通知与集成
- 基于Webhook的通知,用于推送检测到的闲置资源
- 通知负载包含详细的空闲原因和上下文
- 支持与Slack、Teams或内部系统等工具集成
- 具备重试逻辑和验证机制,确保投递可靠性
设计原则
- 异步优先,保障扩展性与速度
- 模块化代码库,严格限制单个模块大小
- 透明的日志记录与优雅降级
- 安全性优于激进性
- 可解释性优于黑盒决策
扩展性优势
CloudSweeper设计用于跨数百甚至数千个云账户进行扩展:
- 完全异步的扫描架构
- 无状态扫描器,实现租户隔离
- 与云供应商无关的推荐层
- 专为持续扫描设计,而非一次性审计
随着云使用量的增长,CloudSweeper可同步扩展,无需增加人力投入。
共同学习,写下你的评论
评论加载中...
作者其他优质文章