Need advice about which tool to choose?Ask the StackShare community!
AWS Lambda vs Cassandra: What are the differences?
Introduction
When considering cloud computing services, it's important to understand the key differences between AWS Lambda and Cassandra to make informed decisions based on specific requirements and use cases.
Deployment Model: AWS Lambda is a serverless computing service that allows developers to run code without provisioning or managing servers. On the other hand, Cassandra is a distributed database system designed for handling large amounts of data across multiple servers. The key difference lies in the deployment model - Lambda for serverless code execution and Cassandra for distributed data storage.
Computational Focus: AWS Lambda is more focused on executing short-lived functions in response to events, making it ideal for event-driven architectures and microservices. In contrast, Cassandra is a NoSQL database known for its efficient handling of high-velocity, varied data sources, and massive scalability. The difference in computational focus makes Lambda suitable for lightweight, stateless functions and Cassandra for data-intensive applications.
Managed Service: AWS Lambda is a fully managed service provided by Amazon Web Services, which takes care of infrastructure provisioning, scaling, and maintenance. On the other hand, deploying and managing Cassandra clusters require more manual configuration and monitoring efforts by the users. This difference in managed services can impact operational overhead and ease of deployment.
Scaling Behavior: AWS Lambda automatically scales resources based on the incoming request volume, allowing for seamless handling of varying workloads. Cassandra, on the other hand, requires manual configuration and oversight for scaling both horizontally and vertically. The difference lies in the automatic scaling capabilities of Lambda versus the more hands-on approach needed for Cassandra.
Data Structure: AWS Lambda operates on individual functions or tasks, while Cassandra stores data in a schema-free, distributed fashion across a cluster of nodes. This difference in data structure reflects the distinct purposes of the two services - Lambda for processing discrete tasks and Cassandra for storing and querying large volumes of unstructured data efficiently.
Pricing Model: AWS Lambda follows a pay-as-you-go pricing model based on the number of requests and compute time, with no upfront costs or infrastructure fees. In contrast, Cassandra typically involves upfront hardware and deployment costs for setting up clusters, along with ongoing maintenance expenses. The difference in pricing models can affect the cost-effectiveness and budgeting considerations for utilizing either service.
In Summary, understanding the key differences between AWS Lambda and Cassandra can help in selecting the appropriate service based on the specific needs of your applications.
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.
The problem I have is - we need to process & change(update/insert) 55M Data every 2 min and this updated data to be available for Rest API for Filtering / Selection. Response time for Rest API should be less than 1 sec.
The most important factors for me are processing and storing time of 2 min. There need to be 2 views of Data One is for Selection & 2. Changed data.
Scylla can handle 1M/s events with a simple data model quite easily. The api to query is CQL, we have REST api but that's for control/monitoring
i love syclla for pet projects however it's license which is based on server model is an issue. thus i recommend cassandra
Cassandra is quite capable of the task, in a highly available way, given appropriate scaling of the system. Remember that updates are only inserts, and that efficient retrieval is only by key (which can be a complex key). Talking of keys, make sure that the keys are well distributed.
By 55M do you mean 55 million entity changes per 2 minutes? It is relatively high, means almost 460k per second. If I had to choose between Scylla or Cassandra, I would opt for Scylla as it is promising better performance for simple operations. However, maybe it would be worth to consider yet another alternative technology. Take into consideration required consistency, reliability and high availability and you may realize that there are more suitable once. Rest API should not be the main driver, because you can always develop the API yourself, if not supported by given technology.
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 Cassandra
- Distributed119
- High performance98
- High availability81
- Easy scalability74
- Replication53
- Reliable26
- Multi datacenter deployments26
- Schema optional10
- OLTP9
- Open source8
- Workload separation (via MDC)2
- Fast1
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 Cassandra
- Reliability of replication3
- Size1
- Updates1