AWS Official Blog

AWS Elastic Beanstalk – Build PHP Apps Using Git-Based Deployment

by Jeff Barr | on | in AWS Elastic Beanstalk |

I’m pleased to be able to tell you that AWS Elastic Beanstalk now supports PHP and Git deployment.

Elastic Beanstalk and PHP
AWS Elastic Beanstalk makes it easy for you to quickly deploy and manage applications in the AWS cloud. You simply upload your application, and Elastic Beanstalk automatically handles all of the details associated with deployment including provisioning of EC2 instances, load balancing, auto scaling, and application health monitoring. Even though it does all of this for you, you retain full control over the AWS resources powering your application and you can access them at any time if necessary. There is no additional charge for Elastic Beanstalk – you pay only for the AWS resources needed to run your applications. AWS Elastic Beanstalk supports PHP applications that run on the familiar Apache HTTP server and PHP 5.3. AWS Elastic Beanstalk also supports Java web applications running on Apache Tomcat 6 and 7.

Under the hood, Elastic Beanstalk leverages AWS services such Amazon EC2, Elastic Load Balancing and Auto Scaling to provide a highly reliable, scalable and cost effective infrastructure for PHP applications. To get started, you can use the AWS Management Console or the Elastic Beanstalk command line tools to create applications and environments.

Git-Based Deployment
The newly released Git interface provides faster deployments based on the popular Git version control system. You can now set up your Git repositories to directly deploy changes to your AWS Elastic Beanstalk environments. Git speeds up deployments by only pushing your modified files to AWS Elastic Beanstalk. In seconds, PHP applications get updated on a set of Amazon EC2 instances. To learn more about how to leverage Git deployment, go to Deploying PHP Applications Using Git in the AWS Elastic Beanstalk Developer Guide.

<jeff wordpress>: git aws.push
Counting objects: 1035, done.
Delta compression using up to 2 threads.
Compressing objects: 100 % ( 1015 / 1015 ), done.
Writing objects: 100 % ( 1035 / 1035 ), 3.84 MiB | 229 KiB /s, done. | 229 KiB /s
Total 1035 (delta 72 ), reused 0 (delta 0 )
remote:
To https: //<url >.us-east- 1.amazonaws.com /repos /phptestapp /phptestenv
   683a95c..f8caebc  master - > master

If you make a change to a configuration file in your application, Git pushes the incremental changes to Elastic Beanstalk and your deployment completes in seconds:

<jeff wordpress>: git aws.push
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100 % ( 3 / 3 ), done.
Writing objects: 100 % ( 3 / 3 ), 287 bytes, done.
Total 3 (delta 2 ), reused 0 (delta 0 )
remote:
To https: //<url >.us-east- 1.amazonaws.com /repos /phptestapp /phptestenv
   c24a736..4df4dad  master - > master

And More
AWS Elastic Beanstalk allows you to directly modify both the infrastructure and software to match the requirements of your applications. You can connect your PHP applications to any database of your choice. If your application needs a MySQL database, Amazon RDS provides a highly available and scalable MySQL database and frees you from time-consuming database administration tasks. For a limited time, Amazon RDS is offering a 60-day free trial to new Amazon RDS customers. To learn more about your eligibility for the 60-day free trial and to sign up, visit aws.amazon.com/rds/free-trial. If youre looking for a database that offers fast and predictable performance with seamless scalability, use the AWS SDK for PHP to access the fully managed Amazon DynamoDB NoSQL database service.

As a PHP developer myself, I cant wait to start using the new PHP runtime and super fast Git deployment to manage my PHP applications on AWS. To learn more about AWS Elastic Beanstalk, go to the AWS Elastic Beanstalk Developer Guide.

– Jeff;

P.S: We are hiring software development engineers and product managers. If you are passionate about building the best developer experience, get in touch with us at aws-elasticbeanstalk-jobs@amazon.com.