Need advice about which tool to choose?Ask the StackShare community!
AWS Lambda vs Redis: What are the differences?
Key Differences between AWS Lambda and Redis
AWS Lambda and Redis are two popular technologies used in the development of web applications. While both serve different purposes, there are key differences between them:
Deployment Model: AWS Lambda is a serverless computing service that allows developers to run code without managing servers. It automatically scales and provisions resources based on incoming requests. On the other hand, Redis is an in-memory data structure store that can be run on a server or in a container.
Functionality: AWS Lambda is primarily used for executing small units of code, known as functions, in response to events. It provides a serverless computing environment where developers can write code in various languages. Redis, on the other hand, is a data caching and storage solution that allows for high-performance data retrieval and manipulation.
Data Persistence: AWS Lambda does not have built-in data persistence. It is designed to execute stateless functions, and any data needed for processing should be passed into the function and retrieved through external storage systems. Redis, on the other hand, provides data persistence by storing information in memory or on disk, making it suitable for use cases where quick access to frequently accessed data is required.
Scalability: AWS Lambda automatically scales its resources based on the incoming request volume. It can handle a large number of concurrent requests without the need for manual scaling. Redis can also scale horizontally by adding more Redis instances in a cluster, allowing it to handle increased workloads. However, scaling Redis requires manual configuration and monitoring.
Pricing: AWS Lambda follows a pay-as-you-go pricing model, where users are charged based on the number of function invocations and the time it takes to execute each function. Redis, on the other hand, has different pricing models depending on the deployment option chosen. It can be self-hosted, requiring users to manage and pay for the infrastructure, or it can be used as a managed service where costs are based on usage.
Use Cases: AWS Lambda is commonly used for event-driven applications, such as those involving real-time data processing, file processing, or web application backends. Redis, on the other hand, is often used as a caching layer to improve application performance, as a message broker in a pub/sub architecture, or as a database for applications that require high-speed data retrieval.
In summary, AWS Lambda is a serverless computing service that executes code in response to events, while Redis is an in-memory data structure store used for caching and storage. Lambda provides automatic scaling and does not have built-in data persistence, while Redis allows for data persistence and requires manual scaling. The pricing models for both services differ, and they are commonly used in different use cases.
Need advice on what platform, systems and tools to use.
Evaluating whether to start a new digital business for which we will need to build a website that handles all traffic. Website only right now. May add smartphone apps later. No desktop app will ever be added. Website to serve various countries and languages. B2B and B2C type customers. Need to handle heavy traffic, be low cost, and scale well.
We are open to either build it on AWS or on Microsoft Azure.
Apologies if I'm leaving out some info. My first post. :) Thanks in advance!
I recommend this : -Spring reactive for back end : the fact it's reactive (async) it consumes half of the resources that a sync platform needs (so less CPU -> less money). -Angular : Web Front end ; it's gives you the possibility to use PWA which is a cheap replacement for a mobile app (but more less popular). -Docker images. -Kubernetes to orchestrate all the containers. -I Use Jenkins / blueocean, ansible for my CI/CD (with Github of course) -AWS of course : u can run a K8S cluster there, make it multi AZ (availability zones) to be highly available, use a load balancer and an auto scaler and ur good to go. -You can store data by taking any managed DB or u can deploy ur own (cheap but risky).
You pay less money, but u need some technical 2 - 3 guys to make that done.
Good luck
My advice will be Front end: React Backend: Language: Java, Kotlin. Database: SQL: Postgres, MySQL, Aurora NOSQL: Mongo db. Caching: Redis. Public : Spring Webflux for async public facing operation. Admin api: Spring boot, Hibrernate, Rest API. Build Container image. Kuberenetes: AWS EKS, AWS ECS, Google GKE. Use Jenkins for CI/CD pipeline. Buddy works is good for AWS. Static content: Host on AWS S3 bucket, Use Cloudfront or Cloudflare as CDN.
Serverless Solution: Api gateway Lambda, Serveless Aurora (SQL). AWS S3 bucket.
When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:
- Developer Experience trumps everything.
- AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
- If you need geographic spread, AWS is lonely at the top.
Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:
- Pure, uncut, self hosted Kubernetes — way too much complexity
- Managed Kubernetes in various flavors — still too much complexity
- Zeit — Maybe, but no Docker support
- Elastic Beanstalk — Maybe, bit old but does the job
- Heroku
- Lambda
It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?
I chopped that question up into the following categories:
- Developer Experience / DX 🤓
- Ops Experience / OX 🐂 (?)
- Cost 💵
- Lock in 🔐
Read the full post linked below for all details
Pros of AWS Lambda
- No infrastructure129
- Cheap83
- Quick70
- Stateless59
- No deploy, no server, great sleep47
- AWS Lambda went down taking many sites with it12
- Event Driven Governance6
- Extensive API6
- Auto scale and cost effective6
- Easy to deploy6
- VPC Support5
- Integrated with various AWS services3
Pros of Redis
- Performance887
- Super fast542
- Ease of use514
- In-memory cache444
- Advanced key-value cache324
- Open source194
- Easy to deploy182
- Stable165
- Free156
- Fast121
- High-Performance42
- High Availability40
- Data Structures35
- Very Scalable32
- Replication24
- Pub/Sub23
- Great community22
- "NoSQL" key-value data store19
- Hashes16
- Sets13
- Sorted Sets11
- Lists10
- NoSQL10
- Async replication9
- BSD licensed9
- Integrates super easy with Sidekiq for Rails background8
- Bitmaps8
- Open Source7
- Keys with a limited time-to-live7
- Lua scripting6
- Strings6
- Awesomeness for Free5
- Hyperloglogs5
- Runs server side LUA4
- Transactions4
- Networked4
- Outstanding performance4
- Feature Rich4
- Written in ANSI C4
- LRU eviction of keys4
- Data structure server3
- Performance & ease of use3
- Temporarily kept on disk2
- Dont save data if no subscribers are found2
- Automatic failover2
- Easy to use2
- Scalable2
- Channels concept2
- Object [key/value] size each 500 MB2
- Existing Laravel Integration2
- Simple2
Sign up to add or upvote prosMake informed product decisions
Cons of AWS Lambda
- Cant execute ruby or go7
- Compute time limited3
- Can't execute PHP w/o significant effort1
Cons of Redis
- Cannot query objects directly15
- No secondary indexes for non-numeric data types3
- No WAL1