3 ms·
Something that differentiates Slack from other apps, is that there should never be any need to manage data across corporate clusters. Instead of a massive, com
by sonnyblarney 7y ago
Something that differentiates Slack from other apps, is that there should never be any need to manage data across corporate clusters.
Instead of a massive, complicated back-end, imagine if each Slack 'installation' (i.e. customer) had their own set of services, distinct from one another.
Even with 10K users each for the larger customer accounts, I'd imagine that 'customer backend' might not have be super complicated.
i.e. I wonder if there's an opportunity for systems such as these to 'scale horizontally' instead of vertically, whereby each customer has their own little set of services.
In this manner 'managing billions of messages' wouldn't seem so daunting, rather, no more daunting that some 3rd party running several thousand MS Outlook instances, one for each customer.
- kmavm 7y agoWe decided early on to colocate most aspects of the back-end, in part because we anticipated shared channels[1], but also because provisioning even virtual hardware for each team would be prohibitively expensive: we have over 600,000 organizations in Slack today[2], too many to make hard-partitioning most resources economical. [1] https://www.zdnet.com/article/slack-brings-shared-channels-to-enterprise-grid-intros-bridge-to-email/ https://www.zdnet.com/article/slack-brings-shared-channels-t... [2] https://sec.report/Document/0001628280-19-004786/ https://sec.report/Document/0001628280-19-004786/
- lubujackson 7y agoI remember reading Evernote had a simple MySQL DB for every account, kind of a similar approach.