On October 8th, AWS announced support for Valkey for both Elasticache and MemoryDB. Valkey is an open-source, high-performance, in-memory key-value datastore and serves as a drop-in replacement for Redis OSS.
The announcement states:
A similar announcement was made for MemoryDB.
Key points:
On March 20, 2024, Redis announced a significant change to its licensing terms. Redis is no longer open-source under the widely-used BSD (3-clause) license. Instead, it now operates under more restrictive licenses: the Redis Source Available License (RSALv2) and the Server Side Public License (SSPLv1). The key differences between these licenses are outlined below:
Why the change? The shift in Redis’s licensing can be traced to changes in its stewardship over the years. Redis started as an open-source project by Salvatore Sanfilippo and gained widespread adoption, with early sponsorship from VMware. However, around 2014, venture capital-backed Redis Labs (previously Garania Data and now Redis Inc.) took over stewardship. As the company grew, its focus shifted from maintaining an open-source model to monetizing the technology, leading to the more restrictive licensing terms seen today.
Redis is (was) one of the beloved open-source projects with strong support from a large number of companies and an active community of contributors. This licencing change which goes against the open-source ethos, did not sit well with them.
While the change seemed evident, an AWS employee contributing to Redis created a fork to keep up with open-source development. Support started rallying behind this effort. The Linux Foundation came on board announcing the launch of Open Source Valkey Community a week after Redis changed its terms.
Thus, the Valkey was born.
Here is the Valkey fork that starts with - “This project was forked from the open source Redis project right before the transition to their new source available licenses.” Valkey rapidly gained traction, with a significant portion of the contributor community shifting their efforts to support it. In fact, within a short period, two-thirds of the companies that had previously backed Redis moved their support to Valkey.
(Interestingly, Microsoft had created their own fork just a few days before Redis moved away from open-source. It is called Garnet)
No, there's no need for skepticism. Think of Valkey as the new name for Redis—it's a direct fork of Redis that maintains the open-source principles Redis once championed.
It may seem unfamiliar for now—GPT models might not recognize the term "Valkey," and even Google suggests it's a typo for "valley." While writing this, every mention of "Valkey" still gets flagged as a spelling error.
But this is legit, Valley is going to be here and it is going to take the place of Redis open source soon. It is backed by the Linux Foundation, AWS and many other industry leaders and contributors. It will soon replace Redis in AWS and elsewhere.
Though all these enhancements are noted, it essentially was planned for Redis. The Valkey project is taking it forward. If you are using AWS, shifting to Valkey in a no-brainer since you also save cost while getting enhanced performance.
An In-Place Engine Upgrade for ElastiCache Redis allows you to migrate to valkey without recreating the cluster. It updates the Redis engine directly within the existing cluster, preserving your data.
You can perform the migration through the AWS Console or AWS CLI.
To upgrade your Redis cluster using the AWS CLI, refer to the Modifying an ElastiCache Cluster documentation for more detailed instructions.
AWS Managed Online Migration in ElastiCache allows transferring data from an ElastiCache cluster to a Valkey or Redis OSS cluster without downtime, using the AWS Management Console.
Consider referring to Performing online data migration using the Console - Amazon ElastiCache for more detailed insights on AWS Managed Online Migration
A Physical Snapshot Migration involves creating a backup (snapshot) of your ElastiCache cluster and using that backup to migrate data to a new cluster, which could be in the same or different region. This method ensures that the data is preserved and transferred in a consistent state, and it is often used when migrating from one environment to another or when restoring a cluster after a failure.
Here are the steps for Physical Snapshot Migration in AWS ElastiCache:
For more detailed insights, refer to the following links:
The table below compares three approaches:
FinOps practitioners, how many times do you get the opportunity to save ~30% with a few clicks? Go for it.
Migrating from Redis to Valkey on AWS Elasticache and MemoryDB provides a cost-effective solution with improved performance, enhanced security, and better scalability. Valkey, as an open-source, drop-in replacement for Redis, offers a seamless transition while maintaining compatibility. AWS offers multiple migration methods such as In-Place Engine Upgrade, AWS Managed Online Migration, and Physical Snapshot Migration, ensuring minimal downtime and disruption. This migration is a great opportunity to save up to 30% while optimizing your cloud infrastructure for the future.
1. What happens to my current contract and Reserved Instances (RIs)?
You can upgrade from Redis OSS to Valkey while still benefiting from existing contracts and reservations. Your current RIs will remain effective during and after the transition.
2. Are there any costs associated with migration from Redis to Valkey?
No, there is no cost associated with migration. After you migrate, Valkey pricing will be applicable going forward, which is considerably less than Redis.
3. Will there be any downtime for my application?
Valkey is an in-place replacement for Redis, and AWS promises that the shift won’t have any significant downtime. It can be up to a few minutes if not zero, depending on your specific setup and the complexity of your data.
4. Do I need to change my application?
No, all Redis commands work with Valkey since it is a fork of Redis. This change will be equivalent to version change/upgrade. So do take the general precautions that you take while upgrading the version.
5. What are the key performance improvements in Valkey compared to Redis?
Valkey introduces significant performance enhancements such as intelligent multi-core utilization and asynchronous I/O threading, which can improve throughput by over 2x compared to Redis 7.2.
6. Is Valkey suitable for production use?
Yes, Valkey 8.0 has undergone extensive testing and is considered ready for production usage by its Technical Steering Committee.
Strategical use of SCPs saves more cloud cost than one can imagine. Astuto does that for you!