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.
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 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.
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.
Get new posts by email
Occasional essays on engineering, AI, and building for the people technology leaves behind.
Subscribe with RSS