venkaiahmalli96/Built-AIOps-CloudSRE-Platform

GitHub: venkaiahmalli96/Built-AIOps-CloudSRE-Platform

一个以电商平台为模拟场景的端到端SRE/AIOps平台,涵盖7个微服务的开发、Kubernetes部署、GitOps交付、全链路监控以及AI智能事件响应的完整生命周期。

Stars: 0 | Forks: 0

# AIOps-CloudSRE 平台 ## 这个项目是什么? 这个项目模拟了一个**真实的电商平台**,其构建和运营方式与顶尖科技公司内部的做法一致。它不仅仅是一个应用——而是围绕该应用的整个生态系统: - 应用是如何**构建**的 (microservices) - 应用是如何**容器化**的 (Docker) - 应用是如何**部署**的 (AWS 上的 Kubernetes) - 应用是如何**自动化**的 (CI/CD pipelines) - 应用是如何**监控**的 (Prometheus + Grafana) - **事件是如何被调查**的 (使用 AWS Bedrock 的 AI Agent) 这里使用的每一项技术,都被 Netflix、Uber、Amazon 和 Google 等公司应用于其生产系统中。 ## 架构概述 ``` Developer Machine | | git push v GitHub Repo | | triggers v GitHub Actions (CI Pipeline) - builds Docker images - runs tests - pushes images to ECR | | updates image tags v Git Repository | | ArgoCD watches v AWS EKS Cluster (Kubernetes) ┌─────────────────────────────────────────┐ │ │ │ ┌──────────┐ ┌──────────────────┐ │ │ │ Frontend │────>│ Auth Service │ │ │ │ (React) │ │ (Login/Signup) │ │ │ └──────────┘ └──────────────────┘ │ │ │ │ │ ├──────────> Product Service │ │ ├──────────> Cart Service │ │ ├──────────> Order Service │ │ ├──────────> Payment Service │ │ └──────────> Notification Service │ │ │ └─────────────────────────────────────────┘ | | | | logs + metrics v v Prometheus CloudWatch + Grafana (AWS Logs) (Dashboards) | | AWS Bedrock (Kira AI Agent) - Investigates incidents - Analyzes logs - Finds root cause ``` ## 技术栈 ### 1. Node.js — 应用 Runtime **它是什么:** 为所有 7 个后端 microservices 提供动力的 JavaScript runtime。 **它带来了什么:** 能够每秒处理数千个请求的快速、轻量级服务。 **最终结果:** 每个 microservice 都是一个运行在各自 container 中的独立 Node.js 应用。 ### 2. React — 前端框架 **它是什么:** 用于构建用户界面的 JavaScript 库。 **它带来了什么:** 一个供用户交互的快速、交互式的 Web 应用。 **最终结果:** 一个能与所有后端服务通信的全功能电商前端。 ### 3. Docker — 容器化 **它是什么:** 将每个 microservice 及其所有依赖项打包到一个 container 中。 **它带来了什么:** 消除了“在我的机器上能运行”的问题——container 在任何地方运行的结果都完全一致。 **最终结果:** 7 个服务中的每一个都运行在各自独立的 container 中,无论是在本地还是在云端。 ### 4. Docker Compose — 本地开发 **它是什么:** 只需一条命令就能在你的笔记本电脑上同时运行所有 container 的工具。 **它带来了什么:** 无需接触云端即可获得完整的本地开发环境。 **最终结果:** 运行 `docker compose up`,整个平台将在几分钟内在你的机器上启动。 ### 5. Kubernetes (AWS EKS) — 容器编排 **它是什么:** 在生产环境中管理、扩展和修复 container 的系统。 **它带来了什么:** 如果一个 container 崩溃,Kubernetes 会自动重启它。如果流量激增,它会增加更多的 container。 **最终结果:** 所有 7 个 microservices 都运行在 AWS EKS 上,具备自动扩缩容和自我修复能力。 ### 6. Terraform — 基础设施即代码 **它是什么:** 通过编写代码而不是在控制台中点击来创建 AWS 基础设施的工具。 **它带来了什么:** 整个 AWS 环境 (VPC, EKS, ECR 等) 可以通过一条命令创建或销毁。 **最终结果:** 所有 AWS 基础设施都实现了版本控制、可复现和自动化。 ### 7. GitHub Actions — CI/CD 流水线 **它是什么:** GitHub 内置的自动化工具,在你推送代码时运行任务。 **它带来了什么:** 每次代码推送都会自动构建 Docker 镜像、运行测试并推送到 AWS ECR。 **最终结果:** 从代码推送到部署零手动步骤——完全自动化的 pipeline。 ### 8. ArgoCD — GitOps 部署 **它是什么:** 监视你的 Git 仓库并自动将更改部署到 Kubernetes 的工具。 **它带来了什么:** Git 成为唯一的真实来源——生产环境中无需手动执行 kubectl 命令。 **最终结果:** 推送到 Git = 自动部署到 EKS。每一次更改都可以通过 Git 历史记录进行审计。 ### 9. Prometheus — 指标收集 **它是什么:** 每 15 秒从每个 microservice 抓取指标的监控工具。 **它带来了什么:** 收集诸如请求率、错误率、CPU 使用率、内存使用率随时间变化的数据。 **最终结果:** 一个包含平台内发生的所有事情的完整指标数据库。 ### 10. Grafana — 监控仪表盘 **它是什么:** 从 Prometheus 读取数据并绘制图表和仪表盘的可视化工具。 **它带来了什么:** 展示每个服务健康状况的精美实时仪表盘。 **最终结果:** 一个可以查看整个平台健康状况(请求、错误、延迟、资源)的仪表盘。 ### 11. AWS CloudWatch — 日志管理 **它是什么:** 收集和存储所有 container 日志的 AWS 服务。 **它带来了什么:** 集中式日志存储——在一个地方即可搜索所有 7 个服务。 **最终结果:** 来自每个服务的每一行日志都存储在 CloudWatch 中,用于调试和审计。 ### 12. AWS Bedrock — AIOps AI Agent (Kira) **它是什么:** 为 Kira 事件响应 agent 提供支持的 AWS 托管 AI 服务。 **它带来了什么:** AI 通过读取日志、指标和集群健康状况来自动调查事件。 **最终结果:** 当出现故障时,Kira 会分析所有数据并告诉你根本原因——无需手动调查。 ## 项目服务 | 服务 | 描述 | 端口 | 技术 | |---------|-------------|------|------------| | Frontend | React 电商 Web 应用 | 3000 | React, Nginx | | Auth Service | 用户注册和登录 | 3001 | Node.js, JWT, bcrypt | | Product Service | 产品目录和搜索 | 3002 | Node.js, PostgreSQL | | Cart Service | 购物车管理 | 3003 | Node.js, Redis | | Order Service | 订单下达和跟踪 | 3004 | Node.js, PostgreSQL | | Payment Service | 支付处理 | 3005 | Node.js, Stripe API | | Notification Service | 邮件和短信警报 | 3006 | Node.js, SendGrid | ## AWS 基础设施 | 资源 | 用途 | |----------|---------| | VPC | 跨 3 个可用区的私有网络 | | EKS Cluster | 托管 Kubernetes 控制平面 | | EC2 Node Groups | 运行 container 的工作节点机 | | ECR | 私有 Docker 镜像仓库 | | CloudWatch | 集中式日志存储 | | Bedrock | 用于 Kira agent 的 AI 基础模型 | | IAM Roles | 最小权限安全策略 | | ALB | 面向公共流量的应用负载均衡器 | ## 项目阶段 | 阶段 | 构建内容 | 状态 | |-------|--------------|--------| | 阶段 1 | 环境设置 (Git, Docker, AWS CLI, Terraform, kubectl) | ✅ 已完成 | | 阶段 2 | 项目结构与 GitHub 仓库 | ✅ 已完成 | | 阶段 3 | 使用 Node.js 构建 7 个 Microservices | 🔄 进行中 | | 阶段 4 | Docker 化所有服务 + Docker Compose 本地运行 | ⏳ 待定 | | 阶段 5 | GitHub Actions CI/CD 流水线 | ⏳ 待定 | | 阶段 6 | Terraform — 配置 AWS 基础设施 | ⏳ 待定 | | 阶段 7 | Kubernetes Manifests + ArgoCD GitOps | ⏳ 待定 | | 阶段 8 | Prometheus + Grafana 监控 | ⏳ 待定 | | 阶段 9 | AIOps — AWS Bedrock Kira Agent | ⏳ 待定 | ## 最终结果 — 你将得到什么 完成所有阶段后,你将拥有: 1. **一个在线的公共 URL** — 你的电商应用运行在 AWS 上 2. **一条 CI/CD 流水线** — 推送代码即可自动部署 3. **实时仪表盘** — Grafana 展示实时指标 4. **AI 事件响应** — Kira 调查并解释故障 5. **一个完整的 GitHub 作品集** — 包含所有代码、配置和文档 6. **值得放上 LinkedIn 的项目** — 展示了真实的 SRE 技能 ## 面试谈资 - *"我在 AWS EKS 上使用 Kubernetes 部署了一个包含 7 个 microservice 的电商平台"* - *"我使用 GitHub Actions 和 ArgoCD GitOps 构建了一个完全自动化的 CI/CD 流水线"* - *"我使用 Terraform 基础设施即代码配置了所有 AWS 基础设施"* - *"我设置了 Prometheus 和 Grafana 来监控所有服务的请求率、错误率和延迟"* - *"我集成了一个使用 AWS Bedrock 的 AI agent,它可以自动调查并解释生产环境事件"* ## 作者 **Venkaiahmalli** - GitHub: [github.com/venkaiahmalli96](https://github.com/venkaiahmalli96) - Email: venkaiahmalli96@gmail.com
标签:AIOps, AI事件响应, API集成, ArgoCD, AWS Bedrock, AWS ECR, AWS EKS, CISA项目, Docker, EC2, ECS, GitHub Actions, GitOps, Grafana, IaC, MITM代理, NIDS, React, SRE, StruQ, Syscalls, Terraform, 云部署, 人工智能, 偏差过滤, 可观测性, 后端服务, 子域名突变, 安全防御评估, 容器化, 容器编排, 开源框架, 弹性伸缩, 微服务架构, 持续交付, 持续集成, 搜索引擎查询, 支付服务, 数据管道, 智能运维, 测试用例, 生产级架构, 用户模式Hook绕过, 电商平台, 站点可靠性工程, 脚本检测, 自动化运维, 自动笔记, 自定义请求头, 订单服务, 认证服务, 请求拦截, 购物车服务, 软件工程, 通知服务, 镜像仓库