Redis Labs great alternative to AWS Elastic Cache

posted in: General, NoSQL | 0

1 – Introduction

Redis Labs provides a commercially backed implementation of the Redis data structure. It has two solutions, RedisLabs in the Cloud which is the product more used and on-premises solution called RLEC (Redis Labs Enterprise Cluster).

In both cases, Redis Labs adds core functionality to open-source Redis for clustering and HA, and advanced capabilities for data processing over and above traditional key-value implementations. It also provides MemcacheD Cloud like ElasticCache. In the other hand, most hosted services like Amazon, Azure or Heroku offer standard cloud instances pre-loaded with open source Redis. This approach does not provide great advantage over the do-it-yourself approach. In contrast, Redis Cloud adds a breakthrough technological layer to open source Redis, while fully supporting it. The technology visualizes multiple cloud servers into an infinite pool of memory, consumed by users according to the actual size of their datasets.

2 – Evolution from ElasticCache to RedisLabs

Redis AWS Elastic Cache

Amazon Elastic Cache is the platform included in Amazon Web Services. With this platform is easy to deploy, operate and use Redis in the Cloud. The clustering architecture of ElasticCache has a master-slave solution with Multi-AZ.

In this sense, for a lot of people was enough and works fine. Nevertheless, ElasticCache is expensive, secondly has limitations to scale up and down the Redis cluster. Moreover we need to consider another point, the Amazon instances architecture is not optimal for Redis because Redis is based on a single-threaded, so scaling CPU vertical is not optimum, so is better to scale in horizontal, for that we need a Redis Cluster solution and not a heavy increase instance size in master-slave architecture. Amazon uses a sledgehammer to crack a nut.

More inconveniences about Elastic Cache: For example, ElasticCache is using a Redis 2.8 version that is deprecated and now the stable version is 3.2. This stable version contains significant changes: memory optimizations, geovariables, clustering and others improvements. [ https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES ]

Although the scalability problem we pointed, Elastic Cache recently announced hot scaling up for Redis nodes [ http://amzn.to/1pKWKKo ]

RedisLabs

An important point to consider is that Amazon main business is not Redis, however Redislabs is mainly focused in Redis. Moreover, Redislabs has Salvatore Sanfilippo, who is the creator of Redis and the company’s lead for open source development, steers the evolution of OSS Redis together with a dedicated team of Redis engineers. In order to adapt Redis for enterprise use, Redis Labs developed an additional technology layer that encapsulates the open source software and provides an enhanced deployment architecture for Redis, while supporting the open source API.

RedisLab has a good clustering architecture called Redis Cluster solution with a unique endpoint based on the Open Source solution. So the Backend Software only needs to point to a unique endpoint to read and write data, in contrast to use a master-slave architecture with ElasticCache. Good point.

Talking about the price, as we have been mentioning previously, this was an important aspects to consider and to decide to migrate finally to RedisLabs.

Also we have another Redislab product that is the RLEC on-promise solution. Also the RLEC solution can be installed with Amazon AMI [ https://aws.amazon.com/marketplace/pp/B016WJQY84?ref=cns_srchrow ] or in your on-promise servers or wherever you want using an RPM.

3 – Redis PaaS comparison and benchmarks

Official Redislabs comparison:

https://redislabs.com/redis-comparison

Benchmark comparison:

A company called Altoros created an interesting Redis Benchmakrs. [ Redis as a Service Performance Benchmark: Redis Cloud, ElastiCache, openredis, RedisGreen, and Redis To Go, By Vladimir Starostenkov, R&D Engineer at Altoros ]. They designed a scenario to evaluate Redis Performance. So, in this Benchmark we can see the most importants Redis solutionts in the Cloud.

In summary to the Altoros documentation, RedisLabs outperformed the rest of the RaaS offerings in most use cases. The most important thing that you could see in the benchamarks is, Redislabs was the only solution that still scaled linearly in the combined scenario.

Our own small comparative.

 

Elastic Cache

Redislabs

Redis Version

2.8 (opensource)

Like 3.2 (commercially backed implementation)

Company

Amazon AWS

RedisLabs

Persistence

RDB – each hour

AOF – every second

RDB

Snapshots

yes

yes

Number of databases per node

16

1

MultiAZ

yes

yes

Clustering

No
(master-slave)

yes

Sharding

no

By Hash-Tag or RegEx

Database creating time

minutes

seconds

Maximum Database connections

65.000

infinite

VPC compatiblity

integrated

yes

AWS Security group

yes

Yes

(you need to configurate)

Password / SSL Authentication / Encrypthion

no

yes

     

Hot Scalability

Up (recent feature)

Up / Down

Redis.conf configuration

Yes

Limited

     

Alerts

CloudWatch

Easy and simple to configure

Monitoring / Graphs

Yes

Yes

API Management

Yes

No

Clouds

AWS

AWS, GCE Azure, IBM, SoftLayer

AWS Regions

All

AWS/us-east-1
AWS/us-west-2
AWS/eu-west-1
AWS/northeast-1
AWS/southeast-1
AWS/southeast-2

Price

We pay for instance size

We pay for data size

* MultiAZ = Cost data size x2

 

VN:F [1.9.22_1171]
Rating: 5.0/5 (5 votes cast)
Redis Labs great alternative to AWS Elastic Cache, 5.0 out of 5 based on 5 ratings

Leave a Reply