Hi there,
I’m want to make a small project of my own by trying to make a service like Google Drive/Dropbox.
My focus on the client side is a mobile app, so I need to know (in general) how can I make the infrastructure needed for this.
The idea is to let users register and have a 50GB storage limit and having a “dynamic” storage based on my total users usage.

I read about volumes and spaces but I didn’t really understood what are the differences and what is best for my usage.
I think that I need a storage that can be easily upgraded and extended seamlessly.

I hope I made myself clear,
Thanks everyone!

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
1 answer

Block storage is basically like an additional hard drive in your computer. You typically put a filesystem or a database on it and use it for applications that need good read/write (low latency) file performance.
DOs block volumes are charged by the size of the volume you create, not how much data you have loaded into it, and they MUST be attached to a Droplet to be used. Their raw capacity can be resized at anytime, though that means the job of dealing with resizing the filesystem/db/etc falls on you. ( https://docs.digitalocean.com/products/volumes/how-to/increase-size/ )

Spaces is an Object Storage system (Like Amazon S3). It’s designed for long term/archival type workloads or if combined with a CDN as file distribution source. With Spaces you do not need to worry about managing your own fs/storage as it’s all a flat key space,(IE: put a file/object, get file/object). Spaces are directly accessible without the need to attach to a Droplet. Billing is based on used capacity. (And also bandwidth in/out from the datacenter since Spaces are directly accessible)

IMHO, based on your app description, Spaces seems to align more with your needs.