Kruthikarya/Infrastructure-Cost-Optimizer

GitHub: Kruthikarya/Infrastructure-Cost-Optimizer

基于 Spring Boot 构建的轻量级云成本优化工具,通过分析 CSV 账单报告帮助团队监控预算、追踪支出趋势并获取优化建议。

Stars: 0 | Forks: 0

# 基础设施成本优化器 一个使用 Java 和 Spring Boot 构建的轻量级 FinOps 和 DevOps 工具,可分析云账单报告、跟踪基础设施支出、识别成本趋势,并提供优化建议以帮助团队控制云开销。 ## 概述 ChatGPT Image Jun 16, 2026, 03_43_00 PM 云服务提供商会生成详细的账单报告,但要了解资金的去向以及确定优化机会可能颇具挑战性。 基础设施成本优化器通过处理账单报告、对支出进行分类、监控预算使用情况并生成可操作的建议来减少不必要的开销,从而简化了云成本分析。 ## 功能 ### 成本分析 - 上传云账单报告(CSV 格式) - 按服务分析基础设施支出 - 查看每月云总成本 - 识别消耗成本最多的服务 ### 预算监控 - 设置月度支出预算 - 跟踪预算利用率 - 在接近限额时收到预警 - 检测预算超支 ### 成本分类 自动将云服务分类为: - Compute - Storage - Database - Network - 其他服务 ### 趋势分析 - 月度成本对比 - 成本增长跟踪 - 历史支出分析 - 支出预测 ### 优化建议 生成基于规则的建议,例如: - 缩减未充分利用的 compute 资源 - 归档不常访问的 storage - 优化 database 资源分配 - 降低 network 传输成本 ### 仪表盘洞察 - 每月总支出 - 剩余预算 - 成本分布图表 - 按成本排名的顶级服务 - 月度支出趋势 ## 技术栈 ### 后端 - Java 17 - Spring Boot - Spring MVC - Spring Data JPA ### 数据库 - MySQL ### 前端 - Thymeleaf - Bootstrap 5 ### 实用工具 - Apache Commons CSV - Maven ## 系统架构 ``` User │ ▼ Upload Billing CSV │ ▼ CSV Processing Engine │ ▼ MySQL Database │ ▼ Cost Analysis Service │ ├── Budget Monitoring ├── Trend Analysis ├── Cost Categorization └── Recommendation Engine │ ▼ Dashboard UI ``` ## 项目结构 ``` src ├── controller │ ├── DashboardController │ ├── UploadController │ ├── service │ ├── CsvProcessingService │ ├── CostAnalysisService │ ├── BudgetService │ └── RecommendationService │ ├── repository │ └── CostRepository │ ├── entity │ └── CloudCost │ ├── templates │ ├── dashboard.html │ ├── upload.html │ └── resources └── application.properties ``` ## 示例 CSV 格式 ``` service,cost EC2,500 S3,120 RDS,200 Lambda,50 CloudFront,80 ``` ## 示例优化规则 ### 计算 ``` If Compute Cost > 60% of Total Cost Recommendation: Consider downsizing virtual machines Potential savings: 10-15% ``` ### 存储 ``` If Storage Cost > 30% of Total Cost Recommendation: Move infrequently accessed files to cheaper storage tiers ``` ### Database ``` If Database Cost > 40% of Total Cost Recommendation: Review instance sizing and database utilization ``` ## 安装说明 ### 克隆仓库 ``` git clone https://github.com/your-username/infrastructure-cost-optimizer.git cd infrastructure-cost-optimizer ``` ### 配置数据库 更新: ``` spring.datasource.url=jdbc:mysql://localhost:3306/cost_optimizer spring.datasource.username=root spring.datasource.password=your_password ``` ### 运行应用程序 ``` mvn spring-boot:run ``` 应用程序将启动于: ``` http://localhost:8080 ``` ## 未来增强 - AWS Cost & Usage Report (CUR) 集成 - Azure Cost Management 集成 - GCP Billing 集成 - 邮件预算警报 - 使用机器学习进行成本预测 - 多用户支持 - 将报告导出为 PDF 和 Excel ## 用例 - 云成本监控 - 预算跟踪 - FinOps 报告 - 成本优化分析 - 基础设施支出洞察 ## 学习成果 - Spring Boot 应用程序开发 - CSV 文件处理 - 使用 MySQL 进行数据库设计 - 数据可视化 - FinOps 概念 - 成本分析技术 - 仪表盘开发 ## 作者 作为 DevOps 和 FinOps 项目开发,旨在提供可操作的云成本洞察,并支持高效的基础设施支出决策。
标签:FinOps, Spring Boot, 云成本优化, 代码示例, 数据分析