Image Hosting: Amazon S3 vs. DigitalOcean Storage?

Posted November 6, 2016 55k views
CentOSBlock StorageStorage

I am currently hosting a service on Digital Ocean, as I move from development to release I have a few things I have to adjust.

I require that users be able to upload images and other media for storage. Ordinarily I’d use a service such as Amazon S3 or for smaller projects the free version of Cloudinary, however due to the fact that the number of images uploaded will be significantly large I think a separate solution is ideal.

Is Digital Ocean block storage sufficient for performing this task? I’ve found few resources on the topic and the official FAQ under When Should I Use Block Storage states: “As the document root or media uploads directory for a web server”

I understand that S3 is an object storage and not a block storage [It is also priced somewhat higher at ~$0.10/GB per month vs. ~$0.03/mo for S3] but I would like to keep things as simple as possible. The additional configuration to setup S3 alongside my meteor project seems daunting.

My question boils down to:

  • Is Digital Ocean Block Storage is suitable for this purpose?
  • Will everything play nicely with my existing CDN?
  • Can I create subdomain based image links? I.E.: (Amazon allows this through CNAME configurations)

Thanks for your time and sorry for the length, I tend to ramble.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
5 answers

Hi, What is the main difference between “block storage” and “spaces” digital ocean product’s?

  • @gchacaltanab You can check out the major differences in our article on object storage vs block storage services. Hope that helps!

    by Brian Boucheron
    Flexible and scalable data storage is a baseline requirement for most applications and services being developed today. With today's complex deployments, containers, and ephemeral infrastructure, the days of simply saving files to disk on a single server are gone. Cloud providers have developed services to fill the storage needs of modern application deployments, and they mostly fit into two categories: object storage, and block storage.

Practical warning: be aware of AWS charging data transferred out of their regions (e.g. to Digital Ocean droplets).

Few years ago I was processing bigger amount of data and the invoice was big surprise. Just estimate the amount and calculate.


Take a look about this DigitalOcean Alpha Object Storage here:

That’s will be a nice alternative of S3.

Hey @RaymondLC92!

I’m happy to say that we have just announced Spaces Object Storage. It can definitely be used for storing images and other user uploaded files. It’s fully compatible with the S3 API so it’s a simple drop-in replacement!

Pricing is $5 per month for 250GB of storage and 1TB of outbound transfer. Inbound transfer/uploads are completely free of charge. Additional storage is available at $0.02 per GB stored, and additional bandwidth at $0.01 per GB of data transferred.

Check out the announcement here:

how much space do you foresee using?

I think block-storage will be cheaper, as Amazon charges for uploading as well as storage space…so you could quickly run up a hefty bill with aws from the uploading and downloading even if you were not using much space.

Yes, you can create subdomains.

Not sure about CDN, but block-storage will just be a directory on your linux server. It is pretty straight-forward to work with.

  • The amount of space entirely depends on the number of users and the size\number of files they upload so that’d be hard to say. The title is a bit of a misnomer as videos can be uploaded as well, with videos typically being larger than images.

    I imagine all things considered I won’t need too much at first, probably less than 100GB. Do you pay for space used or for the entire block at all times - even if it’s empty?

    Do you have any data on how to setup the subdomains with digitalocean block stores?

    • DO Block Storage is just what is says: blocks of storage that you pay for by the chunk, while AWS is elastic and you pay for what you use…but with AWS you also pay for upload and download access so you have to think of that.

      Setting up Block Storage is a one-time thing, and it gives you exact instructions on how to do that when you create a new block. You end up with the block storage mounted in a folder of your choice, which you can then use for whatever purposes. Basically it is a few lines of code that takes a few minutes.

      You can always destroy the block right away, so it is no issue to give it a try and then destroy it if it does not suit your purposes. I believe you will only pay for the time you had it created.

      Basically: if you don’t mind the extra costs AWS might be better because of its elasticity, but if you are being mindful of costs, Block Storage is probably going to save you some dollars each month.