Amazon Web Services (AWS) is a subsidiary of Amazon that provides on-demand cloud computing services. With over 165 services offered, AWS services can provide users with a comprehensive suite of infrastructure and computing building blocks and tools.
$100
per month
AWS Elastic Beanstalk
Score 8.0 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).
$35
per month
AWS Lambda
Score 8.3 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
Amazon Web Services
AWS Elastic Beanstalk
AWS Lambda
Editions & Modules
Free Tier
$0
per month
Basic Environment
$100 - $200
per month
Intermediate Environment
$250 - $600
per month
Advanced Environment
$600-$2500
per month
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
Amazon Web Services
AWS Elastic Beanstalk
AWS Lambda
Free Trial
Yes
No
No
Free/Freemium Version
Yes
Yes
No
Premium Consulting/Integration Services
No
No
No
Entry-level Setup Fee
No setup fee
No setup fee
No setup fee
Additional Details
AWS allows a “save when you commit” option that offers lower prices when you sign up for a 1- or 3- year term that includes an AWS service or category of services.
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 …
The AWS platform provides a great deal of configurability that is abstracted and provided very well through AWS Elastic Beanstalk. This is the main reason for choosing Elastic Beanstalk over competing services. Another reason for selecting AWS Beanstalk was vendor …
Honestly, I haven't tried any other alternative products. As already mentioned, I am already heavily invested in AWS, so EBS was a natural choice for me. In other reviews, I have found, AWS is better than its competitors. There are more flavors, and options in AWS, better …
AWS Lambda is much easier to use than the near alternatives. It is so straightforward and lightweight it is my primary service for handling small transactions or triggers. The other services require more setup time and are more complex to use. AWS Lambda takes your code snippet …
AWS is great product and a close match our expectations. It is close to Azure in function but more feature rich with API and support documents. From my experience, it is cheaper compared with our competitors and provides better interface. Overall our dev engineers prefer AWS …
This is something that is actually common across most cloud providers. A comprehensive understanding of one's use cases, constraints and future directions is key to determining if you even need a cloud solution. If you are a 2-person startup developing something with a best-scenario audience of 1k DAU in a year, you would very likely best served by a dirt-cheap dedicated Linux server somewhere (and your options to graduate to a cloud solution will still be open). If, however, you are a bigger fish, and/or you are actively considering build-vs-buy decisions for complicated, highly-loaded, six-figure requests per minute systems, global loadbalancing, extreme growth projections - then MAYBE you solve all or part of it with a cloud provider. And depending on your taste for risk, reliability, flexibility, track record - it might be AWS.
I have been using AWS Elastic Beanstalk for more than 5 years, and it has made our life so easy and hassle-free. Here are some scenarios where it excels -
I have been using different AWS services like EC2, S3, Cloudfront, Serverless, etc. And Elastic Beanstalk makes our lives easier by tieing each service together and making the deployment a smooth process.
N number of integrations with different CI/CD pipelines make this most engineer's favourite service.
Scalability & Security comes with the service, which makes it the absolute perfect product for your business.
Personally, I haven't found any situations where it's not appropriate for the use cases it can be used. The pricing is also very cost-effective.
Lambda excels at event-driven, short-lived tasks, such as processing files or building simple APIs. However, it's less ideal for long-running, computationally intensive, or applications that rely on carrying the state between jobs. Cold starts and constant load can easily balloon the costs.
Getting a project set up using the console or CLI is easy compared to other [computing] platforms.
AWS Elastic Beanstalk supports a variety of programming languages so teams can experiment with different frameworks but still use the same compute platform for rapid prototyping.
Common application architectures can be referenced as patterns during project [setup].
Multiple environments can be deployed for an application giving more flexibility for experimentation.
Limited to the frameworks and configurations that AWS supports. There is no native way to use Elastic Beanstalk to deploy a Go application behind Nginx, for example.
It's not always clear what's changed on an underlying system when AWS updates an EB stack; the new version is announced, but AWS does not say what specifically changed in the underlying configuration. This can have unintended consequences and result in additional work in order to figure out what changes were made.
Developing test cases for Lambda functions can be difficult. For functions that require some sort of input it can be tough to develop the proper payload and event for a test.
For the uninitiated, deploying functions with Infrastructure as Code tools can be a challenging undertaking.
Logging the output of a function feels disjointed from running the function in the console. A tighter integration with operational logging would be appreciated, perhaps being able to view function logs from the Lambda console instead of having to navigate over to CloudWatch.
Sometimes its difficult to determine the correct permissions needed for Lambda execution from other AWS services.
We are almost entirely satisfied with the service. In order to move off it, we'd have to build for ourselves many of the services that AWS provides and the cost would be prohibitive. Although there are cost savings and security benefits to returning to the colo facility, we could never afford to do it, and we'd hate to give up the innovation and constant cycle of new features that AWS gives us.
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.
AWS offers a wide range of powerful services that cater to various business needs which is significant strength. The ability to scale resources on-demand is a major advantage making it suitable for businesses of all sizes. The sheer volume of options and configurations can be overwhelming for new users leading to a steep learning curve. While functional the AWS management console can feel cluttered and less intuitive compared to some competitors which can hinder navigation. Although some documentation lacks clarity and practical examples which can frustrate users trying to implement specific solutions.
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
I give it a seven is usability because it's AWS. Their UI's are always clunkier than the competition and their documentation is rather cumbersome. There's SO MUCH to dig through and it's a gamble if you actually end up finding the corresponding info if it will actually help. Like I said before, going to google with a specific problem is likely a better route because AWS is quite ubiquitous and chances are you're not the first to encounter the problem. That being said, using SAM (Serverless application model) and it's SAM Local environment makes running local instances of your Lambdas in dev environments painless and quite fun. Using Nodejs + Lambda + SAM Local + VS Code debugger = AWESOME.
AWS does not provide the raw performance that you can get by building your own custom infrastructure. However, it is often the case that the benefits of specialized, high-performance hardware do not necessarily outweigh the significant extra cost and risk. Performance as perceived by the user is very different from raw throughput.
The customer support of Amazon Web Services are quick in their responses. I appreciate its entire team, which works amazingly, and provides professional support. AWS is a great tool, indeed, to provide customers a suitable way to immediately search for their compatible software's and also to guide them in a good direction. Moreover, this product is a good suggestion for every type of company because of its affordability and ease of use.
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.
Amazon consistently provides comprehensive and easy-to-parse documentation of all AWS features and services. Most development team members find what they need with a quick internet search of the AWS documentation available online. If you need advanced support, though, you might need to engage an AWS engineer, and that could be an unexpected (or unwelcome) expense.
- 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.
Amazon Web Services fits best for all levels of organisations like startup, mid level or enterprise. The services are easy to use and doesn't require a high level of understanding as you can learn via blogs or youtube videos. AWS is Reasonable in cost as the plan is pay as you use.
We also use Heroku and it is a great platform for smaller projects and light Node.js services, but we have found that in terms of cost, the Elastic Beanstalk option is more affordable for the projects that we undertake. The fact that it sits inside of the greater AWS Cloud offering also compels us to use it, since integration is simpler. We have also evaluated Microsoft Azure and gave up trying to get an extremely basic implementation up and running after a few days of struggling with its mediocre user interface and constant issues with documentation being outdated. The authentication model is also badly broken and trying to manage resources is a pain. One cannot compare Azure with anything that Amazon has created in the cloud space since Azure really isn't a mature platform and we are always left wanting when we have to interface with it.
AWS Lambda is good for short running functions, and ideally in response to events within AWS. Google App Engine is a more robust environment which can have complex code running for long periods of time, and across more than one instance of hardware. Google App Engine allows for both front-end and back-end infrastructure, while AWS Lambda is only for small back-end functions
Using Amazon Web Services has allowed us to develop and deploy new SAAS solutions quicker than we did when we used traditional web hosting. This has allowed us to grow our service offerings to clients and also add more value to our existing services.
Having AWS deployed has also allowed our development team to focus on delivering high-quality software without worrying about whether our servers will be able to handle the demand. Since AWS allows you to adjust your server needs based on demand, we can easily assign a faster server instance to ease and improve service without the client even knowing what we did.
Positive - Only paying for when code is run, unlike virtual machines where you pay always regardless of processing power usage.
Positive - Scalability and accommodating larger amounts of demand is much cheaper. Instead of scaling up virtual machines and increasing the prices you pay for that, you are just increasing the number of times your lambda function is run.
Negative - Debugging/troubleshooting, and developing for lambda functions take a bit more time to get used to, and migrating code from virtual machines and normal processes to Lambda functions can take a bit of time.