ferkuellar/northbound-control-tower

GitHub: ferkuellar/northbound-control-tower

面向多云环境的企业级云运营智能平台,统一 AWS 和 OCI 的资产清点、成本优化、治理合规、可观测性与灾备评估,并通过 AI 辅助生成面向高管和技术团队的运营报告。

Stars: 0 | Forks: 0

Northbound Control Tower — Executive cloud operations dashboard

# Northbound Control Tower **为需要可视化而非复杂性的团队提供的多云运营智能平台。** [![阶段](https://img.shields.io/badge/phase-0%20%E2%80%94%20Foundation-blue)](#路线图) [![技术栈](https://img.shields.io/badge/stack-FastAPI%20%7C%20Next.js%20%7C%20PostgreSQL-informational)](#技术栈) [![云平台](https://img.shields.io/badge/clouds-AWS%20%7C%20OCI-orange)](#支持的云平台) [![许可证](https://img.shields.io/badge/license-proprietary-lightgrey)](./LICENSE) [![状态](https://img.shields.io/badge/status-active%20development-yellow)](#路线图)
## 什么是 Northbound Control Tower? Northbound Control Tower 是一个面向企业的多云运营智能平台。 它为云团队和高管提供了对其云资产统一、结构化的视图——涵盖资产清单、成本暴露、治理缺口、可观测性就绪情况以及韧性态势——而无需具备各家云厂商原生工具的深厚专业知识。 该平台摄取原始的云数据,跨云厂商对其进行标准化,针对这些数据运行发现引擎,对风险进行评分,并将结果输入到 AI 辅助的报告层,从而生成技术评估和面向高管的摘要报告。 **它解决的核心问题:** 大多数同时使用 AWS 和 OCI 的组织面临着可视化的碎片化问题。原生控制台彼此隔离,成本异常难以被及时发现,治理问题暴露较晚,而高管报告则需要人工编制。Control Tower 在一个单一的运营层中填补了这些空白。 ## 平台 ### 高管仪表板 跨六个维度的实时运营评分,支持按客户筛选、资产清单摘要和风险细分。所有评分均具有确定性,并从实时的云资产清单数据中提取。 Executive Dashboard — Clara Fintech AWS Production with operational scores and risk breakdown ### FinOps 成本分析 深度的成本暴露分析,提供优先级建议、预计的每月节省费用以及可下载的成本模型 CSV。 FinOps case study — $250k monthly spend with $40k monthly savings identified ### 多租户客户端管理 完整的多租户架构,支持按客户的云账号隔离、评分以及组合级别的管理。 Client administration — 450 registered tenants ## 本项目不包含的内容(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 级别和董事会级别受众的通俗语言叙述,涵盖风险态势、成本暴露和优先行动计划。 ## 架构 ![Northbound Control Tower — 架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3b0f6cb5cc120014.png) 处理流程从云账号凭证开始,经过收集、标准化和基于规则的分析,进入确定性评分层。结构化的发现结果随后输入到 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, 云可见性, 云安全态势管理, 云成本优化, 云智能, 云清单, 云财务运营, 云运营, 前端应用, 多云管理, 控制塔, 搜索引擎查询, 无线安全, 测试用例, 版权保护, 用户代理, 自定义请求头, 逆向工具, 风险评分, 高管报告