Announcing AWS Elastic Beanstalk for Node.js
aws.amazon.com
aws.amazon.com
* You only pay for the underlying AWS services
* ELB + EC2 + RDS is a good stack for a lot of
web applications
* They support environments and promoting releases
from one environment to the other (e.g.
qa -> production)
* Git integration
There are a bunch of downsides but it's a cheap MVP for a certain category of database driving webapp for me.When it integrates with opsworks, I'll be excited about it.
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom...
Additionally since it is still new there is very little crowd created documentation out there on StackOverflow, etc to help you out where the official documentation is lacking.
My experience with Elastic Beanstalk makes me feel like a pioneer breaking new ground on an very early beta, not the user of a robust, finished system.
There are other issues I have with the system besides the documentation, such as logging into an instance that was created by Elastic Beanstalk for my app and seeing that it has 30 security updates that need to be installed. Why Elastic Beanstalk didn't just install these when creating the instance is beyond me. Instead I'm trying to figure out how to modify the configuration to get it to fix these security problems as part of the deployment process, but having no luck. (2 hours wasted on this so far.)
Elastic Beanstalk has the potential to be incredible, but it is still very rough in my opinion.
https://devcenter.heroku.com/articles/python
https://devcenter.heroku.com/articles/nodejs
I'd love to see Beanstalk be this easy, but judging from all of the AWS documentation I've read, they won't get there anytime soon.
Note: I understand Heroku is solving the problem at a different level. I'm happy to work with the building blocks AWS provides (EC2 + ELBS + RDS etc.) but it's just the nice getting started guides / overall developer friendliness that's lacking.
* Docs are pretty bad
* I invariably need to log onto the instance itself to
find deployment bugs during development (that said,
it's great that I can do that)
* Using their AMIs is the easiest but you may find
that they don't support the combination of software
you need
* If you're deploying a python app, you'll want to
install celery, rails resque, php gearman etc.
Beanstalk doesn't really have an answer for the
'deploy an asynchronous job server'* You cannot enable stickiness on the ELB
* You will not get the client IP forwarded to your instances
Would this solve that problem, by providing an essentially infinite sized machine?
heroku create
git push heroku master
With Amazon, you need to spend some time understanding how it works and what do you want. It's also not very clear for a beginner to define what kind of bill you will get today, in a month, in a year. I think Amazon is trying very hard but I always end up reading tons of documents and finally not really understand what they means in the end.I haven't tried them out yet, but their support team has been very responsive answering my questions.