The scene for cloud hosting Node.js applications just got more interesting with the announcement that Amazon's Elastic Beanstalk now supports Node.js applications.
Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. At the same time, with Elastic Beanstalk, you retain full control over the AWS resources powering your application and can access the underlying resources at any time. Elastic Beanstalk leverages AWS services such as Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Simple Notification Service (Amazon SNS), Elastic Load Balancing, and Auto Scaling to deliver the same highly reliable, scalable, and cost-effective infrastructure that hundreds of thousands of businesses depend on today. AWS Elastic Beanstalk is easy to begin and impossible to outgrow.The Elastic Beanstalk service already supports a number of languages like PHP, Java, and Ruby. With today's announcement it now supports Node.js, and from the writeup on their blog post it looks like it'll take any natural normal Node application.
The writeup says you can configure the application to be proxy'd behind either Nginx or Apache, or to run without a proxy. Load balancing can be either HTTP or TCP, and if you're using WebSockets it says TCP load balancing is more appropriate.