Cloud Cost Optimization and FinOps Blog

Field notes on multi-cloud cost optimization (AWS, GCP, DigitalOcean), Kubernetes rightsizing, FinOps, and IaC scanning, with verified-savings stories.

  • AWS Savings Plan hourly commitment against a diurnal usage curve, with the unused commitment above the trough AWS Savings Plans: 73% utilization is break-even — A 1-year no-upfront Compute Savings Plan discounts EC2 about 26.5%, so it loses money below 73.5% utilization. Size the commitment off your hourly floor.
  • Azure Premium SSD v1 size tiers billing 256 GiB for a 130 GiB disk against Premium SSD v2 per-GiB billing Azure Premium SSD v1 to v2: cut disk costs 29-73% — Premium SSD v1 bills the size tier your disk rounds up into. Premium SSD v2 bills the GiB you provisioned. Real pricing, migration commands, and rollback.
  • A right-sized cloud instance being reverted to its larger, more expensive size by a Terraform apply Stop Terraform drift from reverting your right-sizing — Terraform drift reverts a right-sized instance and costs you about $140 a month back. Find it in the resource_drift key, then fix the size in code.
  • S3 Standard-IA lifecycle transition gated on object size, lifetime, and read frequency S3 Standard-IA lifecycle rules: cut 46% without losing money — S3 Standard-IA lists 46% below Standard, but the 128 KB floor, the 30-day minimum, and retrieval fees can invert the saving. Here are the three gates.
  • An idle AWS Bedrock provisioned throughput model unit billing every hour while no requests arrive Bedrock provisioned throughput bills when idle — A Bedrock model unit bills hourly whether you call it or not, about $28,900 a month at Cohere Command's 1-month rate. Find idle units before the term renews.
  • Datadog log pipeline splitting into a cheap ingestion meter and an expensive indexing meter Cut Datadog log costs: indexing bills 17x ingestion — Datadog ingests logs at $0.10 a GB and indexes them at $1.70 a million events. Find your noisiest sources, exclude them from the index, and keep your alerts.
  • A data warehouse labeled RUNNING pouring credit tokens down a drain beside an idle clock, next to the same warehouse greyed out and labeled SUSPENDED at zero, with a timeline marking the automated suspension between them Snowflake AUTO_SUSPEND: stop paying for idle warehouses — A Snowflake warehouse bills credits even when no query runs. Measure your idle credits, tune AUTO_SUSPEND, and plan around the 60-second billing floor.
  • Cloud and server icons flowing into the cost of revenue line of a profit and loss statement, where that line splits into an amber waste segment and a teal value segment, with a gross margin arrow rising alongside it Is cloud spend COGS or OpEx? Make it a margin KPI — Production infrastructure is COGS, not OpEx, so wasted cloud spend comes straight out of gross profit. Here is the arithmetic, and four KPIs finance reads.
  • A PostgreSQL table surrounded by index structures, with the unused ones greyed out and marked zero scans while writes still flow into them Find unused Postgres indexes and stop paying to keep them — An index nobody queries still bills storage on every copy and taxes every write. Here is how to find dead Postgres indexes and drop them with no downtime.
  • An idle AWS NAT gateway billing about 33 dollars a month while no traffic flows through it Find idle NAT gateways before they bill $33 a month — A NAT gateway bills about $33 a month whether traffic flows or not. Find idle gateways with CloudWatch and delete them without breaking your routes.
  • A GCP pd-ssd disk at about 0.17 dollars per GiB next to a pd-balanced disk at about 0.10 dollars per GiB, roughly 40 percent cheaper for the same SSD storage pd-ssd vs pd-balanced: cut GCP disk costs about 40% — pd-ssd lists about $0.17 per GiB-month, pd-balanced $0.10 for the same SSD class. GCP will not change disk type in place, so here is how to swap it safely.
  • A Kubernetes node packed with pods reserving far more CPU and memory than they use, beside a smaller right-sized cluster running the same work Cut Kubernetes costs by right-sizing pod requests — Over-provisioned CPU and memory requests inflate your node count. Find the gap, set safe request values, and cut your Kubernetes bill with no downtime.
  • Azure VM in Stopped allocated state billing full compute next to the same VM deallocated at zero compute cost Azure VM stopped vs deallocated: stopped still bills — A stopped Azure VM keeps billing full compute, about $140 a month. Deallocating it drops that to zero. Find yours, and see why az vm stop is the trap.
  • AWS EBS gp2 to gp3 migration with about 20 percent lower storage cost Migrate gp2 EBS volumes to gp3 and cut storage costs about 20% — Move attached gp2 EBS volumes to gp3 online with no downtime, find the right candidates, and avoid the 1000 GiB trap.