Skeddly Blog

Skeddly news and announcements...
Comparing Managed Redis Services on AWS, Azure, and GCP

Comparing Managed Redis Services on AWS, Azure, and GCP

Redis is an in-memory data store. It’s predominantly a key/value store, so it does not have features in many relational databases. It can be used as a simple database, a cache, or as a pub/sub system. Since it’s all in-memory, it is very fast, but it also requires alot of memory.

Amazon Web Services, Microsoft Azure, and Google Cloud Platform all provide their own managed Redis services. The available versions and features vary from provider to provider. Let’s take a closer look.

First off, I want to prefix this comparison by saying that in the case of all three providers, you can host Redis on your own instances/VMs. This comparison only includes managed services, and does not include such host-your-own implementations.

Amazon Web Services

Amazon Web Service’s offering is part of their ElastiCache service along with memcached.

  • Amazon ElastiCache supports up to Redis version 5.0.
  • For high-availability, you can choose from stand-alone servers, replicated servers, and Redis clusters.
  • ElastiCache has it’s own native backup method which you can enable on your servers. You can create native backups, then restore fresh servers and clusters from your backups.
  • Redis RDB data can be imported and exported between your ElastiCache servers and an S3 bucket.

Microsoft Azure

Microsoft Azure’s Redis service is called Azure Cache for Redis.

  • Azure currently only supports Redis version 4.0.
  • For high-availability, you can choose from stand-alone servers, replicated servers, and Redis clusters.
  • Azure Cache for Redis does have a “data persistence” option, but that is only at the Enterprise tier ($$$).
  • Redis RDB data can be imported and exported between your servers and Azure page blobs.

Google Cloud Platform

Google Cloud Platform’s Redis service is called Cloud Memorystore.

  • GCP currently only supports up to Redis version 4.0.
  • For high-availability, you can choose from stand-alone servers or replicated servers. Redis clusters are not an option on GCP.
  • Native backup options don’t exist with Cloud Memorystore.
  • Redis RDB data can be imported and exported between your servers and Google Cloud storage bucket.

Comparisons

Price

Comparing the hourly cost in “US East” regions, AWS comes away with the least expensive way to run a Redis server.

  AWS Azure GCP
Cheapest Hourly Cost $0.017 $0.022 $0.049
Machine Type cache.t3.micro Basic C0 Basic M1

Version

At the time of this writing, the latest version of Redis is 5.0.7.

AWS allows you to run Redis 5.0 servers, whereas Azure and Google Cloud Platform only allow Redis 4.0 servers.

  AWS Azure GCP
Versions Available 2.6.13 - 5.0.6 4.01 3.2 - 4.0

1Azure does not allow you to choose the Redis version to deploy. Azure Cache for Redis will always use the “generally available” version for new servers, and automatically upgrade existing servers.

High-Availability

Production systems require Redis servers to be highly-available. All three providers support replicated servers. So if one server fails, there’s one waiting on standby.

But Redis cluster, which is a different method of HA, is only supported on AWS and Azure.

  AWS Azure GCP
Standalone Yes Yes Yes
Highly-Available Yes Yes Yes
Redis Cluster Supported Yes Yes No

Backups

All three cloud providers allow you to import and export your Redis RDB data to the respective object storage services.

Only ElastiCache supports native backups on all servers.

  AWS Azure GCP
Native Backups ElastiCache snapshots Data Persistence (Enterprise tier only) No
Import/Export Export snapshot (RDB) to S3 bucket RDB snapshot to page blob RDB snapshot to Cloud Storage bucket

DevOps

Each cloud provider has it’s own infrastructure-as-code service and Redis is supported by all three. In addition, third-party IaC services, such as TerraForm, support Redis.

  AWS Azure GCP
Native Infrastructure-as-code support Supported in AWS CloudFormation Supported in Azure Resource Manager Supported by Google Cloud Deployment Manager
TerraForm Yes Yes Yes

Security

Redis itself does not have user-based security. It trusts that if a network connection can be established, then the client can be trusted. For this reason, Redis servers should not be open to the internet.

All three cloud providers use private network security to protect the data in your Redis server. By placing your Redis server in a private network, only other servers in the same network can access your Redis data.

Also, all three cloud providers provide security of the server itself via each’s IAM implementation.

  AWS Azure GCP
Data protection Private VPC Private network Private network
Infrastruture protection Yes Yes Yes

Disclosure

For Skeddly, I’m using an m4.large Redis cluster with two nodes on Amazon ElastiCache. The monthly cost is about $232.

Final Thoughts

Amazon ElastiCache appears to provide the least expensive managed Redis servers.

If you want to control the version of Redis being used, don’t use Microsoft’s Azure Cache for Redis.

If you require Redis cluster, don’t use Google Memorystore.

Aside from that, the implementations themselves are Redis (or atleast Redis-compatible).

Most likely, the choice depends on where your existing infrastructure is. But if you’re just starting out, or are already using multiple cloud providers, then you can use this information to help choose.

About Skeddly

Skeddly is the only all-in-one scheduling and automation service for your cloud. Only Skeddly can lower your cloud bills and manage your cloud backups in one place. Customers are happier knowing that Skeddly is working for them in the background.

Start managing your AWS, Azure, and GCP accounts today. Sign-up for our 30 day free trial or sign-in to your Skeddly account to get started.