A comprehensive database DevOps platform that automates database infrastructure management, optimizes costs across multiple database engines, and provides GitOps-style database operations with real-time cost analysis and resource optimization.
- Docker & Docker Compose
- Git
- 8GB+ RAM (16GB recommended)
- 4+ CPU cores (8+ recommended)
- Clone and Setup
git clone <repository-url>
cd DBCostOps- Start All Services
docker-compose up -d- Initialize Services
# Wait for services to start (2-3 minutes)
# Initialize Puppet environment
docker-compose exec puppet-server puppetserver ca generate
# Initialize databases
docker-compose exec postgres-primary psql -U dbcostops_user -d dbcostops -c "CREATE EXTENSION IF NOT EXISTS pg_stat_statements;"
docker-compose exec mysql-primary mysql -u root -proot_password -e "CREATE DATABASE IF NOT EXISTS rundeck;"
docker-compose exec mongodb-primary mongosh --eval "db.getSiblingDB('dbcostops').createCollection('init')"- Access Applications
- Grafana Dashboard: http://localhost:3000 (admin/admin123)
- Kibana Analytics: http://localhost:5601
- Rundeck Jobs: http://localhost:4440 (admin/admin)
- Puppet Server: http://localhost:8080
- Cost Engine API: http://localhost:8000/docs
- Prometheus: http://localhost:9090
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β GitOps β β Rundeck UI β β ELK Stack β
β Repository βββββΊβ (DevOps Jobs) βββββΊβ (Cost Analytics)β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Puppet Master β β Cost Engine β β SQL Optimizer β
β (Configuration) βββββΊβ (AI Analysis) βββββΊβ (Query Analysis)β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββ
β Database Cluster β
β (Multi-Engine) β
βββββββββββββββββββ
- Multi-Database Support: PostgreSQL, MySQL, MongoDB, Redis
- Puppet Configuration: Infrastructure as Code for database deployments
- GitOps Workflows: Version-controlled database operations
- Automated Scaling: Intelligent resource allocation
- Real-time Cost Tracking: Live monitoring of database costs
- Resource Optimization: Automated right-sizing recommendations
- AI-Powered Analysis: Machine learning for cost prediction
- Budget Management: Budget tracking and alerts
- ELK Stack: Advanced log analysis and visualization
- Prometheus Metrics: Real-time performance monitoring
- Grafana Dashboards: Interactive cost and performance dashboards
- Custom Analytics: Tailored insights for database optimization
- Rundeck Integration: Automated database lifecycle management
- Compliance Automation: Automated compliance checking
- Backup Management: Intelligent backup strategies
- Maintenance Scheduling: Automated maintenance with cost optimization
# Clone configuration repository
git clone ./gitops/dbcostops-configs
cd dbcostops-configs
# Make changes to database configuration
vim databases/postgresql/production.yaml
# Commit and push changes
git add .
git commit -m "Update PostgreSQL configuration"
git push origin main# Access cost engine API
curl http://localhost:8000/api/v1/cost/current
# Get optimization recommendations
curl http://localhost:8000/api/v1/optimization/recommendations- Grafana: http://localhost:3000 - Cost and performance dashboards
- Kibana: http://localhost:5601 - Log analysis and cost analytics
- Prometheus: http://localhost:9090 - Raw metrics
- Rundeck: http://localhost:4440 - Database operations and maintenance
- Puppet: Infrastructure configuration and management
dbcostops/
βββ docker-compose.yml # Local environment setup
βββ puppet/ # Puppet modules and manifests
β βββ modules/
β βββ manifests/
β βββ hieradata/
βββ elk-stack/ # ELK configuration
β βββ elasticsearch/
β βββ logstash/
β βββ kibana/
βββ databases/ # Database configurations
β βββ postgresql/
β βββ mysql/
β βββ mongodb/
βββ cost-engine/ # Cost optimization engine
β βββ pricing-api/
β βββ optimization/
β βββ analytics/
βββ rundeck/ # Rundeck jobs and workflows
βββ gitops/ # Git repository for configs
βββ monitoring/ # Grafana dashboards
- Navigate to Grafana dashboard
- View current database costs
- Apply optimization recommendations
- Monitor cost savings in real-time
- Modify database configuration in Git repository
- Submit pull request
- Automated testing and validation
- Deploy to production with cost analysis
- View cost across PostgreSQL, MySQL, MongoDB
- Compare performance vs cost ratios
- Optimize resource allocation
- Generate compliance reports
- Simulate database failure
- Watch automated recovery process
- Monitor cost impact of recovery actions
- Generate incident reports
# Database Configuration
DATABASE_URL=postgresql://dbcostops_user:dbcostops_password@postgres-primary:5432/dbcostops
# Cost Engine Configuration
COST_ENGINE_REFRESH_INTERVAL=30
OPTIMIZATION_ENABLED=true
BUDGET_ALERTS_ENABLED=true
# Monitoring Configuration
PROMETHEUS_RETENTION=200h
ELASTICSEARCH_RETENTION=30d# puppet/hieradata/common.yaml
databases:
postgresql:
version: "15"
max_connections: 100
shared_buffers: "256MB"
cost_optimization: true
mysql:
version: "8.0"
max_connections: 150
innodb_buffer_pool_size: "512MB"
cost_optimization: trueThe system includes realistic cost simulation for:
- AWS RDS: PostgreSQL, MySQL, MongoDB pricing
- AWS ElastiCache: Redis pricing
- Storage Costs: EBS storage pricing
- Network Costs: Data transfer pricing
- Compute Costs: EC2 instance pricing
- Budget threshold alerts
- Anomaly detection
- Optimization opportunities
- Cost trend analysis
- Database performance degradation
- Resource utilization warnings
- Query performance issues
- Replication lag alerts
- Role-Based Access: Granular permissions for different user types
- Audit Logging: Complete audit trail of all operations
- Compliance Checks: Automated compliance validation
- Data Encryption: Encrypted data at rest and in transit
- Database Performance: Query performance, connection metrics
- Cost Metrics: Real-time cost tracking and optimization
- Resource Utilization: CPU, memory, storage usage
- Compliance Metrics: Compliance score and remediation
- Fork the repository
- Create feature branch
- Make changes
- Submit pull request with cost analysis
MIT License - see LICENSE file for details
For support and questions:
- Check documentation in
/docs - Review Grafana dashboards for troubleshooting
- Check Rundeck job logs for automation issues
- Review ELK logs for detailed analysis