Skip to content

Latest commit

 

History

History
435 lines (363 loc) · 11.8 KB

File metadata and controls

435 lines (363 loc) · 11.8 KB

DSE Platform Templates - GitHub Repository Structure

Repository URL: https://github.com/DataScience-EngineeringExperts/dse-platform-templates

Purpose: Infrastructure-as-Code templates for all 26 DSE service offerings, deployable on-demand with zero idle costs.

Cost Model: Templates stored in GitHub (free), deployed only when needed for demos/clients.


📁 Repository Structure

dse-platform-templates/
├── README.md                                   # Main documentation
├── LICENSE                                     # Apache 2.0
├── .github/
│   ├── workflows/
│   │   ├── terraform-validate.yml              # CI: Validate all Terraform
│   │   ├── deploy-demo.yml                     # Deploy demo environments
│   │   └── cost-estimate.yml                   # Calculate deployment costs
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       └── feature_request.md
│
├── terraform-modules/                          # Core reusable modules
│   │
│   ├── aws-infrastructure/                     # AWS Infrastructure Solutions
│   │   ├── multi-cloud-management/
│   │   │   ├── main.tf
│   │   │   ├── variables.tf
│   │   │   ├── outputs.tf
│   │   │   ├── README.md                       # Deployment guide
│   │   │   └── examples/
│   │   │       ├── quick-demo/                 # $10-20 demo
│   │   │       └── production/                 # Full deployment
│   │   ├── eks-cluster/
│   │   │   ├── main.tf
│   │   │   ├── variables.tf
│   │   │   ├── security-groups.tf
│   │   │   ├── iam-roles.tf
│   │   │   └── README.md
│   │   ├── iac-automation/
│   │   ├── observability-stack/
│   │   ├── finops-platform/
│   │   └── sre-platform/
│   │
│   ├── secops-security/                        # SecOps & Security Solutions
│   │   ├── cspm-platform/
│   │   │   ├── main.tf
│   │   │   ├── aws-config.tf
│   │   │   ├── security-hub.tf
│   │   │   ├── guardduty.tf
│   │   │   ├── cloudtrail.tf
│   │   │   ├── lambda-remediation/
│   │   │   │   ├── index.py
│   │   │   │   └── requirements.txt
│   │   │   └── README.md
│   │   ├── iam-modernization/
│   │   │   ├── sso-setup.tf
│   │   │   ├── azure-ad-integration.tf
│   │   │   ├── rbac-policies/
│   │   │   └── README.md
│   │   ├── disaster-recovery/
│   │   │   ├── backup-automation.tf
│   │   │   ├── s3-replication.tf
│   │   │   ├── scripts/
│   │   │   │   ├── dr-recovery.sh
│   │   │   │   └── dr-test.sh
│   │   │   └── README.md
│   │   ├── siem-stack/
│   │   ├── vuln-management/
│   │   └── zero-trust/
│   │
│   ├── data-engineering/                       # Data Platform Solutions
│   │   ├── modern-data-platform/
│   │   │   ├── s3-data-lake.tf
│   │   │   ├── glue-catalog.tf
│   │   │   ├── redshift-cluster.tf
│   │   │   ├── lake-formation.tf
│   │   │   └── README.md
│   │   ├── dataops-automation/
│   │   │   ├── airflow-setup.tf
│   │   │   ├── glue-jobs/
│   │   │   ├── step-functions/
│   │   │   └── README.md
│   │   ├── data-observability/
│   │   │   ├── monitoring-agents/
│   │   │   ├── quality-checks/
│   │   │   ├── alerting/
│   │   │   └── README.md
│   │   ├── streaming-platform/
│   │   ├── customer-data-platform/
│   │   └── databricks-optimization/
│   │
│   ├── mlops-ai/                              # MLOps & AI Solutions
│   │   ├── mlops-platform/
│   │   ├── model-governance/
│   │   └── ai-agent-orchestration/
│   │
│   └── shared-modules/                        # Common modules
│       ├── vpc/
│       ├── security-baseline/
│       ├── monitoring/
│       └── cost-tagging/
│
├── cloudformation-templates/                   # AWS Service Catalog products
│   ├── observability-suite.yaml
│   ├── data-platform.yaml
│   ├── secops-stack.yaml
│   └── kubernetes-cluster.yaml
│
├── demo-scripts/                              # Deployment automation
│   ├── deploy-demo.sh                         # Main demo script
│   ├── teardown-all.sh                        # Cleanup script
│   ├── cost-calculator.sh                     # Estimate costs
│   └── README.md
│
├── docker-images/                             # Container images
│   ├── observability-agent/
│   │   ├── Dockerfile
│   │   ├── src/
│   │   └── README.md
│   ├── platform-api/
│   └── client-portal/
│
├── documentation/                             # Architecture docs
│   ├── architecture-diagrams/
│   │   ├── multi-cloud-architecture.png
│   │   ├── secops-architecture.png
│   │   └── data-platform-architecture.png
│   ├── deployment-guides/
│   │   ├── quick-start.md
│   │   ├── production-deployment.md
│   │   └── troubleshooting.md
│   ├── cost-estimates/
│   │   └── pricing-calculator.xlsx
│   └── reference-architectures/
│
└── examples/                                  # Complete examples
    ├── startup-stack/                         # $500/month full stack
    ├── enterprise-stack/                      # $5K/month enterprise
    └── demo-environments/
        ├── 2-hour-demo/                       # $10-20 cost
        ├── 1-week-poc/                        # $200-300 cost
        └── README.md

🚀 Quick Start

Clone Repository

git clone https://github.com/DataScience-EngineeringExperts/dse-platform-templates.git
cd dse-platform-templates

Deploy a Quick Demo (2-4 hours, $10-20)

./demo-scripts/deploy-demo.sh --profile secops --duration 4h --region us-east-1

Deploy Week-Long POC ($200-300)

./demo-scripts/deploy-demo.sh --profile full-stack --duration 7d --client "Acme Corp"

Tear Down Everything

./demo-scripts/teardown-all.sh --confirm

📋 Module Documentation Standards

Each module includes:

README.md

# Module Name

## Overview
Brief description of what this module does.

## Architecture
![Architecture Diagram](./architecture.png)

## Cost Estimate
- Quick Demo (4 hours): $X
- POC (7 days): $Y
- Production (monthly): $Z

## Prerequisites
- AWS CLI configured
- Terraform >= 1.5
- Required permissions

## Quick Deploy
```bash
terraform init
terraform plan
terraform apply -var="environment=demo"

Variables

Name Description Type Default Required
... ... ... ... ...

Outputs

Name Description
... ...

Examples

Pricing Breakdown

Detailed cost breakdown for each resource.

Support

Contact: ernest@thedataexperts.us


---

## 🎯 Demo Script Usage

### Example: Deploy SecOps CSPM Demo
```bash
# Deploy
./demo-scripts/deploy-demo.sh \
  --profile secops \
  --module cspm-platform \
  --duration 4h \
  --region us-east-1 \
  --auto-destroy

# What it does:
# 1. Validates AWS credentials
# 2. Estimates cost ($15-20)
# 3. Deploys infrastructure
# 4. Runs health checks
# 5. Outputs dashboard URLs
# 6. Sets auto-destroy timer (4 hours)

# Output:
# ✅ CSPM Platform deployed
# 🔗 Dashboard: https://...
# 💰 Estimated cost: $18
# ⏰ Auto-destroy at: 2025-09-24 21:00 UTC

Example: Deploy Data Platform POC

# Deploy for 1 week
./demo-scripts/deploy-demo.sh \
  --profile data-platform \
  --module modern-data-platform \
  --duration 7d \
  --client "Acme Corp" \
  --budget 300

# What it deploys:
# - S3 data lake (100GB sample data)
# - Glue catalog
# - Redshift cluster (dc2.large × 2)
# - Sample ETL jobs
# - QuickSight dashboard

# Estimated cost: $280 for 7 days

💰 Cost Optimization Features

Built-in Cost Controls

  1. Budget Alerts: Set spending limits per deployment
  2. Auto-Shutdown: Destroy resources after time limit
  3. Spot Instances: Use spot for non-critical workloads
  4. Serverless-First: Lambda over ECS where possible
  5. Storage Lifecycle: Auto-transition to cheaper tiers

Cost Estimation

# Estimate before deploying
./demo-scripts/cost-calculator.sh \
  --module eks-cluster \
  --duration 7d \
  --region us-east-1

# Output:
# EKS Control Plane: $73 (7 days × $0.10/hour)
# Worker Nodes (t3.medium × 2): $48
# EBS Volumes: $7
# Data Transfer: $5
# Total Estimated: $133

🧪 Testing & Validation

Automated Tests

# Run all tests
./demo-scripts/test-all-modules.sh

# Test specific module
cd terraform-modules/aws-infrastructure/eks-cluster
terraform init
terraform validate
terraform fmt -check
tflint

CI/CD Pipeline

Every commit triggers:

  • Terraform validate
  • Security scan (tfsec)
  • Cost estimation
  • Link checking

📊 Analytics & Tracking

Usage Metrics

Each deployment tracks:

  • Module name
  • Duration
  • Actual cost
  • Client/demo ID
  • Success/failure

Stored in DynamoDB table: dse-platform-deployments

Cost Attribution

# View deployment costs
aws dynamodb query \
  --table-name dse-platform-deployments \
  --key-condition-expression "client_id = :client" \
  --expression-attribute-values '{":client":{"S":"acme-corp"}}'

🔗 Integration with Website

Linking from Service Pages

Each service page on thedataexperts.us links to specific modules:

// Example from AWSInfrastructureSolutions.tsx
<a
  href={`https://github.com/DataScience-EngineeringExperts/dse-platform-templates/tree/main/terraform-modules/aws-infrastructure/eks-cluster`}
  target="_blank"
  rel="noopener noreferrer"
>
  View Infrastructure Code
</a>

GitHub Pages Documentation

Host architecture diagrams and guides on GitHub Pages: https://datascience-engineeringexperts.github.io/dse-platform-templates/


📝 Contributing

Adding New Modules

  1. Create module directory following structure
  2. Add README.md with all required sections
  3. Include quick-demo and production examples
  4. Add cost estimates
  5. Create PR with validation passing

Module Naming Convention

terraform-modules/
  <category>/
    <module-name>/
      main.tf
      variables.tf
      outputs.tf
      README.md
      examples/
        quick-demo/
        production/

🔒 Security & Compliance

Secret Management

  • No hardcoded credentials
  • Use AWS Secrets Manager
  • Environment variables for sensitive data
  • .gitignore for local configs

Compliance

  • CIS AWS Foundations Benchmark
  • NIST 800-53 controls
  • SOC 2 requirements
  • FedRAMP moderate baseline

📞 Support


📜 License

Apache License 2.0 - See LICENSE


Last Updated: September 24, 2025 Repository Status: Active Development Total Modules: 26 services across 4 categories