AWS Goes Live with Amazon MemoryDB for Redis
Amazon Web Services (AWS) this week launched a new in-memory database service for the popular open source Redis platform.
Amazon MemoryDB for Redis, announced Thursday, is meant to simplify microservices architecture for Redis developers.
Typically, developers whose applications rely heavily on microservices -- for example, media streaming, e-commerce and banking apps -- manage both a primary database and an in-memory data store like Redis, as well as the underlying structure. AWS already has a product called Amazon ElastiCache for Redis that enables this setup when used alongside Amazon Aurora or Amazon DynamoDB. However, it's not without its complexities.
"This setup requires you to introduce custom code in your applications to keep the cache in sync with the database," wrote Danilo Poccia, AWS' chief EMEA evangelist, in a blog post. "You’ll also incur costs for running both a cache and a database."
In contrast, MemoryDB for Redis is meant to be a simpler, one-and-done solution. "Instead of using a low-latency cache in front of a durable database, you can now simplify your architecture and use MemoryDB as a single, primary database," Poccia said.
AWS touts MemoryDB for Redis as a durable, low-latency and high-throughput managed service that stores full datasets in memory. It keeps data across multiple AWS availability zones to ensure high availability and quick failover.
Poccia described the differences between this new service and the existing ElastiCache for Redis this way:
MemoryDB can safely be the primary database for your applications because it provides data durability and microsecond read and single-digit millisecond write latencies. With MemoryDB, you don’t need to add a cache in front of the database to achieve the low latency you need for your interactive applications and microservices architectures.
On the other hand, ElastiCache provides microsecond latencies for both reads and writes. It is ideal for caching workloads where you want to accelerate data access from your existing databases. ElastiCache can also be used as a primary datastore for use cases where data loss might be acceptable (for example, because you can quickly rebuild the database from another source).
There's not much of a learning curve for Redis developers looking to use the MemoryDB service, according to AWS. The same tools, applications, code and drivers that developers use with Redis can also be used with MemoryDB for Redis.
Currently, MemoryDB for Redis is available in the US East (N. Virginia), EU (Ireland), Asia Pacific (Mumbai) and South America (Sao Paulo) regions, though availability will expand "soon." It supports version 6.2 of Redis, the platform's latest stable release, as well as future versions.
More information, including pricing, is available here.
About the Author
Gladys Rama (@GladysRama3) is the editor of Redmondmag.com, RCPmag.com and AWSInsider.net, and the editorial director of Converge360.