I am interested in using Mattermost in a SaaS scenario. I have been evaluating two solutions Mattermost and Zulip.
We looked at other solutions as well. The reasons for boiling down the list to Mattermost and Zulip were the technologies behind them.
Mattermost uses Go. Perfect! One of the reasons, I would like to use Mattermost. But rest of the techstack is pretty weak for scale (we are talking a million users). Mattermost uses MySQL or Postgres as datastore. There is no usage of cache. In fact usage of Redis was removed Is Redis still used? and the reason given for it’s removal Is Redis still used? doesn’t make sense to me. Other than Go, all of the above would constraint me in order to scale operations and make it quite expensive to keep adding mysql servers.
I believe Mattermost has made a fundamental choice to become a ‘on-prem’ solution for small teams over scalable solution. Is this strategy to change anytime soon?
If that’s the case, I would like to know if there’s a possiblity to allow users like me to integrate scalable solutions like redis, use a datastore like Cassandra to store messages at scale (instead of MySQL or Postgres) and allow integration with Elasticsearch to enhance the search capabilities at scale. Just to name a few.
If not, I would choose to use zulip which has a much stronger technical stack for scale (rabbit-mq, redis, memcached) which would allow me to scale a little better. But at the same time it also uses python (I prefer Go over pyhton) and postgres.
Please let me know what are my options here.