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.
IBM Cloud Functions
Score 8.0 out of 10
N/A
IBM Cloud Functions is a PaaS platform based on Apache OpenWhisk. With it, developers write code (“actions”) that respond to external events. Actions are hosted, executed, and scaled on demand based on the number of events coming in. No servers or infrastructure to provision and manage.
$0
per second of execution
Pricing
AWS Elastic Beanstalk
IBM Cloud Functions
Editions & Modules
No Charge
$0
Users pay for AWS resources (e.g. EC2, S3 buckets, etc.) used to store and run the application.
Basic Cloud Functions Rate
$0.00017
per second of execution
API Gateway Rate
Free
Offerings
Pricing Offerings
AWS Elastic Beanstalk
IBM Cloud Functions
Free Trial
No
No
Free/Freemium Version
Yes
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
AWS Elastic Beanstalk
IBM Cloud Functions
Features
AWS Elastic Beanstalk
IBM Cloud Functions
Platform-as-a-Service
Comparison of Platform-as-a-Service features of Product A and Product B
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.
IBM Cloud Functions [is] not the worse product on the IBM cloud. I decided to write this review as I thought it would be balanced. I would still use functions to set up a serverless architecture where execution time is pretty quick and the code is relatively simple. I wouldn't use IBM Cloud Functions for async calls obviously, as costs could be higher. The functions documentation is lacking in terms of CI/CD, and there are unexplainable errors occurring - like the network connection that I mentioned. So I wouldn't just rely on IBM Cloud Functions too much for the entire system, but make sure it's diversified.
Validate raw data files - check the validity of raw data input to the system, to make sure we analyze only the relevant data. The raw data stream rate is hard to be predicted, since it depends on real world activities.
Analyze raw data - analyzing of valid raw data, described above.
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.
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.
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
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.
- 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.
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.
AWS Lambda is 100 times more robust than IBM cloud functions. They essentially do the same thing, but AWS works. AWS is stable. we have had epic failures with cloud functions. Support was horrible. We literally had an open ticket with them for 2 months and it literally went nowhere. They said it could do 100 calls a minute. We proved over and over that we couldn't get above 20 without getting failures. They had NO explanation whatsoever. The ticket got closed because we were tired of asking them questions and getting no understandable or usable response.
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.