Settings

Theme

Ask HN: Best alternative for image hosting/scaling for high traffic site?

5 points by jrod2121 10 years ago · 9 comments · 1 min read

Reader

Previously we hosted everything right off of our own server, but as our traffic has grown, we moved to cloudinary so that we could utilize their systems features to do image resizing and scaling on the fly and serve images through their cdn which would help speed up our app.

Unfortunately, we've priced ourselves outside of cloudinary and need to look elsewhere. Right now we're doing close to 1TB bandwidth with cloudinary and they want $500+/mo for it.

Our site receives a lot of traffic and no matter how well we resize/compress our images, we just use too much bandwidth through them.

What's the best alternative here? Should we use one of amazon's services and are there any integrations we can use to help with image resizing/scaling on the fly?

stephenr 10 years ago

So it appears that your concern here is the cost. I'm going to assume that jumping out of a hot frying pan (expensive right now) into a slowly boiling pot of water (expensive in 6 months) is not your ideal choice either, so I'll do what I usually do, and try to suggest something that is less about a specific vendor's services, and more about the basic tools, which are available from a multitude of vendors.

Also, do you really mean 1 terabit (1000 gigabits) (per second) of bandwidth consumption, or do you mean the thing the vast majority of people (including some hosting company staff!) actually mean when they say bandwidth: 1 terabyte of data transfer (e.g. per month)?

I'm going to assume you mean data transfer per month, because the other one is just insane.

The data transfer itself shouldn't be that expensive. With a 'traditional' VPS host it's maybe $15 for 1TB of data transfer. For EC2 its gonna be closer to $90. Either way, that isn't where the cost is going - it's whatever they're doing "for" you.

I would suggest you identify how much benefit you get from whatever process they provide for images, and see if you can get reasonable performance from a simpler solution that isn't tied to a single vendor - i.e. I would suggest going back to storing your original assets yourselves somewhere (could be regular server(s), could be S3, could be B2, etc), put a simple image resizing layer in front of it (if that's all it's doing, its probably an afternoon's work for someone), and then put your choice of cache in front of that.

For the cache, you could go with a CDN if you have distributed users, if your users are relatively localised, you could go with a couple of high-memory varnish servers.

If we had some more information (e.g. what is the scale of images stored to images served; that is, how much storage space are you using for your original image set, how many images are we talking about, and how many variations of each image are you potentially using?) it would allow for more informed suggestions.

karim79 10 years ago

You can use Kraken.io's image optimization/recompression/resizing API [0] to push your images directly to one of the popular cloud/object stores (S3, Rackspace CloudFiles, Microsoft Azure and SoftLayer Object Storage are supported at the time of writing). That should afford you some flexibility over which CDN you choose, since you are now separating the processing aspect from the distribution to some extent.

[0] https://kraken.io/docs/getting-started

amitshrn 10 years ago

We can assist with tuning image optimization in your implementation, to improve ux and save bandwidth & cost. We are also happy to help with a startup discount. Reach out to our support? (Amit, Cloudinary)

kiloreux 10 years ago

Please take a look at Transloadit[0], we offer a ton of features and have a good pricing model, that I believe will be excellent for your case, we'd be very happy to talk over it and offer you a good discount, please email me at abdel[@]transloadit.com

[0] http://transloadit.com/

jrod2121OP 10 years ago

I'm looking to be able to have all those features on a platform that doesn't charge us $500+ a month.

We have users uploading images to our system. We use cloudinary to automatically resize/compress those images down, and then they are served up through their CDN.

Our issue is we have too much traffic, so we use a lot of bandwidth.

jjoe 10 years ago

Are you resizing images to reduce transfer size or because your app needs to present images in different sizes? Why aren't you scaling app-side rather than server-side?

We manage servers for client with a similar requirement but it rarely exceeds $250/mo for several TBs plus the cost of a consumer CDN.

kennell 10 years ago

What is your main concern here? The resizing/scaling/compressing part or the CDN?

raooll 10 years ago

Amazon s3 + Thumbor.org + CDN (if required)

Keyboard Shortcuts

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