How do server upkeep costs look like for fediverse stuff?

mishii9029@lemmy.world to Fediverse@lemmy.world – 50 points –

I'm pretty new to the fediverse, and I find the idea amazing. But one thing concerns me though. How will server owners be able to afford to run servers with massive amounts of data coming through them? Theoretically speaking, if a Reddit migration were to happen how would server upkeep costs look like?

55

Ruud who runs lemmy.world and mastodon.world publishes financial information on his blog: https://blog.mastodon.world/april-and-may-2023-financial-update

Wow, such transparency... that's awesome. I wonder (hope) if there will be a massive spike in donations in June.

/me sets alarm to remind me to donate after work since I keep thinking about it while I'm away.

Ya, no kidding. This piqued my interest, but I did not click expecting to see an actual cost basis! I have been looking at potentially setting up my own node, but at the same time... Perhaps contributing here, financially as well, could be the best option.

Still fun to play around with my own stuff though :) Thanks guys!

He is a Dutchie, that must be why.

I guess so.

I have a small, private Lemmy site, a personal Calckey site, and some blogs that I run off of a VPS that I pay like $13/month for. The server is overkill by an order of magnitude for what I'm using it for. Based on current usage, I could support a few hundred active users without ever taking a dime from anyone, though I'm sure media expenses don't scale well. That said, there are collective media projects like Jortage out there that have the potentially to significantly reduce media hosting costs for small sites.

This sort of openness and transparency around finances and the need for donations should become the norm (however awesome it is to see from ruud).

IMO, with more transparency, the more normal it will seem to donate and the less grating it will be to ask for donations.

Don't forget to consider donating to developers of lemmy and/or your mobile app of choice!

How is it possible to donate?

Opencollective has a page. Recurring donations are usually more useful than one-time, but both are excellent.

Just reading through this it seems crazy to me that lemmy.world is being scaled vertically, is there something about how it works that prevents horizontal scaling (like, load balancing across a number of servers all using the same db)?

As far as I can tell, the software just wasn't built with that in mind, so I would expect some kind of bugs or weird behavior like race conditions, etc. Nothing is stopping anyone from trying it to see what happens though I guess.

I am trying to start a project with a fairly ambitious goal, trying to take load off the central instance to reduce hosting costs (whether that comes in the form of a single powerful server or multiples pointed at the same DB). It's still in early form, but the core (trying to make it so running a Lemmy node is not too punishing on the main instance server) is an attempt to do the engineering to help accomplish exactly this.

From what I understand, Lemmy is just using a PostgreSQL database, and there's many ways to load balance and horizontally scale it. You could use something like HAProxy for load balancing, and for horizontal scaling, you could add multiple PostgreSQL slave nodes and if you want to manage the scaling automatically, you could use a tool like ClusterControl or w/e. There's plenty of doco on the web around this and it's not specific to Lemmy.

You can scale app servers surprisingly far before you need to shard a decently sized single master postgres cluster. Like, probably 20-50+ times the current write traffic it seems this instance has. It was probably due to the websockets thing, thinking about it. With 0.18, that goes away and requests can be stateless, cached, and you can throw a load balancer and n app servers at it.

I think I can help with that!

Basically it’s donations and own investments 👌🏻♥️ I run quite a lot of free services, mstdn.social and Masto.ai are the biggest I think but most of it gets covered by donations via various channels.

The rule is: people may only donate when they can miss it, we don’t wanna cause any problems with people!

Just a little fun thing: if every local user would donate 1 cent each month we would get more in donations than our total costs are😅

Ofc this doesn’t happen but some people can donate and other can’t!

people may only donate when they can miss it

And because admins like you rock. If an admin is really cool, they can donate even their house, but if an admin is not cool, well... look at spez.

I'm on mastodon.art and donate $1/m, same story. It's only a handful of people that donate (hundreds, but still - much smaller than the thousands of users) and we cover the bill.

Though, this is also why i'm experimenting with custom Fediverse instance software that prioritizes low cost operation. I think Fedi would be better off if it wasn't a huge lift to figure out hosting. There's enough challenges in hosting instances, it would be nice to reduce as many as possible.

Im on a different small mastodon server and our admin expects about $0.14 per user per month.

Which makes reddits api pricing disgusting

I see four options:

  1. Server owner assumes all costs of the server. Possible if instance is not huge (ideal on a federated environment) or owner has money and will to do it.
  2. Accept donations from users
  3. Require paid subscription to access (and thus becoming private otherwise anyone could still access the server from a free instance)
  4. Run ads on site. Same as 3, users would migrate.

So I only see 1 and 2 possible

I run a personal instance with only two human users and a couple of accounts each (admin and daily use). I use a DigitalOcean droplet with 2gb of memory and 80Gb of storage. With a dozen or so communities, my disk usage since July 4 is at about 12gb.

My total monthly cost with weekly backups is about $14 USD. If the storage demands keep going up, my cost will increase to about $19/month

To me this is a very valid concern -- as I understand the rough breakdown, reddit costs about $0.12 per active user per month to operate, times about 4 million active users in any given month equals a little under $500k per month in hosting costs.

I think it's possible that this will be manageable within the Fediverse (i.e. not a growth-impeding-beyond-a-certain-point problem), but I do think it's likely to be a significant issue. I am actively working on a little project that I hope will be able to make it possible to run an instance with much reduced hosting costs.

(Also, I noticed that I accidentally referred to reddit in the past tense in my first paragraph which I take as a positive sign.)

(Also, I subscribed to Ruud's and Dessalines's Patreons, have you? 🙂)

reddit costs about $0.12 per active user per month to operate, times about 4 million active users in any given month equals a little under $500k per month in hosting costs

These figures... Where did you come by them? I recognize the $0.12 estimate from Apollo's dev, Christian Selig (u/iamthatis) breaking down what he thought was /r/ income per user per month, not cost.

So at generous estimates of $600M and 430M monthly active users, that's $1.40 per user per year, or $0.12 monthly.

As other lemmy admins have mentioned, for US$0.01/month/user, all costs would be covered handily (so far at least).

Edit: added quote from Christian

Hm... I think my numbers are wrong. My source was the following fairly unreliable numbers filtered through my imperfect memory:

  • Christian's post for the $0.12 per user per month, misremembering it as hosting costs
  • This post where one random person does some dodgy math to arrive at $5.8 million per year hosting costs, divided by 12 is $483k. This is all as of 9 years ago.
  • 4 million users from $483k divided by 0.12

So, I think my math is wrong. As you noted, the 4 million users per month is probably too low by 1-2 orders of magnitude in the present day (although I feel like "active users per month" probably has a fairly imprecise definition). Do you happen to know what are accurate numbers? I'd be pretty interested in knowing what are the actual numbers for reddit's hosting costs / active users / cost per user, since obviously mine are wrong. 🙂

As other lemmy admins have mentioned, for US$0.01/month/user, all costs would be covered handily (so far at least).

Is this true? Ruud's numbers were €532 for hosting costs in May, and 8,000 users as of mid-June after a bunch of growth -- so wouldn't that add up to around $0.10 per user? Or were there economies of scale as he moved up to his higher server tier? (Edit: April and May were only Mastadon, no Lemmy. Obviously I cannot reading-comprehension today, I give up on numbers for now)

Do you happen to know what are accurate numbers? I'd be pretty interested in knowing what are the actual numbers for reddit's hosting costs / active users / cost per user...

I really don't know, but I share your interest. I'm not sure if it's out there at all, since they're a private company. I think the guesses that we have mention that they're based on extrapolating data that was somewhat questionable to begin with, as it came from someone with a clear interest in showing high numbers of users and income, but with no duty to report either of those truthfully. If you read Christian's post closely, he inflates both users and income to favor /r/ and give them the benefit of the doubt.

My other mention of one penny per user came from another thread where an admin of a smaller instance was saying they received a surplus of donations, and that they told their user base that a single penny each month would suffice. I suspect lemmy.world has a higher base cost to run, as he has mentioned he has proximity to this infrastructure and the means to run there at small scale with no financial support. All that is to say that I think some instances with <10k users can run on cheaper hardware, but @ruud was able to start over provisioned and expected to see >10k users. He also shared a cpu utilization chart showing his instance never approaching even 20% load.

I'd guess that at present active users, depending on instance plans and needs, server costs can run from between 1 and 15 cents per user.

Does it help to encourage users to host their own media rather than upload it to a lemmy/kbin instance. Or is that a minor component of the cost?

I hope someone will give a meaningful answer, because I'm also wondering about this

I run a personal mastodon instance for myself and a few of my friends and it runs well on the free oracle cloud tier.

Using anything Oracle related is a recipe for disaster.

Oh yeah, I've already talked about it on here. They can and have straight-up terminated accounts without warning. My case was much less severe, but I will still warn away anyone thinking of deploying something meant to be dependable or semi-permanent on Oracle.

Yeah, I have wondered also.... Just like if I wanted Usenet access I would expect to pay for it... There are costs involved, so how much?

That really depends on how many users and communities you have. It can be in single digits for small servers and hundreds (or even thousands) for the bigger ones. And everything in between for medium-size servers.

Also depends greatly on which software you run. I also run Akkoma, which is super lightweight. Calckey also doesn't require much. Mastodon is heavier and requires much media cache storage. Lemmy uses more images.

Have you ever looked into hosting a Peertube instance? I'm curious about how the costs compare.

Well I (of course) host one, but not open for signups. It will probably need a lot of CPU for transcoding, and a lot of storage! (Bandwidth too but that's unlimited for my current servers)

My personal (extremely small) instance with only a few users currently costs around $8 / month on a VPS. Still have plenty of headroom for more users as well I believe.

Will databases grow huge on all instances if we get a hugh amount of extra users that create tons of content? I mean, if lemmy.world explodes, will all small instances need to follow?

I don’t want to know how large the database of, let’s say Reddit, actually is.

Or am I getting this fediverse thingy wrong again?

I don’t want to know how large the database of, let’s say Reddit, actually is

Too bad! There's an archive project (from r/DataHoarder) working now to grab what can be grabbed. So far its up to 3.01PB.

Source

Thank goodness for people like this. I can point this out to my wife the next time she questions the new hard drives and show her how completely reasonable I am compared to some.

But that's including media, right?

I suspect so. The complete reddit archive from PushShift (text only up to March 2023) is about 2TB.

The Mastodon instance sfba.social publishes their financials. They have about 30k total users and costs are about $1,000 USD per month. Donations cover this amount and the extra is saved.

https://hub.sfba.social/2023/04/15/transparency-report-march-2023/

$1kpm for 30k users? Man, Mastodon software is not optimised well...

oops - Users is currently 38k.

What are costs for other server types?