AWS Elastic Beanstalk vs. AWS Lambda

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
AWS Elastic Beanstalk
Score 7.4 out of 10
N/A
AWS Elastic Beanstalk is the platform-as-a-service offering provided by Amazon and designed to leverage AWS services such as Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3).
$0
Users pay for AWS resources (e.g. EC2, S3 buckets, etc.) used to store and run the application.
AWS Lambda
Score 8.7 out of 10
N/A
AWS Lambda is a serverless computing platform that lets users run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes of requirements to run and scale code with high availability.
$NaN
Per 1 ms
Pricing
AWS Elastic BeanstalkAWS Lambda
Editions & Modules
No Charge
$0
Users pay for AWS resources (e.g. EC2, S3 buckets, etc.) used to store and run the application.
128 MB
$0.0000000021
Per 1 ms
1024 MB
$0.0000000167
Per 1 ms
10240 MB
$0.0000001667
Per 1 ms
Offerings
Pricing Offerings
AWS Elastic BeanstalkAWS Lambda
Free Trial
NoNo
Free/Freemium Version
YesNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
AWS Elastic BeanstalkAWS Lambda
TrustRadius Insights
AWS Elastic BeanstalkAWS Lambda
Highlights

TrustRadius
Research Team Insight
Published

AWS Elastic Beanstalk and AWS Lambda are both platform as a service products that enable businesses to utilize cloud computing. Both are AWS products, but they serve slightly different use cases.  AWS Elastic Beanstalk is ideal for deploying and managing fully functional applications. AWS Lambda is a serverless product that allows for the deployment of small applications or pieces of larger applications at a low cost.  Both products are popular with businesses of all sizes, depending on their use case.  It is possible to use both platforms, with AWS Lambda being used for the heaviest computing portions of an application.

Features

AWS Elastic Beanstalk and AWS Lambda both provide a platform for cloud computing, but they also have some standout features that are important to consider.

AWS Elastic Beanstalk provides a complete platform for computing and application deployment.  Businesses using AWS Elastic Beanstalk benefit from the ability to control and manage the application environment in a granular manner.  Additionally, if businesses don’t want to worry about aspects such as provisioning and load balancing, AWS Elastic Beanstalk can manage those aspects of the environment automatically.

AWS Lambda allows businesses to run code in a serverless environment, so management requirements are minimal.  Lambda can also integrate with other tools that can trigger functions in AWS Lambda, or applications that can make function calls to code in Lambda.  For businesses that want to run code without worrying about managing servers or the codes environment, AWS Lambda is a great choice.

Limitations

Though AWS Elastic Beanstalk and AWS Lambda can be used together, and both simplify cloud computing, they also have some limitations that are important to consider.

AWS Elastic Beanstalk provides some automation features and allows for customization of the application environment, but it is difficult to use it as a “set it and forget it” tool.  In contrast, AWS Lambda is a serverless environment with minimal management requirements, so users can run code without worrying about the environment.  AWS Elastic Beanstalk is best for businesses that need a robust computing platform.

AWS Lambda allows users to easily run code in a serverless environment, but it doesn’t include as many options for customizing the environment.  For businesses looking for a flexible platform that they can manage however they want, AWS Elastic Beanstalk may be preferred.  Additionally, while Lambda is a good choice for pieces of code that applications will call, AWS Elastic Beanstalk is more usable for fully featured application deployment.

Pricing

AWS Elastic Beanstalk pricing is entirely dependent on what AWS resources are used in the environment.  For example, using more storage buckets will increase AWS Elastic Beanstalk pricing.

AWS Lambda is priced depending on the amount of memory used and the amount of requests made.  Businesses can expect AWS Lambda pricing to start at $0.20 per million requests.

Features
AWS Elastic BeanstalkAWS Lambda
Platform-as-a-Service
Comparison of Platform-as-a-Service features of Product A and Product B
AWS Elastic Beanstalk
8.0
Ratings
0% above category average
AWS Lambda
-
Ratings
Ease of building user interfaces8.10 Ratings00 Ratings
Scalability7.20 Ratings00 Ratings
Platform management overhead8.10 Ratings00 Ratings
Workflow engine capability7.20 Ratings00 Ratings
Platform access control8.10 Ratings00 Ratings
Services-enabled integration8.10 Ratings00 Ratings
Development environment creation7.20 Ratings00 Ratings
Development environment replication8.10 Ratings00 Ratings
Issue monitoring and notification8.10 Ratings00 Ratings
Issue recovery9.10 Ratings00 Ratings
Upgrades and platform fixes8.10 Ratings00 Ratings
Access Control and Security
Comparison of Access Control and Security features of Product A and Product B
AWS Elastic Beanstalk
-
Ratings
AWS Lambda
9.3
Ratings
3% below category average
Multiple Access Permission Levels (Create, Read, Delete)00 Ratings9.00 Ratings
Single Sign-On (SSO)00 Ratings9.50 Ratings
Reporting & Analytics
Comparison of Reporting & Analytics features of Product A and Product B
AWS Elastic Beanstalk
-
Ratings
AWS Lambda
6.1
Ratings
4% below category average
Dashboards00 Ratings6.70 Ratings
Standard reports00 Ratings6.50 Ratings
Custom reports00 Ratings5.00 Ratings
Function as a Service (FaaS)
Comparison of Function as a Service (FaaS) features of Product A and Product B
AWS Elastic Beanstalk
-
Ratings
AWS Lambda
7.9
Ratings
3% below category average
Programming Language Diversity00 Ratings9.00 Ratings
Runtime API Authoring00 Ratings8.30 Ratings
Function/Database Integration00 Ratings8.30 Ratings
DevOps Stack Integration00 Ratings6.00 Ratings
Best Alternatives
AWS Elastic BeanstalkAWS Lambda
Small Businesses
AWS Lambda
AWS Lambda
Score 8.7 out of 10
IBM Cloud Functions
IBM Cloud Functions
Score 8.0 out of 10
Medium-sized Companies
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
Enterprises
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
AWS Elastic BeanstalkAWS Lambda
Likelihood to Recommend
7.2
(0 ratings)
9.3
(0 ratings)
Likelihood to Renew
7.9
(0 ratings)
-
(0 ratings)
Usability
7.0
(0 ratings)
9.0
(0 ratings)
Support Rating
8.0
(0 ratings)
8.7
(0 ratings)
Implementation Rating
7.0
(0 ratings)
-
(0 ratings)
User Testimonials
AWS Elastic BeanstalkAWS Lambda
Likelihood to Recommend
AWS Elastic Beanstalk is well suited for [the] rapid development of applications that use standard compute platforms based on popular programming languages. So getting a Go, Python, Ruby, or Node.js app going in AWS Elastic Beanstalk will be easy. For non-standard applications, containers provide another option for using AWS Elastic Beanstalk. In either case, AWS Elastic Beanstalk is well suited for applications that are [self-contained]. AWS Elastic Beanstalk is also good for development or test environments that need a built-in deployment method. AWS Elastic Beanstalk is less appropriate for complex applications that rely on multiple AWS services. While deploying and running the base code might be easy to get going, it may be difficult to apply permissions and integrations with the other services.
Read full review
Scenarios where AWS Lambda is well suited: 1. When we need to run a periodic task few times in a day or every hour, we may deploy it on AWS Lambda so it would not increase load on our server which is handling client requests and at the same time we don't have to pay for AWS Lambda when it is not running. So, overall we only pay for few function invocations. 2. When some compute intensive processing is to be done but the number of requests per unit of time fluctuates. For example, we had deployed an AWS Lambda for processing images into different sizes and storing them on AWS S3 once user uploads them. Now, this is something that may happen few times every hour on a particular day or may not happen even once on other days. To handle this kind of tasks AWS Lambda is a better choice as we don't have to pay for the idle time of the server and also we don't have to worry about scaling when the load is high. Scenarios where AWS Lambda is not appropriate to use: 1. When we expect a large request volume continuously on the server. 2. When we don't want latency even in case of concurrent requests.
Read full review
Pros
  • Extremely easy to get set up and get apps deployed.
  • Integrates really well with existing build processes and is manageable through a suite of CLI tools.
  • It is very easy to scale up.
  • The documentation is exceptionally detailed and covers a very wide range of deployment scenarios.
Read full review
  • AWS Lambda is a welcoming platform, supporting several languages, including Java, Go, PowerShell, Node.js, C#, Python, and Ruby. And if you need to deploy a Lambda function in another language, AWS offers a Runtime API for integration.
  • We really appreciate how AWS Lambda is always-on for our functions, with only a brief "cold-start" waiting period the first time a function is called after being dormant.
  • In addition to only generating costs when it's actually being used, AWS Lambda really puts the "serverless" in serverless architecture, offering turnkey scaleability and high availability for our code with zero effort on our part.
Read full review
Cons
  • How to more easily integrate with other other AWS services. There are plenty out there, but it's not quite as seamless as I feel like it should be to mix and match products.
  • Make backing up easier when scaling the server. It took quite a bit of time to make sure we had everything set up in case something went wrong.
  • When you are first starting to use AWS, the dashboard can be very intimidating. There are countless products all with names that aren't very indicative of what they actually do.
Read full review
  • The UI and Developer experience is not so great. IF you use an abstraction like Serverless Application Model (SAM), things get pretty easy, but it's still AWS UI/DX you're working with after that (which is to say, not their strength).
  • Documentation is always a mixed bag. Sometimes it's just easier to google your specific problem and see how others have solved it. This can be much faster than trying to find an example that may or may not be there in the documentation (which oftentimes has multiple versions and revisions).
Read full review
Likelihood to Renew
As our technology grows, it makes more sense to individually provision each server rather than have it done via beanstalk. There are several reasons to do so, which I cannot explain without further diving into the architecture itself, but I can tell you this. With automation, you also loose the flexibility to morph the system for your specific needs. So if you expect that in future you need more customization to your deployment process, then there is a good chance that you might try to do things individually rather than use an automation like beanstalk.
Read full review
No answers on this topic
Usability
The overall usability is good enough, as far as the scaling, interactive UI and logging system is concerned, could do a lot better when it comes to the efficiency, in case of complicated node logics and complicated node architectures. It can have better software compatibility and can try to support collaboration with more softwares
Read full review
It is very easy to get started with AWS Lambda and create your first function. The user interface makes it easy to add AWS services to be inputs or outputs to the function, meaning it can be configured in many different ways for different needs. This makes it ideal for various scenarios in AWS.
Read full review
Support Rating
As I described earlier it has been really cost effective and really easy for fellow developers who don't want to waste weeks and weeks into learning and manually deploying stuff which basically takes month to create and go live with the Minimal viable product (MVP). With AWS Beanstalk within a week a developer can go live with the Minimal viable product easily.
Read full review
As this is a product where a great part of errors can be at the source code level, AWS support team doesn't dive that further. I mean they don't evaluate problems more complex related to your code, [which] is totally understandable, but this make[s] debug process more tough and painful.
Read full review
Implementation Rating
- Do as many experiments as you can before you commit on using beanstalk or other AWS features. - Keep future state in mind. Think through what comes next, and if that is technically possible to do so. - Always factor in cost in terms of scaling. - We learned a valuable lesson when we wanted to go multi-region, because then we realized many things needs to change in code. So if you plan on using this a lot, factor multiple regions.
Read full review
No answers on this topic
Alternatives Considered
There are many services like AWS Elastic beanstalk, but there are none with the maturity in the platform or the cost-effectiveness of AWS Elastic Beanstalk. Also, AWS Elastic Beanstalk is the oldest among them, so there are more people with AWS experience than the other platforms. The only thing is their documentation and UX are a bit old, which doesn't stop it from performing greatly, but yes, if you are looking for better UX, then you can check out other options.
Read full review
It's fine, it works as the others would have, except EC2. We are migrating back to EC2 for dedicated compute because we have scaled to a point where we have consistent traffic. The tradeoff of maintaining infrastructure in-house outweighs the benefits of moving quickly through our roadmap.
Read full review
Return on Investment
  • Elastic Beanstalk removes countless hours from development team responsibility, freeing up those resources to instead focus on building the products that our customers want to use.
  • As a business that is already embedded into using EC2 instances, it's essentially free to leverage the work that AWS performs on configuring the Elastic Beanstalk stacks.
  • With Elastic Beanstalk, while there is still a responsibility to ensure that applications can work with updated underlying dependencies, it's much easier when AWS handled the heavy lifting of updating the stacks.
Read full review
  • We have simplified log fiie ingestion using Lambda functions. The return has been less time worrying about getting logs from source to ingestion; one the process is in place the team is nearly 100% hands off.
  • We have begun taking a more API focused approach by using API Gateway as the interface to business processes and Lambda as the back end compute. Moving away from server based back ends places us on a path to reducing overall spend in compute costs.
  • Lambda functions allow us to easily interface with third party services through APIs. This simplifies access management since the function can be granted permissions and access to the function can be gated with API keys and other authentication methods.
Read full review
ScreenShots