A B2B SaaS provider's index-per-tenant model had stopped scaling as their customer count grew. AceMQ designed a tenant architecture that keeps isolation guarantees while cutting the shard count the cluster has to track.
With one index per tenant and default shard settings, most indices held very little data while the cluster carried the metadata cost of all of them. Cluster state grew large enough to slow every allocation decision. At the same time, a small number of large tenants could monopolize the search thread pool and cause queue rejections for everyone else, so the isolation the index-per-tenant model was supposed to provide was not actually holding under load.
OpenSearch on Kubernetes, thousands of tenants ranging from a few thousand documents to hundreds of millions.
We designed a tiered model: small tenants share pooled indices with a routing key and document-level security, while large tenants keep dedicated indices sized to their data. Alongside that, we added search-level governance so no single tenant can exhaust shared thread pools, and defined the promotion path a tenant follows as it grows.
Shard count dropped by roughly an order of magnitude after small tenants were pooled, and cluster-state operations became fast again. Search queue rejections during peak hours largely disappeared, and onboarding a new tenant is now an automated step rather than a manual index creation.
Assessment of the technical and licensing implications of moving a large Elasticsearch estate to OpenSearch, including client and plugin compatibility.
Emergency recovery of an OpenSearch domain where snapshot restores were failing partway through and leaving indices in a red state.
Whether you need architecture advisory, 24/7 support, or full managed services, AceMQ has the expertise to help.