Need advice about which tool to choose?Ask the StackShare community!
Amazon EBS vs AWS Lambda: What are the differences?
What is Amazon EBS? Block level storage volumes for use with Amazon EC2 instances. Amazon EBS volumes are network-attached, and persist independently from the life of an instance. Amazon EBS provides highly available, highly reliable, predictable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. Amazon EBS is particularly suited for applications that require a database, file system, or access to raw block level storage.
What is AWS Lambda? Automatically run code in response to modifications to objects in Amazon S3 buckets, messages in Kinesis streams, or updates in DynamoDB. AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.
Amazon EBS and AWS Lambda are primarily classified as "Cloud Storage" and "Serverless / Task Processing" tools respectively.
Some of the features offered by Amazon EBS are:
- Amazon EBS allows you to create storage volumes from 1 GB to 1 TB that can be mounted as devices by Amazon EC2 instances. Multiple volumes can be mounted to the same instance.
- Amazon EBS enables you to provision a specific level of I/O performance if desired, by choosing a Provisioned IOPS volume. This allows you to predictably scale to thousands of IOPS per Amazon EC2 instance.
- Storage volumes behave like raw, unformatted block devices, with user supplied device names and a block device interface. You can create a file system on top of Amazon EBS volumes, or use them in any other way you would use a block device (like a hard drive).
On the other hand, AWS Lambda provides the following key features:
- Extend other AWS services with custom logic
- Build custom back-end services
- Completely Automated Administration
"Point-in-time snapshots" is the primary reason why developers consider Amazon EBS over the competitors, whereas "No infrastructure" was stated as the key factor in picking AWS Lambda.
According to the StackShare community, AWS Lambda has a broader approval, being mentioned in 1002 company stacks & 585 developers stacks; compared to Amazon EBS, which is listed in 178 company stacks and 47 developer stacks.
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 Amazon EBS
- Point-in-time snapshots36
- Data reliability27
- Configurable i/o performance19
Pros of AWS Lambda
- No infrastructure128
- Cheap82
- Quick69
- Stateless58
- No deploy, no server, great sleep47
- AWS Lambda went down taking many sites with it11
- Event Driven Governance6
- Easy to deploy6
- Extensive API6
- Auto scale and cost effective6
- VPC Support5
- Integrated with various AWS services3
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon EBS
Cons of AWS Lambda
- Cant execute ruby or go6
- Compute time limited2
- Can't execute PHP w/o significant effort0