Sadly, I feel like the Fediverse, based on ActivityPub, was fundamentally designed wrong for scaling potential. I do like Fedi and I like ActivityPub, but I think instances should not have to be responsible for all of this:
- Owning user accounts
- Exclusively host communities
- Serving local and remote users webpages and media
- Never going down, as this results in users and content becoming unavailable
Because servers "own" the user accounts and communities it's not trivial for users to switch to a different instance, and as instances scale their costs go up slightly exponentially.
I wish the Fediverse from the beginning was a truly distributed content replication platform, usenet-style or Matrix-style, and every instance would add additional capacity to the network instead of hosting specific communities or users.
I guess it's a bit too late for a redesign now... Perhaps decentralized identifiers will take us there in some form in the future.