Overall Satisfaction with AWS Elastic Beanstalk
AWS Elastic beanstalk makes it very easy for us to deploy the NodeJs applications which we create as part of any project instantly and this enables us to start using Node server without installing any required dependencies on cloud. Also when JAVA REST APIs are developed, the AWS Elastic beanstalk makes it extremely easy to deploy on the server, helping us with setting up environment time.
- Supports multiple popular languages to be deployed easily and helps in saving developers' time.
- Helps in scaling and load balancing based on the number of requests it is handling.
- Provides a neat monitoring system for the servers running along with the access to the logs which can also be downloaded if required.
- Can include more languages to be deployed (say Erlang) and not only popular languages.
- Issues in packaging large applications, say more than 2GB to be frequently deployed by uploading the packages to quickly test something.
- Takes considerable amount of time to just deploy simple applications on Elastic Beanstalk, can be frustrating for developers.
- Had a positive impact on our ROI as we could quickly deploy our application for one of the hack events as we didn't have to invest on other areas again.
- One of the issues, which can exist in all cloud platforms is latency which caused our NodeJs asychronous application to behave differently after deployed, though it turned out to be callback issue in the code.
- Very satisfied on deciding to invest on Amazon Webservices specifically Beanstalk as it handled out auto scaling issues as well based on the need.
Intuitive User interface making easier to ramp up any learning to quickly deploy servers based on the use case. Good documentation makes it easier to understand any missing links which the developer may not find while exploring deeply and to customize more based on the requirements one may posses based on events planned within org
The 24/7 support the Amazon ecosystem is always an added advantage for any developer across time zone over multiple sites. Be it 24 hour long hack days or people working in different offices, any time customer support ensure we follow best practices for successful deployment of servers and any troubleshooting for any issues.
Heroku is another similar product which we had tried out to deploy one of the NodeJs project and it has lot of developer friendly features as well. Though Heroku is more expensive than Beanstalk is what I found. Heroku also has some restrictions which can affect the architecture design , needs adherence to 12 factor methodology. These made us choose Beanstalk as an alternative to Heroku.
Great for any quick deployment of any application spanning across multiple technologies without need of setting it up manually and deploying it manually and the application is based on micro services which are stateless. Not appropriate if the application is not standalone and is interacting with other servers, say high availability systems.