What would be the best approach to be multi-tenant for $100k+ customers using your SaaS? (around 500 customers at scale)<p>Should you build your platform to be multi-tenant? or should you just run the whole stack separate for each customer in something like Kubernetes namespace and build an interface to easily create such environments?
Recent thread but focus on the db side:<p><a href="https://news.ycombinator.com/item?id=23305111" rel="nofollow">https://news.ycombinator.com/item?id=23305111</a>
If you expect to continue to scale, the multi-tenancy should be in software.<p>One reason is overhead. Each instance of the system will have overhead, and as you scale to more and more customers, that overhead will eat up your profits. If it's a well-engineered multi-tenant system, you won't have this issue.
Both are valid. It depends on the footprint, type of SaaS (e.g. running complex offline-processing vs running heavily customized web-shops), your PII regulations and your ideal customer type and size.<p>It can be easier to have custom subdomains running separate instances, since this will limit how outages/upgrades/security affect customers. You also can intentionally keep a customer on an old version, which can be a bug or a feature.<p>But it can also be easier to have tenants, since you can update all users at the same time and you will pay less overall for infrastructure.<p>Having done both, I personally prefer tenants since it's easier to write, support and scale. But if you're B2B, you should carefully investigate the other option.
You will need both. Cloud is for on boarding, enterprise is on prem. So build your cloud where ever and how ever, don't expect it to make money, prepare to deploy in all major clouds, and then take in the EE dollars.<p>Kubernetes is a great choice here.