Changelog
What changed, and when.
Price rounds, service-map changes and model rules, newest first. The current versions are listed below; the files themselves are on the model page.
Current versions
- Hetzner prices
- 17 Oct 2026
- OVHcloud prices
- 18 Oct 2026
- Scaleway prices
- 18 Oct 2026
- DigitalOcean prices
- 18 Oct 2026
- Vultr prices
- 18 Oct 2026
- Akamai (Linode) prices
- 18 Oct 2026
- Exoscale prices
- 18 Oct 2026
- UpCloud prices
- 18 Oct 2026
- Hetzner (US) prices
- 18 Oct 2026
- AWS service map
- 18 Oct 2026 · 106 services
- Google Cloud service map
- 20 Oct 2026 · 98 services
- Azure service map
- 20 Oct 2026 · 104 services
- Oracle Cloud service map
- 18 Oct 2026 · 50 services
- Instance specs
- 18 Oct 2026
20 Oct 2026
- Model
On-call counts primary servers; the plan follows the verdict
The on-call stipend is added once more than ten primary servers run; standbys and HA pairs no longer count, so a small fleet with a database pair is not charged a rotation it would not run. The migration plan for a losing verdict now shows the smaller move that pays, with the full plan one click away. Smaller fixes: the engineer-time equation shows the hours it was computed with, the tier strip prints both costs instead of a minus, the payback column appears only when a destination pays, the unknown-service note says where to write, the three-year line lost a doubled word, the footer names which service map it dates, and the landing's destination cards are taglines only.
A lighter landing page
The landing page no longer ships the estimator and the nine price lists: the bill slider reads a grid computed at build time, and the report itself loads the moment there is something to show. First load drops from 244 kB to 142 kB of JavaScript, and the embeddable slider from 191 kB to 117 kB. A dead-code pass made two dozen unused exports private.
Privacy page matches the counters; structured data; the real report count
The privacy page now lists exactly which event categories are counted and that the abuse limiter holds an address in memory for an hour. The landing's count shows reports from real exports only, and the test suite no longer counts as visitors. The owner's counters page is closed in production unless a key is set. Structured data on the landing, guides, examples, pair and destination pages. The error page keeps the saved report.
- Model
Verdict says its reason once; the range sits under the figure
A losing verdict no longer repeats itself across the headline, the body and the smaller-move card: the headline carries the verdict, the body the reason, the card the alternative. The likely range moved from the ledger's small print to the line under the big figure, with a note when it crosses zero. The nine-destination table now follows assumption edits a beat later so sliders stay smooth.
Hardened routes, an error page, and a worked example at scale
The link email accepts links to this site only and is rate-limited; the counters take the site's own event names only and sixty a minute per address. Every page except the embed refuses to be framed. A plain error page replaces the framework's when a file trips the parser. A fifth worked example models a scale-up on Kubernetes at the size where the move pays, and the examples say 'loses least' instead of 'best' when no destination pays.
- Data
Google Cloud and Azure service maps caught up with AWS
Google Cloud goes from 67 to 98 mapped services and Azure from 66 to 104, each with a replacement, a grade and a derived ratio: managed databases (MariaDB, SQL Managed Instance, Citus), identity (B2C, IAP), security (DDoS, WAF, Private Link, DLP, Cloud IDS), observability (Trace, Profiler, managed Grafana and Prometheus), batch and TPU, VMware and OpenShift, and the long tail. Over a hundred more aliases so billing exports match the right entry.
A smaller move when the full one does not pay, nine destinations as one table, the PDF without a form
When the verdict is not worth it, the report prices the move that is: Easy services only, or storage and traffic only, with the rest kept where it is, one click to apply. The nine destinations are one table with a share image and a page in the PDF. The PDF downloads without an address; emailing yourself the link is optional. A link opened on newer prices says what moved and whether the verdict flipped. Phones lose the section numbers and the bottom bar, and service cards show the saving.
18 Oct 2026
No call, no imprint
The booking call is gone from the report, the PDF, the About page and the questions; the report ends with the PDF. The imprint page and its legal fields are removed.
Destination pages, lead notifications, share images, a load test
One page per destination with its three size ranks, its four source-cloud pairs, what it sells and the full price list. The PDF form can include a link to the report, and leads can be emailed to the owner with a copy to the visitor. Share images for the examples, guides, destinations and about pages. Event counters for the actions that matter, and a generator and timing test proving a 3-million-row export loads in about twenty seconds.
About, privacy, imprint, export guides and a destinations page
An About page on who runs Offramp and what the call is, a privacy page that lists everything the site receives, an imprint with the legal entity, the export guides as pages per cloud (the dialog links to them), the nine destinations compared side by side on one page, and a proper 404.
The model page, redrawn
The eight rules open with a pipeline strip from the bill in to the verdict out, each rule card carries its icon and its share of the servers-and-storage figure, the defaults are tiles, the price lists start with the same three server sizes priced on all nine lists and a summary card per provider, and each service map shows its grade mix as a bar.
Shorter landing, method rules as rows
The landing keeps one path into the modelled accounts (the bill slider) instead of two, shows the nine destinations as compact cards with the full descriptions on the pair pages, and folds who-this-is-for into the questions. In the report the eight method rules are rows that open on demand with their figure visible, the plan chart carries its waves as a labelled strip above the curve, and wave footers are one short line.
17 Oct 2026
- Model
FOCUS exports, worked examples, a guide to the model
FOCUS 1.0 files are read from AWS (x_ServiceCode and x_UsageType through the CUR path), Azure (x_SkuMeter* through the Azure path) and Google Cloud (ServiceName and ChargeDescription), routed by ProviderName and read to the same depth as the native formats. Four worked examples, one per cloud, take a sample file end to end: the bill, what it becomes, the verdict, nine destinations and what would change the answer. A guide explains why engineer time is a line item, how whole servers are sized, what the grades mean, where ratios come from and how to read the range. Landing and pair pages carry shorter steps and link to both.
12 Oct 2026
Changes in words, calmer type, lighter landing
Change columns say "saves $1,118" and "adds $5,663" instead of a signed number. Captions settle on two sizes. The landing hero is three short bullets with the privacy note folded away; method cards lead with the rule and keep the formula as a quiet line. Under the hood the estimate fields are named for the destination rather than Hetzner, dead exports are gone and the stylesheet is grouped by purpose.
A report you can scan
The verdict card keeps the number, the headline and one paragraph; the basis and exclusions fold away, and the duplicate bar chart is gone. Grade tiles show one line of figures, service rows one line each, category notes move under the table, the plan's reasoning and the setup table's method fold away, the assumptions form shows the six settings that matter with the rest under Advanced, and every section intro is one sentence.
8 Oct 2026
- Model
Month over month, UpCloud verified, browser tests
Drop a second month of the same account and a new section shows what the bill did, what the verdict did and which services moved it, on the same assumptions. UpCloud's list was checked against upcloud.com/pricing: eleven Cloud Native sizes added, storage, object storage, load balancer and Kubernetes prices confirmed, one L40S GPU server included. Hetzner's US volume, object storage and load balancer prices remain converted from the EU list; the site hides them behind a localisation service.
7 Oct 2026
- Prices
OVHcloud follows its public catalogue; daily price sync
OVHcloud instance prices now come from the public order catalogue (1-AZ hourly consumption prices × 730 h) instead of the October blog post: 10 to 25% lower for the small sizes, a few percent for the large ones, and the local disk and public IPv4 are counted at the catalogue's prices, currently zero. A daily job pulls Vultr, Akamai and OVHcloud (and Hetzner and DigitalOcean when a token is set), and opens a pull request whenever a list moves.
2 Oct 2026
- Data
Five more destinations, Oracle Cloud as a source, several files at once
Vultr, Akamai (Linode), Exoscale, UpCloud and Hetzner's US price list join Hetzner, OVHcloud, Scaleway and DigitalOcean: nine destinations, each with its own servers, storage, traffic and load-balancer prices, product names and locations (Vultr and Akamai from their public plan APIs; Hetzner US from the June 2026 price round; Exoscale and UpCloud from their price pages). The destination control shows the four headline providers and the rest behind a select; the strip under the verdict ranks all nine; the Cloud Exit Index lists them as rows; every cloud now has a landing page per destination. Oracle Cloud cost reports (reports/cost-csv) are read as a fourth source: compute shapes are pooled from OCPU and memory hours per family (an OCPU is two vCPUs, one on Ampere), Autonomous Database ECPUs and MySQL OCPUs become database pools, block and object storage come from GB-months, outbound traffic from the GB in the report, with a 50-service map. Several files can be dropped together and are merged into one period, which is how a month of daily OCI reports is read.
1 Oct 2026
- Prices
OVHcloud: Public Cloud list of 1 October 2026
Instance prices from the October 2026 round, 730 h per month, with local disk and one IPv4 folded into the monthly price. Block and object storage unchanged in that round.
29 Sep 2026
- Model
Three-year view, migration waves, exact S3 and RDS extras, side-by-side destinations
A cumulative three-year comparison with the one-off paid first and the bill and wages growing, with a break-even month. A migration plan in four waves (storage and edge, stateless compute, stateful services, hard services) with the saving each wave unlocks, engineer days, calendar weeks at a chosen capacity and a cash curve against staying. S3 request charges, RDS provisioned IOPS and RDS backup storage are now settled exactly (zero or inside the priced backups) instead of by ratio. Any two destinations can be compared side by side under the verdict.
- Model
Discounts, credits, euros and an embeddable slider
AWS negotiated-discount rows (EDP, private rate) are no longer counted on top of net costs; Google Cloud credits are subtracted when the export carries credits_total (the guide's query now does). Figures can be shown in EUR at the Hetzner rate. Long bills get a search box, grouping by category and a top-15 view. The bill slider can be embedded on any site from /embed.
28 Sep 2026
- Model
Licences, GPU memory, regions and price age
Windows, RHEL, SUSE and SQL Server licences are read from the CUR operation codes and priced per vCPU-month at list rates (Windows $5, SQL Server Standard $75, Enterprise $275; RHEL $31 per instance), or zero with the new “Bring your own licences” toggle; SQL Server and Oracle databases are graded Hard. GPU instances are matched on total GPU memory, so an 8×A100 box no longer lands on a workstation card; accelerators (Inferentia, Trainium) are carried over as unmatched. Spend by region is read from the export and the report warns when more than 30% sits outside the destination's locations. The footer flags any price list older than 90 days; `npm run check:prices` does the same for CI.
22 Sep 2026
- Data
Twelve cloud-pair pages, the Cloud Exit Index and a share image
/aws-to-hetzner and the eleven other pairs, each with the typical services graded for that destination, the modelled accounts (AWS) and the destination's prices; /cloud-exit-index with the three modelled accounts on all four destinations (also as JSON at /api/index); a sitemap; and a “Share as image” button on the verdict card that renders a PNG in the browser.
17 Sep 2026
- Model
Spot, burstable and network carve-outs
Spot hours are priced at full destination price and said so; burstable types pack at their CPU baseline; NAT gateways, idle IPs, inter-AZ transfer and interface endpoints are carved out of the EC2 remainder and priced at zero. Cost Explorer uploads get a rough-mode banner.
16 Sep 2026
- Model
Per-service control
Any service can be kept on the current cloud (same cost on both sides, no engineer time or migration days) or switched to an alternative replacement where the map lists one.
10 Sep 2026
- Data
Service maps grown and re-derived
AWS 106, Google Cloud 67, Azure 66 entries. Managed products per destination (Kubernetes, databases, registry, CDN, functions). Unit-price derivations on the high-spend entries; EKS, GKE and AKS graded Moderate; Glacier classes priced as staying put; security services that monitor the old cloud no longer counted as migrations; SES raised to 2.5× (mail providers cost more than SES), KMS lowered to 0.1.
9 Sep 2026
- Model
Partial periods, currencies and commitments
Exports shorter than a month are scaled by days covered. EUR-billed exports are converted at 1.17; Azure exports prefer CostInUSD; Google Cloud exports use their own conversion rate. Upfront reservation and savings-plan fees are zeroed when the usage already carries the effective cost. Unmatched instance types are carried over unchanged and shown as such, not as a firm figure.
3 Sep 2026
- Model
Whole servers, standbys, engineer time by grade, one-off and range
Hosts rounded up to whole servers with a standby per fleet of two or more; databases that ran with a synchronous standby become a pair, with storage and 1.5× backups priced. Engineer time by effort grade (1 / 6 / 16 h) with a 40 h floor and an on-call stipend above 5 servers. One-off migration in engineer days with payback months. Range: ratio-priced lines ±50%, engineer time ×0.5 to ×2, exchange rate ±10%.
20 Aug 2026
- Prices
Scaleway: hourly list of 1 June 2026, × 730
Instances including the EM-I120E-NVMe dedicated server and the L4-1-24G GPU; object storage egress allowance from the pricing pages.
18 Aug 2026
- Prices
DigitalOcean: USD list prices
Basic, CPU-Optimized, General Purpose and Memory-Optimized Droplets; Spaces at $5 for 250 GiB and 1 TiB transfer; Volumes at $0.10 per GiB; transfer overage at $0.01 per GiB.
11 Aug 2026
- Prices
Hetzner: price adjustment of 15 June 2026 (EU locations)
Cloud servers CX23 to CCX63 at the June 2026 list; volumes, object storage and load balancer prices from the April 2026 round. EUR excl. VAT, converted at 1.17 USD per EUR. US and Singapore prices differ.
6 Aug 2026
- Data
Instance specs
AWS instance families from published vCPU and memory ratios, including metal, Mac, HPC and accelerator families; Azure VM sizes from the published size tables.