Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Is the AWS Elastic Beanstalk Now the Most Multi-Language PaaS?

Is the AWS Elastic Beanstalk Now the Most Multi-Language PaaS?

Leia em Português

This item in japanese

The Amazon Web Services (AWS) team just added Ruby support to its Elastic Beanstalk service and now has one of the most multi-language cloud platforms available. In addition, AWS introduced support for Elastic Beanstalk in its Virtual Private Cloud (VPC) so that customers can deploy and manage private versions of their web applications.

The AWS Elastic Beanstalk is an application container service for developers who want to deploy web applications to a platform  that automatically handles server provisioning, load balancing, scaling and monitoring. Unlike a traditional Platform-as-a-Service (PaaS) offering, the free AWS Elastic Beanstalk is a wrapper around an Infrastructure-as-a-Service (IaaS) product. Developers and administrators have direct access to the AWS infrastructure layer beneath their application which means that they can change server configurations or access server-based log files. The user maintains responsibility for various infrastructure-oriented tasks including choosing (and updating) both the server operating system and application stacks. AWS Elastic Beanstalk does automate a number of management tasks including restarting all of the web servers with a single command, accessing all the server log files from a central location, and monitoring performance across all nodes.

In the blog post announcing Ruby support, the AWS team explained that Ruby applications run on the Passenger application server and that “this means you can develop and test locally and seamlessly deploy to Elastic Beanstalk without changes to your application code”. By adding Ruby, AWS Elastic Beanstalk now supports five key web development languages/platforms. AWS Elastic Beanstalk is an non-traditional PaaS, and AWS refuses to call it a PaaS offering, because of the infrastructure control retained by the user. However, in an assessment of leading PaaS providers, it is clear that AWS has among the broadest support for developers and applications that use the most popular programming frameworks. While VMware’s open-source Cloud Foundry maintains runtimes for the broadest array of languages, that is due to the contributions of its community. Cloud supports Java, Ruby and Node, while ActiveState added Python, Tier 3 added .NET, and AppFog added PHP.

  AWS Elastic Beanstalk Google App Engine Windows Azure Web Sites Cloud Foundry Heroku
Java x x x x x
Ruby x     x x
PHP x   x x*  
Python x x x x* x
.NET x   x x*  
Node.js     x x x


* Cloud Foundry support for these languages is provided by the community.

Elastic Beanstalk applications were previously only available in the public AWS cloud, but now they can be deployed privately within an Amazon VPC. The AWS team described this change.

You can now define and provision a private, virtual network in the cloud and connect it to your corporate network using a VPN connection. This allows you to run many new types of applications on Elastic Beanstalk. For example, you can run your intranet applications such as a trouble ticketing application or a reporting site on Elastic Beanstalk.

Once you have your VPC set up, you simply provide the VPC ID and the subnet IDs to Elastic Beanstalk and your application gets automatically provisioned inside the VPC.

The AWS Elastic Beanstalk is built in such a way that adding new languages and frameworks is possible in the future. This blurring of lines between IaaS and PaaS, as well as public PaaS and private PaaS, seems to be a trend among cloud providers who seek to expand the number of use cases for their cloud offerings.

Rate this Article