ferkuellar/northbound-control-tower
GitHub: ferkuellar/northbound-control-tower
面向多云环境的企业级云运营智能平台,统一 AWS 和 OCI 的资产清点、成本优化、治理合规、可观测性与灾备评估,并通过 AI 辅助生成面向高管和技术团队的运营报告。
Stars: 0 | Forks: 0
# Northbound Control Tower **为需要可视化而非复杂性的团队提供的多云运营智能平台。** [](#路线图) [](#技术栈) [](#支持的云平台) [](./LICENSE) [](#路线图)
### FinOps 成本分析
深度的成本暴露分析,提供优先级建议、预计的每月节省费用以及可下载的成本模型 CSV。
### 多租户客户端管理
完整的多租户架构,支持按客户的云账号隔离、评分以及组合级别的管理。
## 本项目不包含的内容(Phase 0 范围)
Phase 0 建立了一个深思熟虑、达到生产级标准的基础。以下内容根据设计被**排除在范围之外**,并将在后续阶段中解决:
| Phase 0 范围之外 | 原因 |
|---|---|
| Kubernetes 原生部署 | 推迟运营复杂性 |
| 微服务 / 事件驱动架构 | 优先采用模块化单体架构;在合理时再进行拆分 |
| 事件总线 (Kafka, SQS) | 在当前数据量下不需要 |
| 自动修复 | 在执行自动化之前必须建立信任 |
| 实时流处理 | 通过计划轮询实现的近实时已足够 |
| 高级 RBAC / 多租户身份验证 | Phase 0 中使用单租户 API 密钥认证 |
| Azure、GCP 或其他云平台 | 在核心模型稳定之前仅支持 AWS + OCI |
| 行级别的账单摄取 | 仅进行聚合的 FinOps 诊断 |
## 核心功能
### ☁️ 云资产清单
从 AWS 和 OCI 收集、标准化并将资源数据存储到统一的 schema 中。计算、存储、网络和 IAM 资源通过计划收集器持续进行编目。
### 💰 FinOps 诊断
识别成本暴露信号:闲置的计算实例、未附加的卷、规格过大的资源以及缺少预算对齐标签的资源。发现结果将被评分,并提供修复上下文。
### 🔒 治理分析
根据治理基线评估云资源:缺失必需标签、公开暴露的资产、缺乏静态或传输中加密,以及偏离资源命名约定。
### 👁️ 可观测性就绪情况
评估云资源是否配置了日志记录、指标和警报。生成每个账号的就绪评分,该评分直接映射到运营风险。
### 🛡️ HA/DR 就绪情况
标记单点故障:单可用区部署、缺失备份配置、缺乏跨区域复制以及非冗余的负载均衡器设置。
### 🤖 AI 驱动的报告
将标准化的发现结果和风险评分输入到结构化的 AI 上下文层。生成两种输出类型:
- **技术评估** — 包含修复步骤、严重性和受影响资源的详细发现结果。
- **高管摘要** — 面向 C 级别和董事会级别受众的通俗语言叙述,涵盖风险态势、成本暴露和优先行动计划。
## 架构

处理流程从云账号凭证开始,经过收集、标准化和基于规则的分析,进入确定性评分层。结构化的发现结果随后输入到 AI 上下文构建器中,该构建器驱动 Claude、OpenAI 或 DeepSeek 生成在 Next.js 仪表板中展示的高管和技术报告。
有关每个组件、数据模型和设计决策的完整详细信息,请参阅 [ARCHITECTURE.md](./ARCHITECTURE.md)。
## 技术栈
| 层级 | 技术 | 角色 |
|---|---|---|
| **API** | FastAPI | REST API、异步端点、OpenAPI schema |
| **任务队列** | Celery + Redis | 计划收集器、异步报告生成 |
| **数据库** | PostgreSQL + SQLAlchemy | 主数据存储、ORM |
| **数据库迁移** | Alembic | Schema 版本控制和迁移管理 |
| **缓存 / 消息代理** | Redis | Celery broker、结果后端、短期缓存 |
| **前端** | Next.js + TailwindCSS | 仪表板 UI、报告查看器 |
| **图表** | Apache ECharts | 资源分布、风险趋势、成本信号 |
| **AI 层** | Anthropic Claude / OpenAI / DeepSeek | 高管摘要、技术评估 |
| **指标** | Prometheus | 收集器指标、任务持续时间、发现结果计数 |
| **链路追踪** | OpenTelemetry | 分布式追踪、插桩钩子 |
| **仪表板** | Grafana | 平台自身的运营可观测性 |
| **基础设施** | Docker Compose | 本地和 staging 环境 |
## 支持的云平台
| 提供商 | 状态 | 凭证方法 |
|---|---|---|
| AWS | ✅ Phase 0 | IAM Role (assumed) 或 Access Key |
| OCI | ✅ Phase 0 | API Key + config 文件 |
| Azure | 🔜 Phase 1 | — |
| GCP | 🔜 Phase 2 | — |
## 快速入门
**前置条件:** Docker、Docker Compose、Git
```
# 1. Clone
git clone https://github.com/ferkuellar/northbound-control-tower.git
cd northbound-control-tower
# 2. 配置环境
make setup # copies .env.example → .env
# 编辑 .env:设置 JWT_SECRET_KEY,以及可选的 ANTHROPIC_API_KEY
# 3. 启动平台
make up
# 4. 打开 dashboard
open http://localhost:3000
```
**执行 `make up` 后的服务:**
| 服务 | URL | 描述 |
|---|---|---|
| 前端 | http://localhost:3000 | 高管仪表板 |
| 后端 API | http://localhost:8000 | FastAPI — OpenAPI 文档位于 `/docs` |
| Prometheus | http://localhost:9090 | 指标 |
| Grafana | http://localhost:3001 | 平台可观测性 (admin / admin) |
**常用命令:**
```
make logs # Stream all service logs
make backend-test # Run pytest suite
make backend-lint # Ruff check
make frontend-lint # ESLint
make down # Stop all services
make clean # Stop + remove volumes
```
## 文档
| 文档 | 目的 | 受众 |
|---|---|---|
| **README** *(本文件)* | 平台概述、功能、架构 | 所有人 |
| [ARCHITECTURE.md](./ARCHITECTURE.md) | 组件设计、数据模型、技术决策 | 工程师、架构师 |
| [QUICKSTART.md](./QUICKSTART.md) | 在 30 分钟内在本地运行技术栈 | 工程师 |
| [API_REFERENCE.md](./API_REFERENCE.md) | 完整的端点参考、请求/响应 schema | 开发者、集成人员 |
| [CONTRIBUTING.md](./CONTRIBUTING.md) | 分支约定、如何添加收集器和发现结果 | 贡献者 |
## 路线图
Control Tower 分阶段进行开发。每个阶段在扩展范围之前都会交付一个稳定、可用于生产的增量。
| 阶段 | 重点 | 状态 |
|---|---|---|
| **Phase 0** | 模块化单体架构 — AWS + OCI、核心发现、AI 报告、多租户 SaaS | 🔵 进行中 |
| **Phase 1** | Azure 支持、高级 RBAC、多租户账户、账单摄取 | ⚪ 已计划 |
| **Phase 2** | GCP 支持、自动修复工作流、Slack/Teams 警报 | ⚪ 已计划 |
| **Phase 3** | Kubernetes 原生部署、事件驱动架构、SaaS 模式 | ⚪ 已计划 |
阶段边界是经过深思熟虑的。只有在当前阶段稳定并经过运营验证后,才会添加新功能。
## 许可证
专有。保留所有权利。
© Northbound — NorthFinOps
有关许可事宜,请通过代码库联系维护人员。
使用 FastAPI · Next.js · PostgreSQL · Celery · Prometheus · OpenTelemetry · Claude AI 构建
标签:AI辅助分析, AV绕过, AWS, CSPM, DPI, FastAPI, FinOps, IT治理, IT运营分析, PostgreSQL, TinkerPop, 云可见性, 云安全态势管理, 云成本优化, 云智能, 云清单, 云财务运营, 云运营, 前端应用, 多云管理, 控制塔, 搜索引擎查询, 无线安全, 测试用例, 版权保护, 用户代理, 自定义请求头, 逆向工具, 风险评分, 高管报告