PHP and Git Deployment for AWS Elastic Beanstalk
Written by Kay Ewbank   
Thursday, 22 March 2012

Amazon’s AWS Elastic Beanstalk now supports a PHP runtime and Git deployment letting users manage both  Java and PHP applications with load balancing and managing server instances.

As we reported when it was first launched, Elastic Beanstalk provides a solution to the problem of deploying applications in Amazon’s AWS cloud. The launch version of Elastic Beanstalk could only be used to deploy and manage Java applications in AWS, but this new release provides the same options for PHP apps.

Electric Beanstalk removes the difficulty of working out the best way to deploy your app in terms of aspects such as load balancing and allocating the app to server instances. You’re also freed from the need to configure the operating system or even making sure the environment has everything you need.


The new release makes use of AWS services such as Amazon EC2, Amazon S3, Elastic Load Balancing, Auto Scaling, and Amazon Simple Notification Service, and lets you run either Java or PHP apps. In addition, you can now set up your Git repositories to directly deploy any changes to your apps to the version in the AWS Elastic Beanstalk environment. To deploy a PHP app all you have to do is:

  • Create your application as you normally would on in a test environment.
  • Create an Elastic Beanstalk PHP environment using the AWS Management Console or the web service APIs. Behind the scenes, Elastic Beanstalk handles the provisioning of a load balancer and Amazon EC2 resources.
  • Install and configure Git for deployments.
  • Commit and push your changes using Git. Elastic Beanstalk deploys your files to one or more Amazon EC2 instances running the Apache HTTP Server.

After this you simply use the app as provided by ECS. This is a much easier procedure than constructing the same infrastructure using the different ECS services.

Anyone who has tried to implement an ECS system knows that there are a great many decisions to be made that influence both performance and cost. Elastic Beanstalk makes these decisions for you.

In particular, it:

  • Selects the instance type that suits the application
  • Chooses storage technology from  RDS,  DynamoDB, SimpleDB, Microsoft SQL Server, Oracle, IBM DB2, or Informix.
  • Automatically runs in more than one Availability Zone
  • Configures  HTTPS on the load balancer
  • Adjusts the Auto Scaling settings to control the metrics and thresholds used to determine when to add or remove instances from an environment

Of course you might well be suspicious that what is being optimized is Amazon's profit rather than your app's performance, but you can always manual tune the system yourself after you discover how it works in practice.

While there is no additional charge for using Electric Beanstalk you do still pay for each of the AWS resources you use.

More Information

Elastic Beanstalk

Related Articles

Amazon Beanstalk - just runs your app






or email your comment to:


To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter, Linkedin or Facebook or sign up for our weekly newsletter.



Android Jetpack Confusion As V1 Approaches

Android development seems to be in the hands of a leaderless team - or at least a team that has no idea where it is going. Google I/O is always time to announce new things, but as far as Android progr [ ... ]

Mercury Extends Visual Basic For .NET

An implementation of Basic that is fully code-compatible with VB.NET has been released. Mercury adds multi-platform support and is feature compatible with C#.

More News

Last Updated ( Thursday, 22 March 2012 )