Mastodon and ActivityPub
medium.com
medium.com
However! It will be possible for ActivityPub applications to move in the direction of being more distributed systems... in fact I wrote a paper on this which I will be presenting at Rebooting Web of Trust in October: https://gitlab.com/dustyweb/talks/blob/master/activitypub/rw...
There's a lot of ideas in that paper, but the one that applies to a nomadic identity is Decentralized Identifiers support, or DIDs: https://w3c-ccg.github.io/did-spec/
DIDs are being worked on by the W3C Credentials Community Group (which I am also a part of) and will permit having an identity that is "self-soverign". How I imagine this would work in an application like Mastodon, if Mastodon decides to include support for it in the future, is that you would register a DID for yourself and then go to your profile page and associate that DID with your user. You'd then have identity that isn't tied to one specific node... indeed, in such a direction we'd begin to blur the line between the federated client-server web application model and peer to peer networks.
That's a ways off though. For now I think ActivityPub brings a lot of benefits to Mastodon (though I'm biased obviously). Still lots of exciting future ahead though!
This is basically what secure scuttlebutt is doing:
The biggest instance has 250k users, and the top 10 instances together have 600k user (75% of of those 800k). I don't have info how these large instances map to actual servers, but I don't think Mastodon currently has a lot in the way of features to split an instance across machines.
(Data from https://instances.social)
Has the internet really regressed so much that developers would also make the argument that it's a better idea to have one or two email providers, for instance, than have it be a distributed system? What about many wordpress instances, etc?
For example, I have 100 Mastodon instances running using 8 VMs at https://masto.host/
I can tell you that a VM with 2vCPUs can run 30 small instances easily (CPU load average under 50%) as long as you have 1GB of RAM for each.
So, if you have a server running, I am sure you can add Mastodon to it and the only thing you will notice is the 1GB of RAM usage. If you want to install it for a small group of users, just find a sharing hosting space like mine or go with a $3 VPS and you will be more than fine.
I have instances with a couple of thousands of users and it runs smoothly with shared resources.
It really depends on what you want to build. If you want to create an instance for a small specific group of people or you want to open it to the masses. I haven't tested concurrent users but I can tell you from all the instances I run, nobody ever mentioned an issue of slowing down when experiencing heavy traffic.
I have noticed that cPanel has been pushing RoR https://documentation.cpanel.net/display/ALD/Ruby+on+Rails and I haven't tested it or know of the security implications but I am pretty sure that with enough tweaking one could install Mastodon on a cPanel server with other apps running in PHP.
(I imagine there's a handful of popular
servers for each language)
As far as I can see, there's a handful of servers, full stop. Some level of criticality exists and is yet to be achieved here.Edit: gosh no, I'm completely wrong. I looked at the instance list at https://joinmastodon.org/ but didn't see there was a scrollbar!
Either way, 1. If you take out the 5 largest servers, the average drops significantly. I don't have the numbers available now, but the average may go to 50 without the top 5 largest servers. 2. The biggest barrier to getting more people to set up servers is that it requires a lot of resources (a.k.a. more money going to your favorite VPS provider), with the reputation of a fiddly install being a close second.