July 29th, 2024

Is Cloudflare overcharging us for their images service?

Jérôme Petazzoni reported unexpectedly high charges for Cloudflare's Images service, exceeding $400 instead of the anticipated $110, due to confusing billing practices. He is considering alternatives like Amazon S3.

Read original articleLink Icon
Is Cloudflare overcharging us for their images service?

A user, Jérôme Petazzoni, has raised concerns about unexpectedly high charges for Cloudflare's Images service, which were significantly above anticipated costs. Petazzoni operates a website, EphemeraSearch, that archives old postcards and relies on cost-effective hosting solutions. Initially using Cloudinary, they switched to Cloudflare Images due to its perceived affordability. However, after a few months, their bills exceeded $400, while they expected charges around $110 based on Cloudflare's pricing structure.

The confusion stemmed from Cloudflare's billing model, which combines prepaid storage and post-paid delivery. When increasing storage capacity, users are charged upfront, but credits for previous capacity only appear on subsequent bills, leading to temporary overcharges. Despite reaching out to Cloudflare support multiple times over several months, the user received vague responses about high demand and ongoing investigations without resolution.

Petazzoni concluded that while Cloudflare Images provides good service quality, its pricing model is problematic for smaller projects. They are considering alternatives, such as Amazon S3, which could offer significant savings. The experience highlights the challenges faced by indie projects in managing costs while preserving historical artifacts, emphasizing the need for transparent and user-friendly billing practices in cloud services.

Related

Are rainy days ahead for cloud computing?

Are rainy days ahead for cloud computing?

Some companies are moving away from cloud computing due to cost concerns. Cloud repatriation trend emerges citing security, costs, and performance issues. Debate continues on cloud's suitability, despite its industry significance.

Cloudflare billing incident since 35 days including wrong invoice

Cloudflare billing incident since 35 days including wrong invoice

Cloudflare faces billing issues causing delays in ticket responses and subscription adjustments. Users encounter problems like duplicate invoices and payment difficulties. Cloudflare advises closing unnecessary support tickets for faster assistance. Resolving unpaid invoices through the billing section is crucial for managing subscriptions.

Webflow says 2TB of bandwidth is worth $1,250 per month

Webflow says 2TB of bandwidth is worth $1,250 per month

Webflow faced criticism for price hikes, prompting user backlash. Nico Cerdeira's case led to bandwidth optimization help and waived upgrade fees. Company adjusted pricing and features, but users still struggle with migration.

Adobe exec compared Creative Cloud cancellation fees to 'heroin'

Adobe exec compared Creative Cloud cancellation fees to 'heroin'

Adobe is under FTC scrutiny for its Creative Cloud subscription practices, particularly hidden early termination fees and complex cancellation processes, which may lead to consumer confusion and dissatisfaction.

Adobe exec compared Creative Cloud cancellation fees to 'heroin'

Adobe exec compared Creative Cloud cancellation fees to 'heroin'

Adobe is under FTC scrutiny for hidden early termination fees and complex cancellation processes in its Creative Cloud subscriptions. The case may impact how subscription services disclose fees and manage cancellations.

Link Icon 30 comments
By @zaidf - 4 months
(I work on the Images product at Cloudflare)

While I continue to dig in to the specifics of the billing and support issues described, I can confirm this bit from the blog post:

if you stored 2 million images and delivered 1 million images, your total cost for that month for the Images product should be ~$210, not $400+

I've reached out to the author to get some additional information which will help me investigate this further. Also happy to chat with anyone else with questions or issues (zaid at cloudflare)

By @Scaevolus - 4 months
I clicked assuming this was analyzing how hilariously expensive Images is compared to most of their offerings, but it's about how hilariously bad Images' payment structure is. Nice!

> It’s likely that we will replace Cloudflare Images in the long run. Looking at storage costs alone, S3 would be 4 times less expensive for our use-case.

Cloudflare R2 would likely be a good choice too, if you're willing to bet that the (inevitable?) shakedown for money once you find the limits of "unlimited egress with no fees" won't be too bad.

By @thrdbndndn - 4 months
Great read.

To summarize, I think this issue comes down to the fact CF didn't design well around the scenario that someone may upgrade their image storage capacity multiple times in a billing cycle, which seems to be the case for the author. If you only upgrade zero or once each cycle, it's not too bad.

I understand they want it to be prepaid. But I wonder why they don't just do the calculation upfront and charge you the difference (times the remaining days in the billing cycle) every time you upgrade.

By @danielskogly - 4 months
I've written about the issues with CF Images before[0], and a lot of these issues still remain. A while back they joined their two image resizing products together though, and now CF Images is basically a hosted version of the previously named "Image Resizing", but weirdly (though for some use-cases great) priced, and you can bring your own storage if you so like.

In my opinion, CF Images is best if you use it with a Worker in front and R2 as storage, as you have (most) all the convenience of R2, the CDN, and CF Images, but without the unusual pricing.

Perhaps it's time I did a write-up on how to do this - it works very well for the purposes of our SaaS[1] at least :)

[0] https://news.ycombinator.com/item?id=29474743

[1] https://instorier.com/

By @Dachande663 - 4 months
I would be interested to know pageviews/bandwidth because this feels like it's still at the scale of it could run on a single box (rather than Heroku or a whole kubernetes cluster as seems to be the current case). For reference, we served a genealogy image/audio/video site from two servers behind an LB for ~$60/mo and handled 100K pageviews a day with nary a bother.
By @ricardobeat - 4 months
I can recommend Bunny CDN (https://bunny.net). You'll pay $20/month for storing 2TB, then a fixed $9.95/month to use their image optimization service with unlimited requests. And it might even perform better.
By @jallmann - 4 months
I actually have a similar story about Cloudflare, image hosting, billing and support, but the amounts involved were nowhere near as high.

I was evaluating image hosts a while ago. CF Images seemed promising but I was afraid that my use-case would grow to become cost-prohibitive, and I really didn't want to deal with a migration off it later. So I settled on rolling-my-own with R2 and ffmpeg to pre-generate a few renditions [1].

In short, R2 billing is weird. I actually haven't updated my bucket in months and yet the storage amount fluctuates a bit month-to-month. (Is R2 storage accounting probabilistic?!?) I also got hit by a billing line item in May for "R2 late usage" from Feb to March which I could not find any information about.

Their support only recently got back to me, with a very unhelpful / irrelevant answer of course.

The amounts involved are only ~$1 so I don't care too much - I was mostly curious - and I don't blame them for maybe not wanting to expend too much effort looking into irregularities on such a tiny account.

No regrets though. Using CF Images would still be 5x more expensive month-to-month even at my (tiny) scale. The $5-per-100k flat-rate is probably the thing that allows them to make any money on image hosting.

[1] Word to the wise - there are a lot of subtleties around building production-scale image hosting that often times it may be much easier to simply pay the premium for a managed service. For example, what if you want to only generate renditions just-in-time to save on storage? What about updating your rendition list on the fly, eg adding a new one, or even removing older ones from storage? When / how often should you sweep storage of unused renditions?

By @_adamb - 4 months
We actually switched FROM cloudflare TO cloudinary. CF seemed cheaper, but we found the service, the dashboard, and the service to be wildly erratic. Price went all over the place, we'd get double billed, the dashboard would stop working for a week.

Maybe Cloudinary is more expensive (though not by a lot for our use case) but I can say that nobody has had to log in or think about it for months. The thing just works.

Most of the CF add-on services seem to be hobby-quality. We used to use their video stream/encoding service too but have since switched to another more robust platform.

By @JimDabell - 4 months
Cloudflare billing is pretty crazy. We had an annual contract with them for Cloudflare Stream, their video transcoding / streaming / hosting service.

We had negotiated a contract with a fixed capacity and overage charges for when we went over them. They estimated our usage for six months out and twelve months out, then spread the fixed cost out across two six month periods, billing monthly. So in effect, we would be paying for capacity six months in advance that we didn’t need, progressively getting closer to accurate billing.

The real problem came about ten months into the contract. We went over the fixed capacity. Still, no problem, right? That’s what the overage charges are for. Nope! They just switched our service off, causing us downtime.

They fixed it by manually applying a random amount of credit. Which we weren’t billed for. After that, they were really keen to negotiate a new fixed contract, even though they weren’t billing us for the overage charges.

We couldn’t figure it out at first because they were behaving very strangely about a bunch of things. Eventually we realised that there was one thing that explained all their weird behaviour: they just hadn’t implemented overage handling at all. They had no way of stopping our service from being automatically disabled when we went over our limit; the only way they could fix it was to manually apply credit; and the only way they had to bill us for the overages was to negotiate a new contract.

I’m still not certain if that was the case, but it was the only explanation we could come up with, and they were less than forthcoming about it all. The whole service was an absolute shitshow in many other ways as well; it was beta quality at best and they had no interest in fixing the issues. So can I believe they just didn’t implement overages? Yup.

By @phreack - 4 months
> Please accept our apologies for the delay in responding to you. We are experiencing an unprecedented demand for our service, which is causing delays for our customers.

This is such weasel wording. It's frustrating because it's most likely true and the people writing it are probably not lying and honestly swamped.

But considering that growth is the main purpose of most companies like this... by definition, they will at nearly all times be dealing with unprecedented demand!

By @bobbob1921 - 4 months
I feel many cloud billing models are set up to initially account for the abusers of the service, and then account for the legitimate users. (in other words everyone’s assume to be a scammer or abuser, until you prove otherwise).

It’s an interesting concept, a corollary would be walking into a physical store and being treated as a thief, until you check out and make payment. (in fact the opposite is true generally as they check your receipt on exit, or you walk through the magnetometers on exit). I’m not saying it’s right or wrong, just making an observation.

By @miyuru - 4 months
Cloudflare billing seems to a mess.

I received an invoice for cloudflare domains with incorrect billing period when I renewed it early. It calculated the billing period from the date invoice was created, instead of the the actual year in the future I was renewing it for.

It was not a huge issue, but I reported it via support and they acknowledge the issue. This was in 2023.

By @preinheimer - 4 months
The number of large companies that practice this "you're too small for us to care about your complicated question, even if it's billing related" system is too large.
By @nojvek - 4 months
Many cloudflare customers complaining about non-responsive customer service and surprise bills.

Doesn’t inspire confidence.

Especially no customer service response for months for paying customers.

By @inssein - 4 months
Interesting, I had a post on Reddit talking about Cloudflare Images being their most expensive product (https://www.reddit.com/r/CloudFlare/comments/10vjxpm/cloudfl...), but maybe it was just billed incorrectly.
By @DonnyV - 4 months
This is like the 5th or 6th time now, that I hear about Cloudflare's horrible billing and support. I was in the middle of setting up a new account the last time I read about another Cloudflare horror story. Changed my mind and setup a Bunny.net account instead. I don't have time to be jumping between services and chasing down bills that are wrong.
By @xrd - 4 months
If someone makes a startup solely to use LLMs to decipher billing statements, they will probably make a lot of money. Or, that will get bought out before they put sunlight on the tactics of innumerable companies.
By @1a527dd5 - 4 months
We recently looked at an image services for our platform. Nothing crazy a few hundred millions requests per day.

We (well I) shortlisted;

- Fastly

- Cloudflare

- Imgix

- Cloudinary

Imgix (for us) was the clear winner. We had only initially planned to use in a small performance-sensitive part of the platform. That quickly escalated (in a good way) to doing all our of public images on a custom plan. Imgix were great. We have no complaints.

By @rfl890 - 4 months
Going by an estimate of 1tb total in imgs (1m x 1mb) it would cost $15 a month to chuck em on r2 and request charges are .36 per million so negligible for your usecase
By @edward28 - 4 months
I wonder why they used an image platform specify and not just s3 or other data storage.
By @ghoul2 - 4 months
Honestly, the main point of the story here isn't the weird billing processes.

Its, yet again, the utter refusal by CF to provide even basic support. Even for paying users. Even for users who bought the so-called "pro" plan, mainly so that they can access the support that comes with it.

I myself had a metering/billing issue that:

1. I first posted on the forum. Instead of responding there, I was told by staff to raise a ticket. 2. No response to the ticket. Autoclosed after ~1 month. 3. I immediately reopen it. No response, autoclosed after ~1 month. 4. Repeat, for 5 months. 5. Then, I wrote an angry rant in the ticket, and finally the support response arrives: "the customer is misinterpreting the reported numbers, they mean X, not Y". Fair, enough, not obvious from the UI, but could you not have told me this without so much ... friction?

I love what CF has built (I even own a small amount of stock!). Its not perfect, but its far more of a serveless/cloud model than any other player. Makes so many things so much easier.

But, _PLEASE_, CF: improve tooling, and commit to a basic level of support.

By @SomaticPirate - 4 months
Cloudflare support being terrible and non-helpful? Say it aint so /s

Seriously though, it feels like support exists as a hurdle to get to engineering. I have never had a serious issue that was resolved by support. I miss when customer engineers or customer support actually was treated like a value add part of the business.

By @standapart - 4 months
tl;dr

The author discovers the wild world of financial engineering and "float".

Instead of settling usage changes for it's image service with a single charge, Cloudflare settles it with two charges in such a way that the customer "floats" Cloudflare money for some portion of their billing cycle.

This is the bullshit that you start to do when you become publicly traded. It adds zero value for the customer.

By @antisthenes - 4 months
Every SAAS company is overcharging you for their service, because hardware these days are dirt cheap.

That's literally their business model.

By @Beijinger - 4 months
Cloudflare can kill your picture indexing by google:

https://expatcircle.com/cms/why-you-should-never-use-cloudfl...