Modern hosting and service providers often face the challenge of managing the cost efficiencies of their platform. A common solution is to deploy a multi-tenant or multi-instance architecture in which many customers share the same hardware. The reuse of hardware over many clients drives down costs and also reduces the required ongoing administration.
Multi-tenant deployments host many clients in the same instance of software while segregating the client data through configuration. Multi-instance designs are similar but run one instance of software per client. To the storage tier, both approaches require many sub-ecosystems to run simultaneously in a shared space and will cause similar access challenges:
- Unpredictability of usage
- Height of individual usage spikes
- Scale versus storage performance (more clients translates into a more random and parallel workload)