Multi-tenant architecture is a software architecture in which multiple “tenants” (software instances, users, etc.) are served by the same physical machine, rather than by separate wholly dedicated machines. It is often a feature of cloud serverless platforms, as hosting and running multiple tenants on the same machine often allows the cloud vendors to reduce the per-user cost.
For example, imagine you are a developer and you’d like for your application to have a cloud database.
With traditional single-tenant architecture, you would have to choose and pay for one or more dedicated machines. To put it in simplified terms, if you needed 1.5 machines worth of server storage and compute capacity, you’d still have to pay for two complete machines.
Multi-tenant architecture allows you to pay for only the resources you actually consume by enabling more than one software instance or user to share the same machine.
So in the case of your cloud database, you could choose to use CockroachDB Serverless, and rather than having to choose a set number of machines and worry about hardware details, you can simply create your database cluster and it will be allocated the resources it needs in real-time on shared machines. Rather than paying for whole machines 24/7, you pay only for the portion of the machine’s resources that you actually use – and in the case of CockroachDB Serverless specifically, you actually pay nothing if your database’s storage and usage is below the limit for free accounts.