SaaS Platforms' Redis Roadmap
The purpose of this epic is to create a centralized view of priorities for ServiceRedis. This epic should be considered the single source of truth of ServiceRedis roadmap.
Product DRI: @swiskow
EM: @kwanyangu
FY25 Goals
| Initiative | Purpose | Theme | Comment | |
|---|---|---|---|---|
| &1105 | Prove the resharding model by scaling out and online re-sharding of Redis Cluster | Prevent Saturation | themeHorizontal Scalability | Top priority as it gives actual horizontal scalability |
| &1236 | Migrating redis-repository-cache to a Redis Cluster | Prevent Saturation in ServiceRedisRepositoryCache. | themeSaturation Response | ServiceRedisClusterRepoCache is now serving repository-cache related traffic (dashboard). The repository cache workload is now horizontally scalable. |
Next
| Initiative | Purpose | Theme | Comments | |
|---|---|---|---|---|
| #2466 (closed) | Cluster resharding strategy | Document criteria for when scaling up a Redis Cluster is required for an instance. |
themeHorizontal Scalability Objective: Prevent Saturation |
- |
| - | Deployment Guidelines | Document considerations and recommendations for deploying a new Redis instance. |
themeScalability Advocacy and Facilitation Objective: Low-touch Configuration |
Good to be picked after Horizontally scale Sidekiq since we will have redis-cluster and redis cookbooks in place |
| #3560 (closed) | Discussion: Long-term view on Redis (deployment modes and upgrades) | Currently, GKE is not an option due to concerns on the performance overheads #2893 (comment 1806681120). | ||
| - | Auto reshard (scale-up) Clusters | Build tools to allow clusters to grow automatically when additional capacity is required |
themeScalability Advocacy and Facilitation Objective: Low-touch Configuration |
- |
Previous efforts
Details
| Initiative | Purpose | Theme | |
|---|---|---|---|
| &944 | Stop using namespaces in sidekiq | Allow us to safely scale up Redis Cluster when future saturations are forecasted. | |
| &941 | Upgrading Sidekiq and Redis gems | GitLab Rails application is well positioned to handle Redis Cluster scale-ups ( &1105) and Sidekiq sharding ( #2541 (comment 1592705997)) | |
| &1055 | Cluster for redis-sharedstate
|
Horizontal scaling for sharedstate
|
themeHorizontal Scalability Objective: Prevent Saturation |
| &1066 | Functional Partitioning for pub/sub in Redis | Gain headroom in sharedstate
|
themeSaturation Response Objective: Prevent Saturation |
| &1094 | Migrate Exclusive Lease keys to redis-cluster-shared-state |
Edited by Kennedy Wanyangu