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.