diff --git a/deploy/cec-prd-cluster/cost.yaml b/deploy/cec-prd-cluster/cost.yaml index 20cb9a9..fae9a14 100644 --- a/deploy/cec-prd-cluster/cost.yaml +++ b/deploy/cec-prd-cluster/cost.yaml @@ -17,7 +17,7 @@ spec: spec: containers: - name: cost - image: fiskercloud.azurecr.io/cost:v12 + image: fiskercloud.azurecr.io/cost:v13 imagePullPolicy: IfNotPresent ports: - containerPort: 8077 diff --git a/services/cost/README.md b/services/cost/README.md index fb671a5..b94d7fc 100644 --- a/services/cost/README.md +++ b/services/cost/README.md @@ -39,9 +39,11 @@ Incremental resources needed for each additional connected vehicle: | Activity Level | Messages/15min | CPU (millicores) | Memory (MB) | |---------------|----------------|------------------|-------------| -| Low | < 100 | 50 | 80 | -| Medium | 100-1000 | 75 | 120 | -| High | > 1000 | 100 | 160 | +| Low | < 100 | 3 | 10 | +| Medium | 100-1000 | 5 | 15 | +| High | > 1000 | 6 | 20 | + +*Based on ~3000 VINs using ~10 cores / 30GB marginal on top of platform base* ### Cost Rates @@ -60,7 +62,7 @@ Incremental resources needed for each additional connected vehicle: ``` Platform Base Cost = (80 cores × rate + 544 GB × rate) × hours -Per-VIN Cost = (0.05 cores × rate + 0.08 GB × rate) × hours × activity_multiplier +Per-VIN Cost = (0.003 cores × rate + 0.01 GB × rate) × hours × activity_multiplier Total Cost = Platform Base + (Per-VIN × VIN count) + Managed Services Cloud Cost = Total with cloud rates @@ -121,20 +123,20 @@ curl http://localhost:8077/cost/report ╠══════════════════════════════════════════════════════════════════╣ ║ FLEET OVERVIEW ║ ║ ─────────────────────────────────────────────────────────────── ║ -║ Active Vehicles: 3301 -║ Cloud Cost: $10662.95 -║ On-Prem Cost: $770.97 -║ Savings: $9891.98 (92.8%) +║ Active Vehicles: 2463 +║ Cloud Cost: $695.52 +║ On-Prem Cost: $62.55 +║ Savings: $632.97 (91.0%) ╠══════════════════════════════════════════════════════════════════╣ ║ RESOURCE USAGE MODEL ║ ║ ─────────────────────────────────────────────────────────────── ║ ║ Platform Base: 80 cores / 544 GB RAM (fixed) -║ Per-VIN Marginal: 50 millicores / 82 MB RAM -║ Total Fleet: 245.1 cores / 808.1 GB RAM +║ Per-VIN Marginal: 3 millicores / 10 MB RAM +║ Total Fleet: 87.4 cores / 568.6 GB RAM ╠══════════════════════════════════════════════════════════════════╣ ║ COST FORMULA ║ ║ ─────────────────────────────────────────────────────────────── ║ -║ (Platform Base) + (Per-VIN × 3301 VINs) + Managed Services +║ (Platform Base) + (Per-VIN × 2463 VINs) + Managed Services ╠══════════════════════════════════════════════════════════════════╣ ║ COST RATES ║ ║ ─────────────────────────────────────────────────────────────── ║ @@ -144,19 +146,19 @@ curl http://localhost:8077/cost/report ╠══════════════════════════════════════════════════════════════════╣ ║ ANNUAL PROJECTION (based on current usage) ║ ║ ─────────────────────────────────────────────────────────────── ║ -║ Cloud Annual: $127955.46 -║ On-Prem Annual: $9251.64 -║ Annual Savings: $118703.82 +║ Cloud Annual: $8346.25 +║ On-Prem Annual: $750.61 +║ Annual Savings: $7595.65 ╚══════════════════════════════════════════════════════════════════╝ TOP COST VEHICLES: VIN CPU (mc) RAM (MB) Cloud $ On-Prem $ Savings % ─────────────────── ──────── ──────── ────────── ────────── ──────── -VCF1EBU24PG007242 670 1032 15.36 1.17 92.4% -VCF1UBU21PG008884 670 1032 15.36 1.17 92.4% -VCF1ZBU29PG006267 694 1067 15.13 1.15 92.4% -VCF1EBU26PG007307 683 1051 14.48 1.11 92.4% -VCF1EBU22PG011385 676 1040 13.93 1.03 92.6% +VCF1UBU21RG013084 94 149 1.20 0.12 90.4% +VCF1EBU21RG012448 94 149 1.20 0.12 90.4% +VCF1EBU22PG011385 94 149 1.20 0.12 90.4% +VCF1EBU24PG011467 94 149 1.20 0.12 90.4% +VCF1EBU29PG007298 94 149 1.20 0.12 90.4% ... ``` diff --git a/services/cost/services/collector.go b/services/cost/services/collector.go index b5d83d4..9e9b205 100644 --- a/services/cost/services/collector.go +++ b/services/cost/services/collector.go @@ -24,8 +24,9 @@ const ( // Per-VIN resource usage (marginal cost per vehicle) // This is the incremental CPU/RAM needed for each additional connected vehicle // Covers: telemetry ingestion, Kafka processing, storage writes, API queries - PerVinCPUCores = 0.05 // 50 millicores per VIN (marginal) - PerVinMemoryGB = 0.08 // 80MB per VIN (marginal) + // Based on: ~3000 VINs using ~10 cores / 30GB marginal on top of platform base + PerVinCPUCores = 0.003 // 3 millicores per VIN (marginal) + PerVinMemoryGB = 0.01 // 10MB per VIN (marginal) // Platform base resources (fixed cost regardless of VIN count) // Based on migration plan production environment: