A multi-tenant application/service allows multiple businesses to access instances of the same application operating in the same environment, often with clear-cut separation between the instances.

A multi-tenant application doesn’t necessarily have completely separate instances for everything, e.g. it can have shared cloud compute that automatically switch between tenants based on the customer-specific domain name, and it can have databases that safeguards against cross-tenant access either via separate databases/database instances (maximum separation, a lot more setup and additional cost), separate schemas (more separation, more setup), or via row-level security (less separation, less setup). The application can have an entirely shared stack of resources, but use extensive access controls to make one instance appear distinct from others.