Cloudinary is nice because of on-the-fly manipulation and its ability to serve different image formats in different scenarios. But you're definitely right that it comes at a premium.
If you don't need the manipulation services, it somewhat depends on your context. Is hosting the images through a CDN baked into your host itself and maybe you don't have to worry about it?
For what it's worth I'll provide one good option that might be overkill for some indie scenarios:
Host the images on Amazon S3 (simple storage service) and connect an Amazon Cloudfront distribution for the serving of the images. Cloudfront will sit in front of the storage bucket to serve the images as fast as possible.
I too use Amazon S3 for the images that I add to my blog. My usage is very minimal and there’s not a whole lot of images, so the cost is very minimal. As it’s only for the blogs, I didn’t investigate in Cloudfront(I am going to check it out).
Amazon S3 is a good place to start and based on your purpose, you could extend the idea.
P.S: HipChat a popular Enterprise chat app uses S3 for the files shared in the chat. So S3 can scale well.
S3 is great for storage and you can serve direct, but Cloudfront cuts down on latency to make the image load a split second faster. It's a small thing but worth doing on the web and once you have it set up it's as simple as serving direct from S3.
Nice! I'm familiar with S3 but I haven't heard about the S3 + Cloudfront before. Will definitely check it out! Thank you both for the recommendations! :)
CloudFront is a pull CDN, meaning that it fetches a file when someone requests it so that next time it's physically closer to them. It is not a magic "make it faster" panacea.
If a file is expected to be requested by a lot of people in a lot of different places, like on a popular website, it'll make it faster. If it's being uploaded by one person and downloaded by one other person, like in a chat app, it'll probably make it slower.
A push CDN might make everything faster all the time, but those are even more expensive.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Cloudinary is nice because of on-the-fly manipulation and its ability to serve different image formats in different scenarios. But you're definitely right that it comes at a premium.
If you don't need the manipulation services, it somewhat depends on your context. Is hosting the images through a CDN baked into your host itself and maybe you don't have to worry about it?
For what it's worth I'll provide one good option that might be overkill for some indie scenarios:
Host the images on Amazon S3 (simple storage service) and connect an Amazon Cloudfront distribution for the serving of the images. Cloudfront will sit in front of the storage bucket to serve the images as fast as possible.
I too use Amazon S3 for the images that I add to my blog. My usage is very minimal and there’s not a whole lot of images, so the cost is very minimal. As it’s only for the blogs, I didn’t investigate in Cloudfront(I am going to check it out).
Amazon S3 is a good place to start and based on your purpose, you could extend the idea.
P.S: HipChat a popular Enterprise chat app uses S3 for the files shared in the chat. So S3 can scale well.
S3 is great for storage and you can serve direct, but Cloudfront cuts down on latency to make the image load a split second faster. It's a small thing but worth doing on the web and once you have it set up it's as simple as serving direct from S3.
Nice! I'm familiar with S3 but I haven't heard about the S3 + Cloudfront before. Will definitely check it out! Thank you both for the recommendations! :)
I found this to be helpful:
Tutorial: How to use Amazon S3 and CloudFront CDN to serve images fast and cheap
CloudFront is a pull CDN, meaning that it fetches a file when someone requests it so that next time it's physically closer to them. It is not a magic "make it faster" panacea.
If a file is expected to be requested by a lot of people in a lot of different places, like on a popular website, it'll make it faster. If it's being uploaded by one person and downloaded by one other person, like in a chat app, it'll probably make it slower.
A push CDN might make everything faster all the time, but those are even more expensive.