It also adds to the deployment complexity even more. Just from memory, to run Mastodon you need:
any number of Rails web servers (horizontally scalable)
any number of Sidekiq worker processes (horizontally scalable)
a PostgreSQL database for persistent storage (vertically scalable modulo sharding)
a Redis server for caching and Sidekiq (vertically scalable modulo sharding)
a Elasticsearch server for full text search (vertically scalable modulo sharding)
So this is at least 5 different server processes to manage, In reality for almost all deployments, Redis and Elasticsearch are unnecessary; the database can be used for jobs and full text search. Further, it could even be SQLite for all but large instances.
The deployment story for Mastodon is a nightmare and a substitute like Pleroma or even better something in Rust is necessary.
It also adds to the deployment complexity even more. Just from memory, to run Mastodon you need:
So this is at least 5 different server processes to manage, In reality for almost all deployments, Redis and Elasticsearch are unnecessary; the database can be used for jobs and full text search. Further, it could even be SQLite for all but large instances.
The deployment story for Mastodon is a nightmare and a substitute like Pleroma or even better something in Rust is necessary.