20 September 2026 · 5 min read

The price of leaving is not your problem

The EU Data Act bans cloud switching charges from January 2027, and the big providers already waive exit egress. For a small SaaS the exit bill never mattered; serving does.

The cloud exit fee is dying, and the obituaries are being written by people it never affected. The EU's Data Act makes switching charges illegal from January 2027, the large providers have already agreed to waive egress for customers who leave, and the commentary treats this as the end of lock-in. For a large enterprise with petabytes in one region it might be. For the kind of software I build and run, dashboards, ticketing analytics, a CRM, the exit bill was never the problem, because those systems store little and serve constantly. The bill that matters is serving egress, the bytes sent to users every month, and the law does not touch that, and at the large providers' list prices it dwarfs a one-off exit within a year.

What the law actually bans

Regulation 2023/2854, the Data Act, applies from 12 September 2025, and its Article 29 phases out switching charges: providers may keep charging reduced charges until 12 January 2027, after which they may not impose switching charges at all. A switching charge is a fee for moving to another provider, and the regulation is careful to treat it as distinct from ordinary data egress charges, the fees for sending bytes out of the provider's network in the course of using the service. The ban is on the first. The second is the one every product pays every month.

EU Data Act timeline for cloud switching A timeline with three points: the regulation applies from 12 September 2025; reduced switching charges are permitted during a transition; switching charges are abolished from 12 January 2027. A note says serving egress is outside the regulation's ban throughout. 12 Sept 2025 Data Act applies transition: reduced switching charges permitted 12 Jan 2027 switching charges banned Serving egress, the monthly bytes to users, is outside the ban throughout.
Source: Regulation (EU) 2023/2854, the Data Act, Article 29 and its application date.

The providers moved ahead of the law. Since 2024 the three largest have offered free egress to customers migrating away, subject to notice and a full departure, so for most accounts the exit invoice was already zero before the regulation required it. That is worth having. It is also worth noticing what it costs them, which is almost nothing, because customers leave once and serve every day.

Two egress bills

Every product has two egress bills and they are not the same size. The exit bill is what it would cost to move everything you store to another provider once: your total stored bytes, multiplied by the per-gigabyte transfer price, paid on the day you leave. The serving bill is what it costs to send bytes to your users in the ordinary course of business: every dashboard load, every report download, every image and export, multiplied by the same per-gigabyte price, paid every month. The Data Act and the waivers cover the first. The second is untouched, and for most small software it is the larger of the two by a wide margin.

The two egress bills, and which the Data Act and provider waivers cover Two boxes. Left, the exit bill: total stored bytes times the transfer price, paid once, covered by the Data Act ban from 2027 and by provider waivers today. Right, the serving bill: monthly bytes sent to users times the transfer price, paid every month, covered by nothing. An arrow labels the serving bill as the one a small SaaS actually pays. One bill is regulated. The other is the one you pay. Exit bill stored bytes times transfer price paid once, on leaving covered: Data Act from 2027 for a small SaaS: small, and now free Serving bill bytes to users times transfer price paid every month covered: nothing for a small SaaS: the whole egress line Their ratio is a property of the product, and it decides which price to shop on.
Illustrative: the two bills as a pair; the regulation's scope is the left box.

The serving-to-leaving ratio

The number that says which bill you should care about is what I call the serving-to-leaving ratio: monthly bytes served to users divided by total bytes stored. A product that stores 500 gigabytes and serves 100 gigabytes a month has a ratio of 0.2, and for it the exit bill is five months of serving; the waivers and the law matter. A product that stores 50 gigabytes and serves 500 a month has a ratio of 10, and for it the exit bill is three days of serving; the law is irrelevant, and the only egress price that matters is the monthly one. Above a ratio of one, your serving bill exceeds your worst-case exit bill every single month.

Dashboards, ticketing analytics and CRMs sit firmly in the second group. They hold rows, not videos; a year of a small business's records is megabytes, while the reports, exports and page loads that read those records are served hundreds of times a day. That is the profile of the products I build, and it is why the celebration of the exit-fee ban has passed me by. The storage decision for that profile should be made on serving egress price, and that is exactly where the large providers and the smaller ones diverge.

Cost to serve one terabyte a month for a year against a one-off ten-terabyte exit, by provider, at list prices Grouped horizontal bars in US dollars. AWS S3: serving 1 TB a month for a year at 0.09 dollars per gigabyte, about 1,106; a 10 TB exit at the same price, about 922, or zero under the migration waiver. Cloudflare R2: serving zero, exit zero, egress is free. Backblaze B2: serving zero for a 1 TB store because egress up to three times storage is free; a 10 TB exit about 72 dollars at 0.01 per gigabyte beyond the free allowance. At the large providers, one year of serving costs more than leaving ever did List prices; a year of serving 1 TB a month against a 10 TB exit serving, a year exit, once AWS S3 1,106 922, or 0 Cloudflare R2 0 0 Backblaze B2 0, within three times storage 72 Four tenths of a pixel per dollar; storage per GB-month: S3 0.023, R2 0.015, B2 0.007. the B2 serving figure assumes the 1 TB served is within three times the volume stored
Source: computed from the AWS S3 pricing page (0.09 dollars per GB out to the internet after the first 100 GB a month), the Cloudflare R2 pricing page (no egress fees) and the Backblaze B2 pricing page (egress free to three times monthly storage, then 0.01 per GB), read on 18 September 2026.

The chart's arithmetic is short. Serving a terabyte a month from S3 at nine cents a gigabyte is about 92 dollars a month and about 1,106 a year, against a ten-terabyte exit at the same rate of about 922, which the migration waiver makes zero. On R2 both bills are zero, because the product charges for storage and operations and not for bytes out. On B2 the serving is free within three times the stored volume and the exit costs about 72 dollars beyond the free allowance. For the high-ratio product, the difference between providers is not the exit bill, which is now roughly zero everywhere. It is a thousand dollars a year per terabyte served, and that figure scales with users rather than with data.

The storage prices in the chart's footnote matter less than they look, and that is the second thing the ratio reveals. S3 Standard charges about 2.3 cents per gigabyte-month, R2 1.5 cents and B2 under a cent, so for a product storing 50 gigabytes the whole storage line is between a few cents and a dollar a month at any of them. The providers differ by a factor of three on storage and by a factor of infinity on serving, since two of the three charge nothing for it, and for a high-ratio product the second factor is the entire bill. That is why the decision should be made on serving price: it is the only line where the choice of provider changes the number by more than the price of a coffee.

Compare your own two bills

The practical instruction is to compute the ratio before reading any more commentary on the Data Act. Take last month's egress from the bill, divide it by the total stored, and look at the number. Below one, the exit bill matters and the law and waivers are real money; the stored data is the asset, and the storage price and exit terms are what to shop on. Above one, the exit bill is noise and the serving price is the decision; a provider that charges nothing to serve is worth a migration on that alone, and the Data Act's contribution is that the migration itself is now free.

There is a caveat that keeps this honest. Serving from a store with free egress is not the same as serving from a store with free egress and no cache in front of it; a content delivery network changes what "bytes served from storage" means, and a product with a good cache hit rate serves most of its bytes from the edge rather than from the bucket. The ratio should be computed on the bytes that actually leave the storage provider, which the bill reports directly. But the shape of the conclusion survives the caveat: for a product that reads its data far more often than it moves it, the price of leaving was never the problem, and the price of staying is on every invoice.

Cloud CostEgressEU Data Act
All writing

Written by Mohd Shayan

Get new posts by email

Occasional essays on engineering, AI, and building for the people technology leaves behind.

One email per new post. Unsubscribe any time.

Subscribe with RSS