Multi-tenant Redis Cluster via Envoy Proxy Key Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Redis instance provisioning and de-provisioning processes are time-consuming and costly, especially for enterprises with high customer turnover, and existing managed Redis services often require overprovisioning due to fixed tiers that do not match specific workload needs, leading to inefficient resource usage and increased costs.
Innovation Solution
A shared cluster platform that leverages protocol-aware proxies to provide a multi-tenant Redis instance, allowing multiple tenants to share a single large data store instance while maintaining data isolation through unique key elements, and dynamically provisions or de-provisions instances based on workload demands, optimizing resource usage and cost.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated Redis instance is provisioned for each tenant, then data isolation and security are improved, but provisioning time and cost increase significantly
Solution Approach 1:
The system segments the Redis instance at the logical level by introducing unique key elements (prefixes) for each tenant. While the physical Redis instance is shared, the key space is divided into tenant-specific segments using prefix-based routing. This allows data isolation without requiring separate physical instances, thus reducing provisioning time while maintaining security.
Solution Approach 2:
The invention introduces an intermediary layer (the key element/prefix mechanism) between the tenant and the shared Redis instance. This intermediary enables logical separation and data isolation by routing tenant-specific operations through unique key prefixes, eliminating the need for dedicated instances while preserving security boundaries.
2Ease of operation
If fixed-tier managed Redis services are used, then ease of operation is improved, but resource allocation efficiency deteriorates due to overprovisioning
Solution Approach 1:
The system implements dynamic resource allocation by allowing tenants to share a pooled Redis instance with flexible resource distribution. Instead of static fixed tiers, the shared instance can dynamically allocate memory and computational resources based on actual tenant workload demands, improving resource efficiency while maintaining ease of operation through automated management.
Solution Approach 2:
The shared Redis instance serves multiple tenants simultaneously with different workload requirements through the key element routing mechanism. This universal instance performs multiple functions for different tenants, eliminating the need for separate dedicated instances and improving overall resource allocation efficiency while maintaining operational simplicity.
3Adaptability or versatility
If multiple Redis instances are provisioned for high customer turnover, then adaptability is improved, but cost and complexity increase
Solution Approach 1:
The invention merges multiple tenant workloads into a single shared Redis instance, reducing the total number of instances required. By combining resources and using logical separation through key elements, the system achieves the adaptability needed for high customer turnover without the complexity and cost of provisioning multiple dedicated instances for each potential tenant.
Data Source
AI summary
A system and method are disclosed associated with at least one physical data store instance adapted to contain electronic records; and a shared cluster platform, coupled to the data store, including: a computer processor, and a computer memory, coupled to the computer processor, storing instructions that, when executed by the computer processor cause the shared cluster platform to: receive an eviction policy for a first tenant for a data store; map a first container for the first tenant to a physical data store instance; generate a unique first key element for the first tenant, wherein the eviction policy for the first tenant is linked to the unique first key element; and transmit a first endpoint of the first container as a proxy for the selected physical data store instance Numerous other embodiments are provided.


