Why a Redis Alternative? The licensing context
On March 20, 2024, Redis Ltd. announced a shift to a dual-license model: RSALv2 (Redis Source Available License v2) and SSPL (Server Side Public License v1). Similar moves were previously made by MongoDB and Elasticsearch. The SSPL, in particular, poses challenges for cloud providers like Upsun and Platform.sh. It requires providers offering the software as a service to release the source code of all management and supporting software. This would include substantial parts of the Upsun platform stack, which is not feasible for us. This licensing change left us with two potential paths:- Offer newer Redis versions under a premium commercial license.
- Provide an open-source alternative (a “fork”).
Choosing Valkey
The landscape of Redis alternatives includes projects like Valkey, Redict, KeyDB, Dragonfly, and Garnet, each with its own strengths. Our decision process prioritized several key factors:- License: Must be genuinely open-source and compatible with our service model.
- Governance & Community: Strong backing from a diverse community and major tech companies ensures longevity and vendor neutrality. A transparent governance model is crucial.
- Project Vitality: Active development, regular releases, and responsiveness to security issues.
- Compatibility: Minimal to no code changes required for applications currently using Redis. Compatibility with existing infrastructure (like Redis Sentinel for High Availability) is a major plus.
- Open Source & Governance: Valkey is licensed under the permissive BSD 3-Clause license and is part of the Linux Foundation.
- Strong Backing: It has garnered support from major industry players including AWS, Google Cloud, Oracle, Ericsson, and Snap Inc., ensuring robust development and a healthy future.
- Compatibility: Valkey originated as a fork of Redis 7.2.4, ensuring a high degree of compatibility with the Redis API and client libraries. It aims to be a drop-in replacement for many use cases.
Valkey on Upsun and Platform.sh: key details
Valkey is available now across all Upsun and Platform.sh. Here’s what you need to know:- Availability: Ready to use on all Upsun and Platform.sh projects.
- Two services:
valkey: An ephemeral, in-memory store where data is lost on restart (equivalent to redis).valkey-persistent: Stores data on disk, ensuring data persistence across container restarts (equivalent to redis-persistent).
- Supported Version: We currently offer Valkey 8.0.x. Minor versions (e.g., 8.0.1, 8.0.2) will be updated automatically to include the latest security patches and bug fixes.
Getting Started with Valkey
Using Valkey in your Upsun or Platform.sh project is straightforward.- Upsun
- Platform.sh
First define the Valkey service in your You then need to deploy your updates on your preview environment, using the following command line:
.upsun/config.yaml configuration file and add a relationship from your app to the Valkey service:valkeycache).
Migrating from Redis persistent
It’s possible to switch fromredis-persistent to valkey-persistent , as detailed in the Upsun documentation and the Platform.sh documentation.