My website app should hold something like 1000 images (every page of content might present up to 10 images).
Not sure if I should host it locally (heroku), and if it's recommended to that amount of images (which I assume is not a lot). Also not sure if in this case I would need to serve it with a CDN.
Would like to hear your thoughts on that. first time building something like this.
I've been using https://sirv.com/ for a few months. Prices are good and customer service is 100%. Would highly recommend
As others said, I'd recommend using s3, or for example digitaloceans (s3 compatible) spaces.
If you rely on generating/manipulating images on your webserver, consider using a normal heroku instance with a cloudflare caching layer in front.
Remember to set your caching headers properly so your visitors don't need to download assets more often than necessary.
cloudinary
It depends a lot on the specifics of use and access.
Overall, 1000 images isn't too much. If there's not too much traffic, and the images aren't changing, then including them in your repo and hosting them locally would work. Note that you will have to deploy them with your codebase every time you do an update, this may or may not present problems.
The issue here is that Heroku will periodically clear and local files not part of your repo, so if there's any sort of upload functionality you can't rely on Heroku to store them. In this case S3 is a great choice, easy to use and very cheap.
A bit late here - but I use Cloudinary whenever possible. Easy to work with, ability to manipulate images on the fly, they have a great API (depending on your codebase) and its all on a CDN.
If you also have to manage a lot of images, their digital asset manager (media library) will help you out immensely. I manage a site with thousands of images, it makes life easier.
The downside to Cloudinary, they can be a bit pricey. They do have a free tier that might work for your needs, though.
(Not affiliated with Cloudinary, just a longtime fan)
I recently made a store for customer and I host all the product images in S3. Works really well.
Google app engine has an image serving service. You upload the image in the highest possible resolution and when requesting ist, you specify dimensions. The service is really fast and the processing-time for the image manipulation is free. You only pay for requests after your free tier is used up.
Use Amazon s3. They offer free tier.
1000 images is very small number.
Setting up DigitalOcean, S3 sounds like extra work you have to put aside from your project.
I have online service which I use only for my own small side projects where all the images are displayed like this: https://example.com/http://your-url.com/image.png
Not only it optimizes your images on the fly, but gives you ability to crop images, resize, round and etc. Plus - served over CDN.
I have never launched this publically - like I said - only for my own small side projects. I am interested to hear if there is any demand for it?
Aws s3 with cloudfront CDN is what I use most of the times. However, it depends on your expected trafic.
1000 images are not very many. Put your site behind a free Cloudflare CDN and tell it to cache your images for a very long time. Then we start thinking about cache invalidation and all that...
firebase.
Our iOS app was image-heavy. Easily we had 1000+ high-quality images and we served everything directly from firebase (no CDNs)
is it free?
Well, they have free tier (and very much for the OP's need they can be just in free tier)
I use Backblaze B2 for storage and Cloudflare for CDN. This allows me to serve roughly 500 GB of data across 20 million individual requests per month for less than a dollar. I believe this is the guide I originally followed to set everything up: https://medium.com/@danrovito/creating-a-cdn-with-backblaze-b2-and-cloudflare-for-free-2f7a3efa0c1
Thanks for the link and the feedback, Steve.
Do I understand it right that 500GB of data corresponds to the traffic that Cloudflare is serving but that you have less data to store? Given the free egress between Backblaze and Cloudflare and the use of Cloudflare's free plan, it means you are only paying for the storage on B2, right? Do you know at what point Cloudflare would suggest switching to one of their paying plans?
Depending on the purpose, I'm using Digital Ocean or Dropbox.
As mentioned below by Peter, it really depends on your use and access. 1,000 is very small, but when you start to scale up you may find S3 a good solution.
I host all images and zips for https://freevectormaps.com and https://vectorflags.com there and have zero concerns, and the cost is small compared to the global usage I get.
We generate images on submission to https://discoveralexaskills.com and https://jobsforvoice.com. We host the images on S3.
I don't think you want to be deploying your images every time you make a change.
This comment was deleted 6 years ago
This comment was deleted 4 years ago
This comment was deleted 4 years ago