resource-control/data/optimization/platform-audit-storage-2026-08.json

158 lines
6.1 KiB
JSON
Raw Normal View History

{
"schema_version": "0.1",
"record_scope": "operational",
"case_id": "opt:platform-audit-storage:2026-08",
"case_type": "provider_switch",
"trigger": "procurement",
"review_period": "2026-08",
"created_at": "2026-08-14T00:00:00Z",
"resource_ids": [
"resource:platform:audit-storage"
],
"baseline": {
"option_id": "scaleway-standard-multi-az",
"label": "Scaleway Standard Multi-AZ object storage (nl-ams), provisional primary from due diligence",
"one_time_eur": 0,
"recurring_infrastructure_eur_month": 7.35,
"recurring_internal_labor_eur_month": 60,
"recurring_external_labor_eur_month": 0,
"utilization": {
"stored_gb": {
"provisioned": { "value": 457.968, "unit": "GB" },
"used": { "value": 457.968, "unit": "GB" }
}
},
"uncertainty": {
"level": "medium",
"notes": [
"Month-12 base-scenario figures from tools/cost_model.py, not a booked invoice",
"Elastic capacity: provisioned equals used by construction, so the ratio does not signal waste",
"Published list price; no account quote or committed discount"
]
},
"service_constraints": {
"retention_days": { "value": 30, "unit": "days" },
"target_rpo_minutes": { "value": 5, "unit": "minutes" }
},
"failure_domains": [
"provider:scaleway",
"region:nl-ams"
],
"exit_path": "Delete objects and buckets, revoke the scoped access key, close the project, and confirm removal; modelled exit cost EUR 243.83.",
"unknowns": []
},
"alternatives": [
{
"option_id": "hetzner-object-storage",
"label": "Hetzner Object Storage (nbg1), monthly base price including 1 TB storage and egress",
"one_time_eur": 0,
"recurring_infrastructure_eur_month": 6.49,
"recurring_internal_labor_eur_month": 90.0,
"recurring_external_labor_eur_month": 0,
"utilization": {
"stored_gb": {
"provisioned": { "value": 1000, "unit": "GB" },
"used": { "value": 457.968, "unit": "GB" }
}
},
"uncertainty": {
"level": "medium",
"notes": [
"Priced only within the included 1 TB quota; excess storage and egress rates are not published in the recorded source",
"The base scenario stays inside the quota, so the high scenario cannot be evaluated from this option"
]
},
"service_constraints": {
"retention_days": { "value": 30, "unit": "days" },
"target_rpo_minutes": { "value": 5, "unit": "minutes" }
},
"failure_domains": [
"provider:hetzner",
"region:nbg1"
],
"exit_path": "Delete objects and buckets, revoke the S3 credential, cancel the subscription; modelled exit cost EUR 240.00.",
"unknowns": []
},
{
"option_id": "host-europe-cloud-storage",
"label": "Host Europe Cloud Storage, same provider as the reef-railiance compute host",
"one_time_eur": null,
"recurring_infrastructure_eur_month": null,
"recurring_internal_labor_eur_month": 120,
"recurring_external_labor_eur_month": 0,
"utilization": {
"stored_gb": {
"provisioned": { "value": null, "unit": "GB" },
"used": { "value": 457.968, "unit": "GB" }
}
},
"uncertainty": {
"level": "high",
"notes": [
"Only a historical published price and service specification exists; current orderability for this account is unconfirmed",
"Co-located with railiance01, so a provider-level failure would remove the primary host and the backup copy together"
]
},
"service_constraints": {
"retention_days": { "value": 30, "unit": "days" },
"target_rpo_minutes": { "value": 5, "unit": "minutes" }
},
"failure_domains": [
"provider:host-europe"
],
"exit_path": null,
"unknowns": [
"current S3 orderability for this account (owner: human account authority via Host Europe support)",
"storage_eur_per_gb_month, monthly_minimum_eur, egress_eur_per_gb, operations_eur_per_month, support_eur_per_month",
"cancellation terms and minimum contract period",
"correlated-failure acceptance for same-provider placement (owner: human financial and risk authority)"
]
}
],
"decision": {
"state": "blocked_on_evidence",
"recommended_option_id": null,
"rationale": "This case exercises the optimization process against real cost-model output; it is not the procurement decision, which RESOURCE-WP-0002-T03 owns and human financial authority approves. Hetzner computes fully and is EUR 29.14 per month more expensive than the Scaleway baseline at month-12 base demand, driven by operator labour rather than storage price. Host Europe cannot be compared at all: its price, cancellation terms, and current orderability are unknown, and it shares a failure domain with the compute host it is meant to protect. No provider is recommended until Host Europe returns written account evidence.",
"approver": null,
"approved_on": null,
"delegated_to": []
},
"financial_handoff": {
"cost_attribution_key": "platform:audit-storage",
"sent": false,
"reference": null
},
"outcome": {
"feeds_forecast": [
"data/forecasts/platform-audit-storage-scaleway-base-2026-08.json"
],
"actual_refs": []
},
"evidence": [
{
"kind": "forecast",
"ref": "tools/cost_model.py base scenario month 12 over data/demand/platform-audit-storage.json",
"authority": "resource-control",
"observed_at": "2026-08-14"
},
{
"kind": "document",
"ref": "docs/evidence/RESOURCE-WP-0002-provider-due-diligence-2026-08-10.md",
"authority": "resource-control",
"observed_at": "2026-08-10"
},
{
"kind": "document",
"ref": "docs/evidence/RESOURCE-WP-0002-expanded-storage-comparison-2026-08-10.md",
"authority": "resource-control",
"observed_at": "2026-08-10"
},
{
"kind": "workplan",
"ref": "RESOURCE-WP-0002-T03",
"authority": "resource-control",
"observed_at": null
}
]
}