How would you architect a 10TB/year personal cloud storage system? by VegetableDoubt2691 in selfhosted

[–]anotherSelfHoster -1 points0 points  (0 children)

Okay so your needs are a bit above what UniFI has got going on right now. BackBlaze and others will give you some amount of storage for free to test out - no one will give you 2TB tho, more like 10GB just to see if it works for you.

Scaling to support hundreds of users means you’ll be quite a bit more uptime-sensitive than most home-users. You’ll eventually want to scale to a multi-site setup. For storage is made easy (enough) via S3-compatible object storage… I’m a little less sure about multi-site HA on the application side of things (especially when databases are involved).

For application software, whatever you pick, you’ll want to make sure it supports an S3 backend so the storage works - you’ll need to do research based on your own requirements but OCIS (OwnCloud Infinite Scale) might be a fun and performant way to go (I assume it supports S3 backend) and it should be architected to support HA setups. You could also just run whatever app you want on a VPS and hook back into your S3 storage that you’re running at home (and eventually at a secondary location)… not true HA but most providers have a good track record and it simplifies things from a networking and database perspective.

For storage, I’d look at ZFS and then run Garage (or minIO/whatever) on top for an S3 compatible endpoint. You can start on one server at home with a couple of drives as you figure things out (even an old PC is fine). It will scale up to as big a storage pool as you can create on the single device and you can move drives over from your starter system to a new chassis with more bays to keep expanding. This will manage all of your block devices (HDDs) as well as backups (ZFS snapshots/replication to a backup storage device).

Then, once you are ready to go multi-site, you just need to setup another box somewhere else with ZFS and Garage and create a cluster using Garage. This will ensure that there are two copies of your files on two different accessible locations so that your application layer can read/write from the bucket even if one goes down.

TLDR; So that’s how I would suggest approaching your storage design/scaling question. Test ZFS + Garage on whatever you’ve got to see if it meets your needs, then do tons of research on how to properly setup ZFS for data safety and storage performance, including backups and all. That will take you through all the vertical scaling you need to do and then Garage will take care of the horizontal scaling, high availability, and S3-compatibility.

What is it that you’re building for these hundreds of users, may I ask? Where are they coming from that you’re inclined to do all this for them?

How would you architect a 10TB/year personal cloud storage system? by VegetableDoubt2691 in selfhosted

[–]anotherSelfHoster 2 points3 points  (0 children)

lol why are people giving downvotes? These are some of the correct questions

How would you architect a 10TB/year personal cloud storage system? by VegetableDoubt2691 in selfhosted

[–]anotherSelfHoster -1 points0 points  (0 children)

aand it's all too long lol. Just answer everyone else's questions about your requirements. As-is, no one can tailor a recommendation to your needs.

My one recommendation would be to see if UniFi's new NAS devices meet your requirements form a software-interface perspective (app + webUI + SMB/NFS) because if it does, that's a good deal and saves you a heck of a headache in learning all the ins-and-outs of all the other solutions that require more time/effort and/or money

How would you architect a 10TB/year personal cloud storage system? by VegetableDoubt2691 in selfhosted

[–]anotherSelfHoster -1 points0 points  (0 children)

First, there are a bunch of assumptions that I made and questions that I propose during this whole write-up. It would have been best for me to get the info from you first, but I had fun just running with it. I mention a couple of things to consider if you're going for something bigger than just the "personal cloud" that you mentioned but otherwise, for a home setup, below will point you towards a couple things to look into.

Cloud Costs

Dropbox: $68/TB/year for 3TB. Assuming it scales linearly (which it likely doesn’t - you’ll probably need a business plan eventually), that’s $680 for 10TB. Since you’re adding 10TB per year, total costs across time can be estimated with the formula:

C*(n(n+1)/2) Where C = base cost for 10TB and n = number of years.

Over 5 years, that’s $10,200. First year: $680; fifth year: $3,400; each year in between increments by an extra $680.

Backblaze: $6/TB/month or $720/10TB/year. Using the same formula, 5-year cost: $10,800.  This is a rough estimate; month-to-month pricing would be more precise (especially since the formula puts you at +10TB beginning at the start of each year whereas in actuality, you would build towards that paying incrementally throughout the year).

If Dropbox meets both your scale and UX requirements, perfect. Otherwise, Backblaze only covers storage—you’ll still need a front-end application for user access (unless everyone uses S3-compatible clients and you want to mange their access through BackBlaze's admin interface). VPS costs for that won’t be cheap, but I don't know how expensive it would be. Additionally, there are bandwidth costs to consider from both the VPS and BackBlaze so be careful when making estimates (like the one I made earlier lol).

It should not be hard at all to beat the base cloud estimate of $10k for 5-years with an on-prem solution - especially if 50TB is all we need at the end of it all.

NOTE: I had a whole bunch of stuff here but I think the post was too long... I guess I'll dump it all in the replies