this post was submitted on 10 Jun 2023
2 points (100.0% liked)
Programming
13373 readers
1 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Can someone explain to me what’s the point in having a lot of small instances of something like Lemmy?
I’m very familiar with Azure, and looking at the docker-compose file and AWS setup, it’s very straightforward to setup a simple instance on Azure container apps. How much it costs you will highly depend on what you want to do with it and how you expect it to be used.
Like, how much traffic are you expecting?
The idea of having several instances is an architecture choice. Instead of having all the users and content served by a single monolith, the users and the content are spread around several instances that then talk to one another in the process called federation to serve that content for other instances.
This spread out architecture allows for lesser hosting costs per instance and if an instance goes down it does not mean the entire service goes down as a whole. You may experience technical difficulties on one instance while the rest are completely fine, just unable to get stuff out of the instance. Additionally, it allows for easier moderation as moderators (admins?) are instance specific. You don't have to moderate the whole of Lemmy, keeping your own house clean is enough. This means you are likely to have a higher ratio of mods per users with more instances, which leads to better quality in moderation work. Then if some other instance is not behaving, stop federating from them to yours.
And then some. I hope this at least explains some of the design choices at fediverse?
I've been trying to setup a working instance using container apps, web apps for containers and ACI, but it remains finicky. Do you know of a bicep or deployment script that does this properly?