Settings

Theme

Cloudflare Images Now Available to Everyone

blog.cloudflare.com

184 points by huckdx0 4 years ago · 90 comments

Reader

patrickbolle 4 years ago

Ah, if only this was fully available ~ 4 months ago.

I transitioned my recipe app with ~ 80,000 images from Cloudinary to a combination of Backblaze B2 + Bunny.net a few months ago. I heavily use the resizing and optimizing features.

It's saved me a ton of money, but if I could have used B2 + Cloudflare with their 0 bandwidth alliance, I could have saved more, I think - haven't done the math though.

In the grand scheme of things, though, I've worked with Bunny now and love the interface, and performance. The one time I contacted support, I spoke 1 on 1 with , I believe, the founder of Bunny. He was cool.

Cloudflare is doing some killer things, excited for that. But glad to see we have small name alternatives to everything (S3 to B2, Cloudflare to Bunny, etc) that can compete on price and functionality.

Good stuff, though! More options the better!

  • fake-news 4 years ago

    Have you considered imgix? It's like Cloudinary, but with flat pricing per # of origin images. Transformations and bandwidth don't cost extra. It's nice because you don't have to manage yet another stack, just plop in a URL and you're done.

    It seems like Cloudflare wants you to predefine all the "variants" (transformations) as specific templates in their GUI, whereas Cloudinary and Imgix are much more flexible and accept specific URL parameters to create those transformations.

    EDIT: Actually, Cloudflare supports that too (https://developers.cloudflare.com/image-resizing/url-format), it just wasn't mentioned in this blog post.

    • KaoruAoiShiho 4 years ago

      imgix is like 5000x more expensive lol

      • fake-news 4 years ago

        How is it more expensive (than Cloudinary, which the parent was talking about)?

        Cloudinary uses a credit system and charges by disk space + bandwidth + transformation calls. Its free plan is metered and only good for up to a small number of monthly visitors.

        Imgix charges by # of origin images, regardless of their size, and everything is included free. The free plan is up to 1000 source images and bandwidth/disk space are not charged (though fair use limits prob apply?)

jgrahamc 4 years ago

For a fun read here's how we built with in Rust and using our edge compute platform Cloudflare Workers: https://blog.cloudflare.com/building-cloudflare-images-in-ru...

numair 4 years ago

CloudFlare nearly shut down my account for “fraud” because I bought two domain names in a short time period while traveling in a foreign country. I hope they can resolve the mistake of handling customer administration through algorithms rather than humans, because their products are absolutely phenomenal.

Moral of the story is: if you’re going to play around with new features such as this (which I plan on doing!), set up a new account. Always, always compartmentalize.

  • luckylion 4 years ago

    I really like Cloudflare's product (and even own some shares!), but their fraud/phishing/scam-handling is an issue.

    A client of mine got a fraudulent impersonation/phishing-claim (completely ridiculous, the page in question is passive and contains no login ability, no 3rd party scripts besides GA) and CF automatically banned that subpage of the domain. You can appeal to their Trust & Safety team, but they either don't exist or are severely understaffed. It's been a month or so without any feedback, on the forums, people are talking about waiting for six months. Tech support will only "escalate" the issue to T&S where issues go to die.

    It's a great way to boot competitors though: file a claim, their visitors will get a scary "Warning: Suspected Phishing Site Ahead!" page they need to actively dismiss, and the site owner can't fix it short or migrating away from CF. I'm guessing enterprise will buy you a direct line to someone who can do something though.

dcchambers 4 years ago

Haha, when I first clicked on the post I was expecting to learn about a new container image registry living right on the edge with cloudflare. Boy was I confused reading the first few paragraphs.

> You pay $5/month for every 100,000 stored images and $1 per 100,000 delivered images. There are no additional resizing, compute or egress costs.

Pricing seems really reasonable, and the resizing feature seems pretty slick.

kiza 4 years ago

> $1 per 100,000 delivered images

Breakdown of delivery costs based on your image sizes:

Image size | Total bandwidth used | Effective cost per GB

10MB = 1000GB = $0.001 per GB

5MB = 500GB = $0.002 per GB

1MB = 100GB = $0.01 per GB

200KB = 20GB = $0.05 per GB

50KB = 5GB = $0.2 per GB

  • tyingq 4 years ago

    Typo on the last one, should be:

    50KB = 5GB = $0.20 per GB

    Which would make you want to break out the old school spriting tools :) I guess don't serve thumbnail galleries from CF.

    • uyt 4 years ago

      IIRC regular cloudflare will still cache assets for free. This tool is specifically for people who don't want to write a pipeline to do image resizing/optimization themselves. If you're able to write your own pipeline to do sprite sheets, you probably don't need this service to begin with. Just preprocess everything yourself and serve those at $0 per gb.

      • tyingq 4 years ago

        Yes, that makes sense. But it is interesting that this product becomes crazy expensive as the image size gets smaller. $1 per 100,000 served images is a weird pricing model unless you're serving exclusively large images.

        • zaidf 4 years ago

          This is true but remember, we also have volume pricing. If you're storing tens of millions of images or delivering hundreds of millions of images, talk to us :)

    • OJFord 4 years ago

      The 'variants' include different sizes, and:

      > You only pay for original images; not variants

      https://developers.cloudflare.com/images/faq

      • tyingq 4 years ago

        That's for the storage though. You'll still paying $1 per 100,000 served images, including variants. Which makes small images expensive.

        • OJFord 4 years ago

          Hm.. the 'Do I get charged for creating and storing variants?' FAQ certainly is, but I was actually looking at the top one 'How much does Cloudflare Images cost?' which is a bit ambiguous:

          > Cloudflare Images costs $5 per month per 100,000 stored images and $1 per 100,000 delivered images. Storage must be purchased in advance in blocks of 100,000 images.

          > You only pay for original images; not variants. If you have one million original images and define five variants, you would only pay $50 per month for storing your one million original images.

          On my first reading I took that to be general, but then the example is about storage... I think you're probably right, I was thinking each served image (or variant) would only be charged once per payment period (because they can cache aggressively) but that'd be really cheap, depending on usage.

      • Animux 4 years ago

        It's per "delivered image". I think that it will count each variant as one delivery.

    • kiza 4 years ago

      Thanks, fixed

otar 4 years ago

I’m loving it. Cloudflare is a good and reliable service provider, I expect it to expand their cloud offerings in the future like drop-in S3 replacement, application logging, etc…

  • jgrahamc 4 years ago

    You never know what might happen. Cloudflare's Birthday Week is 10 days away...

    • donmcronald 4 years ago

      Can we all make wishes? Lol.

      I would like to define a pipeline of Workers that get to act on the request / response and count the whole pipeline as a single Worker run as long as I stay within the limits for normal workers. That way I can write composable, reusable workers that perform very specific tasks (like pipes). There could even be a GUI to let me enable / disable parts of the pipeline.

      I can do that right now by jamming everything into a single source file, but it would feel better (to me) as a pipeline. It would also be cool if I could stick (headless) Cloudflare apps that are glorified workers into a pipeline like that (at a specific position).

      Something that I've found difficult in the Cloudflare ecosystem is understanding the order of execution for everything (access, cache, workers, apps, page rules, etc.). It would be useful to have a dedicated resource that lists that.

      Also, the preview pages for every app I've looked at today give an unsafe content warning [1].

      1. https://imgur.com/a/KRTdjRM

      • manigandham 4 years ago

        A single file is just the deployment, something you don't really have to worry about. Setup your project and source code to have a pipeline with multiple files and libraries as you want, and let the deployment step (with wrangler) wrap up everything and publish it.

  • johnmaguire 4 years ago

    I am wondering if Cloudflare is gearing up to be a true competitor to AWS a la GCP and Azure. All it'd take is an EC2-like offering for them to have everything many companies need. You can build out the rest of your managed services (e.g. RDS, ElastiCache, S3) slowly over time.

    Cloudflare seems to have a much more cohesive vision for their cloud than AWS does, and I think it could be a competitive advantage for them.

  • brightball 4 years ago

    Seems like they are happy with the zero bandwidth alliance for companies like Backblaze to cover that.

tanelpoder 4 years ago

If I serve cloudflare images on my non-cloudflare hosted webpage, would the visitors still occasionally see the injected DDoS protection “checking your browser before accessing” page or would the images just fail to load then? Or is that browser checking disabled if just loading images?

That’s one reason why I haven’t checked out Cloudflare Pages, my (already statically hosted) website will unlikely be DDoSed and I wouldn’t want to impact user experience by adding random browser checks…

  • elithrar 4 years ago

    The JavaScript Challenge pages only run on dynamic assets, and so won’t impact image assets served.

    Beyond that:

    • You can turn down the sensitivity of the challenge pages: https://support.cloudflare.com/hc/en-us/articles/200170056-U... • Since Cloudflare Pages is fully hosted on us, we can soak the DDoS and don’t have to worry about letting things through to origin infrastructure. Benefit of serving directly from the edge :-)

    (I work at Cloudflare, if that’s not clear)

  • scns 4 years ago

    Is this the same as on Gitlab?

donmcronald 4 years ago

I want something similar to this for favicons. As stupid as that sounds, dealing with favicons is a huge pain. There are so many variants required and every vendor seems to do their own thing.

For example, when you click the share button in Safari on an iPad, it'll download every `link rel="icon"` image you list in html even though it doesn't need them. It would be really awesome to use a worker to inspect the user agent and modify responses to return exactly what's needed for that client.

The pricing for this service won't work for favicons since the cost per response is way too high, but I honestly think it'd be worth $5 / month if I could just upload a SVG favicon for my site and click a button to "Optimize Favicons".

Lukas_Skywalker 4 years ago

It would be great if they also allowed reverse proxying images directly. I.e. if I could embed an image like this:

<img src="/images/logo.png?size=200,200">

For the customers that enabled Cloudflare proxying, they could automatiacally serve a 200x200px variant of the image hosted on my server at /images/logo.png.

This would allow to use the feature without needing to upload the images explicitely.

For those not using the Cloudflare proxying, the images could be embedded using something like this:

<img src="https://imageproxy.cloudflare.com/mysite.com/images/logo.png...">

  • pornel 4 years ago

    This is already supported.

    You create a worker that understands your URL scheme, and requests images via Cloudflare with the desired size/parameters: https://developers.cloudflare.com/image-resizing/resizing-wi...

    Or, you can just use Cloudflare's built-in URL scheme for resizing arbitrary URLs: https://developers.cloudflare.com/image-resizing/url-format

    • Lukas_Skywalker 4 years ago

      Indeed. I only read the blog post, where this info is missing. Thank you.

      • dgb23 4 years ago

        If I understand correctly, then Cloudflare's paradigm is: We have a bunch of polished, simple standard services and if you want to do something slightly different and/or do something on the network you can use Workers.

        I think it's pretty smart and empowering as it strikes a nice balance between great, simple DX and high flexibility.

        • manigandham 4 years ago

          Most of their new products are also built on Workers. Most of them were already possible before, just with more manual work.

    • e1g 4 years ago

      Currently "Image Resizing" requires the Business plan or higher, so this strategy will not work for most hobbyist. Seems like enrolling into "Cloudflare Images" does not give a way to use this feature from Workers.

jlelse 4 years ago

Bunny.net has an alternative: https://bunny.net/optimizer/ It's probably cheaper in some cases.

  • futhey 4 years ago

    I use it, it works really well. You don't have to mess around with workers to get it running, either.

    I guess the breakeven is ~500k images served each month, otherwise Cloudflare would be cheaper.

  • stavros 4 years ago

    Bunny seems like a very nice product. I've never used them, but my perception of them is very positive, for some reason.

    • Ayesh 4 years ago

      As a user for many years, I can confirm it indeed is a nice product. They did however have minor downtimes compared to my previous CloudFront experience, but there are no charges for HTTP requests with Bunny, so it saves a substantial amount from the bill.

reacharavindh 4 years ago

Images up to 10MB in size.

Aren’t most photos taken by recent phones > 10MB? I know my DSLR pictures certainly are.

Asking out of curiosity. I am not the target audience for this product.

  • jgrahamc 4 years ago

    This isn't "store my phone camera roll", it's "deliver images on the Internet".

    If you look at https://httparchive.org/reports/state-of-images?lens=top1m&s... for 2021 you'll see images are way smaller than 10MB on the web.

    • zebracanevra 4 years ago

      but this is an image resizing service, right? shouldn't you be uploading the highest quality original source?

      I would've thought the workflow for these would be to upload a high quality source, and then the service creates lower quality/optimised variants.

      I guess you have a limit as it is priced on total images stored and not storage/cpu used...

      • techpression 4 years ago

        In a previous life I built a photo sharing community and it was quite common with >10MiB uploads, the limit I set was 25. It’s just as you say, you want the highest possible quality (within reason) for rescale purposes (and 2x monitors like the iMac)

      • yevgen_s 4 years ago

        We can support original images that are heavier than 10Mb. Please reach out if you are interested.

    • eli 4 years ago

      We're evaluating this product to replace our self-hosted "resize and deliver images on the Internet" solution and we definitely do have source images over 10mb. I'm not worried about the migration, but this means that going forward we might need our app (or worse our users) have to resize images down before uploading them to the image resizing service. That's a bummer.

      EDIT: I just checked, 2.5% of source images are over 10mb.

      An easy solution might be to have it accept an upload of a larger file, but automatically scale it down to fit under 10mb and then only store that as the new original.

      • yevgen_s 4 years ago

        10mb was a starting default. We may adjust the upload size of original images to the higher limit if there is enough demand for this.

  • voxic11 4 years ago

    Sure the raw images are large, but websites rarely display images in their original format. Generally for display on websites images are at least compressed if not scaled down significantly.

    Here is an example I just pulled off the front page of the NYT website. I'm sure it was originally a 10+MB image taken on a iphone or DSLR but it was compressed/scaled down to a 510kb webp image for display on the web.

    https://static01.nyt.com/images/2021/09/17/sports/baseball/1...

    • jjcm 4 years ago

      The point here though is there’s a file size limit for images you’re uploading. With the 10MB limit you can’t upload your source image for conversion to the example image you linked. You need to do an initial conversion first, which means you’ll introduce more artifacts.

  • pornel 4 years ago

    This is an initial launch, so the limit is maximally conservative to avoid promising too much before seeing what customers do with it.

    The Cloudflare Image Resizing service this product is based on has been increasing its max size, and it supports 100MB images.

eric4smith 4 years ago

I think the missing piece is proxying from an existing image server source.

Say I have hundreds of gigabytes of images "somewhere". How can I start using that with Cloudflare?

I think this is great for new stuff, or small projects, but for the larger and older projects, it's a non-starter.

  • pornel 4 years ago

    The no-storage version of it already exists: https://developers.cloudflare.com/image-resizing/

    but when the "somewhere" is S3, AWS egress costs can easily fund Bezos' next space trip. To fix that, Cloudflare now added cheap storage.

  • justkez 4 years ago

    Non-starter because you don't want to migrate the images into Cloudflare? I.e. you want the transformation/caching of some non-CDN images via Cloudflare?

    Asking as this could look very attractive (£ wise) for a project with images stored in Uploadcare where it would be feasible for us to do the source-image migration.

true_religion 4 years ago

Assuming 50KB per image, this is about 10 cents per gig pricing. It’s comparable to other CDNs so I guess this is a real price that you can use for business purposes without being hit with a request to become an enterprise customer.

compiotr 4 years ago

How is this an improvement over existing solutions like imgix?

  • skytreader 4 years ago

    Incidentally, evaluating an image CDN is my current task at $dayjob. I've been comparing uptimes and, with the caveat that this data is not easy to gather and harder to compare across providers, I just noticed that imgix had twenty-five incidents the past year, mostly "Elevated Rendering Errors". I take it they're a market leader in the image CDN space but that honestly does not inspire confidence in me. Cheaper providers (Imagekit, Sirv) seem to have better reliability.

    (Ofc, another caveat is how accurate do they monitor and report, but---short of running customer sentiment analysis---I don't seem to have a choice other than to assume that factor is roughly equal.)

    I guess it's a David-to-Goliath comparison but I would just expect Cloudflare to have better reliability than any of them. Plus, as another reply pointed out, brand recognition helps in getting that budget approval.

    • LucasBrandt 4 years ago

      My company uses Imgix, we're overall pretty happy with it. I'm not sure how we feel about pricing - that's not in my wheelhouse - but it works well for our needs. Our contact there has also been really helpful.

      The reliability isn't great though. "Elevated Rendering Errors" almost always is "increased errors rendering uncached derivative images". Basically any image variant - by file and transformation/dimension parameters - that hasn't been viewed recently won't load. So a srcset homepage hero image probably has all size variations a user might see in Imgix's cache, and will render. But on less-traveled parts of our site, photos generally won't load. We're a rather image-heavy site and it's pretty debilitating to the UX when this happens, so it's frustrating that this happens more than the "almost never" rate we'd wish for. FWIW, we've never noticed problems on their end that aren't closely followed by an incident report in their status page, so they're not under-reporting at least.

      • symfoniq 4 years ago

        My experience is similar. It's a fantastic product, with less-than-stellar reliability.

  • jonplackett 4 years ago

    I haven't use imgix but just had a quick look at the docs. It doesn't seem to have the same ability for you to give your users a way to upload their own images in a secure way? If that's the case then that's a big + for Cloudflare.

    In general though, CF just nail every version of what they do so I'd personally go with their version of it even if it's the same.

    Is being a cloudflare fanboi a thing yet?

    • deltron3030 4 years ago

      > It doesn't seem to have the same ability for you to give your users a way to upload their own images in a secure way?

      This can be handled by a CMS. E.g. Media Cloud, a WordPress plugin that integrates with IMGIX.

  • simonmales 4 years ago

    Technically, no idea.

    Coming from an enterprise getting approval to use a new SaaS vendor is painful.

    But if a existing vendor has new product offering, you skip a lot of painful TPS style application forms.

  • anonymoushn 4 years ago

    A few companies ago I was tasked with replacing imgix at some company to save eight figures a year. Not sure how pricing compares though.

devops000 4 years ago

Very cool. Waiting for a version for Video with embeddable widget for uploading.

mypresences 4 years ago

Is it possible to tag images?

I have images that can change occasionally and when I upload an image I want to find and delete the previous version so I don't end up with many variations.

tomschwiha 4 years ago

Looks like an interesting feature, however I don't like that you can't really create SEO-optimized filenames + the content is hosted on a different domain.

liveoneggs 4 years ago

    You pay $5/month for every 100,000 stored images and $1 per 100,000 delivered images.
that is for a cache-MISS or a cache-HIT (I assume).
KaoruAoiShiho 4 years ago

Can somebody do the math on pricing vs bunny.net?

godzillafarts 4 years ago

Question:

Is there a use case here for an org that stores original, unresized images in S3 and JIT resizes them on the fly with Cloudflare workers?

option_greek 4 years ago

Is this available for free accounts also or just enterprise ones like before ?

  • zaidf 4 years ago

    Images product is available to all Cloudflare account holders and costs $5/mo to get started.

calcifer 4 years ago

10MB max per image seems extremely low for 2021.

  • JimDabell 4 years ago

    Not really. The 90th percentile of desktop web pages load less than half that much image data across all images on the page:

    https://almanac.httparchive.org/en/2020/page-weight#image-by...

    A 10MB limit per image seems like it will cover everything but outliers.

    • eli 4 years ago

      Yeah but that's the limit for the source image, which would you would want to be the best resolution you might ever want to display.

    • mchusma 4 years ago

      To second that, if your image is over 1MB in 2021, you are probably doing it wrong (unless selling high resolution images).

axiosgunnar 4 years ago

> We’re just getting started with Cloudflare Images. Here are some of the features we plan to support soon:

> - […]

> - Analytics to better understand your use of Images.

Nice „feature“

didip 4 years ago

heh, every time I have a good idea, Cloudflare always implements them later.

mancy00 4 years ago

If the images are cached by Cloudflare's CDN, and assuming we have a paid Pro account, are we still billed on each image delivery? How do paid CF plans affect CF Images, if at all?

  • symfoniq 4 years ago

    I'm wondering about this, too.

    I have a client with a Cloudflare Pro subscription. They've received about 57 million image requests through Cloudflare in the last month, of which the origin has only served 2 million, and the Cloudflare Cache has served the rest.

    If we used Cloudflare Images, would it cost $570 to transfer those 57 million images? Or would the Cloudflare Cache significantly reduce the number of transfers attributed to Cloudflare Images?

  • eli 4 years ago

    You pay per image delivered. They don't use the caching built in to your Pro account.

Dah00n 4 years ago

Cloudflare Images for all customers != Everyone.

  • mcherm 4 years ago

    I was under the impression that "customer" simply meant any person who makes use of their services.

    Are there certain categories of people who CloudFlare refuses to have as customers?

    (I know there are SOME -- for example, as a US company CloudFlare is subject to US trade restrictions.)

    • mschuster91 4 years ago

      > Are there certain categories of people who CloudFlare refuses to have as customers?

      As you mentioned, anyone on one of the various US sanction lists. Additionally, anything illegal under US law (particularly CSAM, warez and other kinds of piracy), as well as terrorist/violent content (as the "Islamic State", 8chan, Daily Stormer and a select few others found out the hard way).

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection