TCO example
When your workload sends data out to the internet, egress costs can dwarf compute costs. Provide your data source location and estimated traffic to unlock a full cost breakdown.
⚠ Run
make ingest-egress first — egress rates must be ingested before TCO params work.
Request
curl -X POST http://localhost:8000/api/recommendations \
-H "Content-Type: application/json" \
-d '{
"min_vcpu": 2,
"min_ram_gb": 4,
"arch": "x86_64",
"region_constraint": "EU",
"max_price_eur_per_hour": 1.0,
"limit": 5,
"data_source_provider": "azure",
"data_source_region": "westeurope",
"estimated_egress_gb_per_hour": 1.0
}'
Response
{
"recommendations": [
{
"instance_type_name": "Standard_B2s",
"provider_slug": "azure",
"region_slug": "westeurope",
"vcpu": 2,
"ram_gb": 4.0,
"price_eur_per_hour": 0.04,
"score": 0.95,
"explain": {
"resource_fit": 1.0,
"normalized_price": 0.92,
"price_weight": 0.5,
"fit_weight": 0.5,
"region_is_eu": true,
"tco_eur_per_hour": 0.06,
"egress_cost_eur_per_hour": 0.02,
"storage_cost_eur_per_hour": null,
"public_ip_cost_eur_per_hour": null,
"os_license_cost_eur_per_hour": null,
"cross_az_cost_eur_per_hour": null
}
}
]
}
Same provider+region as data source yields egress_cost_eur_per_hour: 0. Cross-provider or cross-region adds egress cost.