In this chapter, we will compare Lambda Store with alternative cloud based solutions.
ElastiCache is a managed service for Redis and Memcache from AWS. The main problem with ElastiCache is that you need to pay for the instances even when you do not use them. So its pricing does not fit to the serverless model. On the other hand, Lambda Store has a serverless pricing model where you only pay per the request. Another advantage of the Lambda Store is that you can have your databases in different cloud providers and move your database between them easily whereas AWS hates you to try other cloud providers.
DynamoDB is a key-value and document database from AWS. It has a serverless database model. So far so good. But it can not compete with Redis on latency. In Lambda Store the latency of the read queries is submillisecond while the latency is up to 10 msec in DynamoDB. Besides latency, you will miss the simplicity and elegance of Redis API much if you are working with DynamoDB. Last but not least, the vendor lock-in. You can find the Redis everywhere, almost on all cloud providers. But your investment into the DynamoDB worthies only if you are on AWS.
For further performance comparison between Lambda Store and Dynamodb, you can check our blog post where we have published latency and throughput benchmarks.
Redis Labs is a VC funded company that provides Redis As A Service on cloud providers and on-premise. Just like ElastiCache, their pricing is not based on your actual usage. Their pricing is not serverless. If you subscribe for 5Gb plan, you need to pay 338$ every month even if you do not put any single entry. On the other hand, in the Lambda Store you only pay when you start using your database.
What makes Lambda Store different?
1- Serverless Model
You have a new project and you do not know how many requests will it receive? You love the performance and simplicity of Redis. But all Redis Cloud services charge you per instance or per GB of memory. But maybe your application will not receive any traffic, then why will you pay the full amount? Unfortunately none of the current Redis cloud products provides a real
pay-per-use pricing model.
Let's do a simple calculation. Say I have a 1GB Redis database and I receive 1 million requests per month. For ElastiCache (cache.t3.small, $0.034 hourly) this costs at least $24 not including data transfer and storage cost. For RedisLabs, the 1GB plan costs $22 per month. For Lambda Store the price is $0.4 per 100k requests. For 1 million, it is $4 plus the storage cost that is $0.15. So for 1GB, 1M request per months, ElastiCache is $24, RedisLabs is $22, Lambda Store is $4.15.
What if your product becomes popular and starts to gain high and steady traffic? Most of the serverless products start to lose their spell if the service receives steady and high traffic as it starts to cost higher than server/instance based pricing models. To overcome this situation we give you option to purchase reserved databases. A reserved database has fixed price per month with a restriction on max throughput and data size. For high and steady throughput use cases, reserved databases cost less than serverless one. The good thing is you can start your database with serverless pricing and move it reserved pricing when you want. See reserved plans for more information.
2- Younger Technology
Create a database in ElastiCache and Redis Labs. Then create one in Lambda Store. Do you feel the difference? It takes minutes with both of them while Lambda Store database is ready in 2 seconds. Both ElastiCache and Redis Labs are 9 years old technologies. It is late for them to make use of the technologies of post kubernetes era. Meanwhile, Lambda Store is a child of cloud native world. It is fully based on containers and kubernetes. This enables Lambda Store to satisfy the needs of new world of serverless.
3- Hungry Team
ElastiCache is just one of the hundreds of services of AWS and you can easily say it is not one of them that AWS invests and promotes most. Redis Labs is a VC backed company and it fights with AWS to win enterprise customers. It is understandable that Redis Labs focuses more on big enterprise customers to keep its shareholders happy. Whereas, the Lambda Store team is hungry and passionate to make every user happy whoever touches Lambda Store.