Cloud Cost Optimization and FinOps Blog

Field notes on multi-cloud cost optimization (AWS, GCP, DigitalOcean), Kubernetes rightsizing, FinOps, and IaC scanning, with the queries behind each fix.

  • A sleeping server rack with its power switch off while a glowing billing meter beside it keeps counting Powered-off DigitalOcean droplets bill full price — A powered-off DigitalOcean droplet bills its full plan rate, $24 a month for a 4 GiB Basic plan. Snapshot it at $0.06/GB-month and destroy it to cut 75-99%.
  • A server with its cable unplugged beside detached storage disks, each still ticking up a glowing cost meter GCP unattached disks: delete without paying twice — An unattached pd-ssd disk bills $0.17 per GiB-month in us-central1. Find orphans with gcloud, snapshot and delete them so the backup costs less than the disk.
  • Claude prompt caching pricing: a cache read bills 0.1x the input rate and a cache write bills 1.25x Claude prompt caching cost: 90% off, or 25% more — Anthropic prompt caching pricing bills a cache read at 10% of the input rate and the write that created it at 125%. Your call cadence decides which you pay.
  • A Confluent Cloud Dedicated cluster billed by the CKU-hour next to an elastic cluster billed by eCKU usage Confluent Cloud costs: shrink spare Dedicated CKUs — Confluent Cloud bills a Dedicated cluster for every CKU, every hour, busy or idle. Cut the cost: size it to your busiest minute, shrink in place, or go elastic.
  • MongoDB Atlas continuous cloud backup priced per GB-month against plain snapshot storage MongoDB Atlas backups: continuous bills 6.6x — Atlas continuous cloud backup reprices every snapshot you keep. 115 GB bills $106.25 a month against $16.10 flat. Find the break-even, then trim retention.
  • Databricks all-purpose compute at $0.55 a DBU against jobs compute at $0.15 Databricks jobs compute lists 73% under all-purpose — All-purpose compute lists $0.55 a DBU against jobs compute at $0.15. A job pointed at an existing cluster pays the interactive rate. Find yours and move it.
  • An idle Cloud Run container held warm by a minimum instance setting, billing every second it serves no requests Cloud Run min instances: idle is $9.72 or $49.25 — An idle Cloud Run min instance costs about $9.72 a month on request-based billing and $49.25 on instance-based. Find yours, and the metric that hides them.
  • 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 21-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: keep the 46% saving — 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 RUNNING data warehouse draining credits beside an idle clock, and the same warehouse SUSPENDED at zero after auto-suspend 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 spend flowing into a profit and loss cost of revenue line that splits into waste and value, with gross margin rising 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 ringed by indexes, the unused ones greyed out at zero scans while writes still flow into them Find unused Postgres indexes and drop them safely — An unused index bills storage on every replica and taxes every write. Find dead Postgres indexes, spot the four ways zero scans lie, and drop them online.
  • 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 beside a pd-balanced disk at about 0.10, roughly 40 percent cheaper GCP pd-ssd vs pd-balanced: cut disk costs 40% — pd-balanced lists about $0.10 per GiB-month, pd-ssd $0.17, same SSD class. GCP cannot convert a disk in place, so here are the gcloud commands and rollback.
  • A Kubernetes node of pods reserving far more CPU and memory than they use, beside a right-sized node 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: how to deallocate — A stopped Azure VM still bills full compute, about $140 a month. Deallocate it from the portal, az vm deallocate, or Stop-AzVM, and skip the az vm stop trap.
  • AWS EBS gp2 to gp3 migration with about 20 percent lower storage cost EBS gp2 to gp3: cut storage costs about 20% — gp3 lists about $0.08 per GB-month against gp2's $0.10, with 3000 baseline IOPS. Migrate attached volumes with no downtime, and avoid the 1000 GiB trap.