Host PHP App in AWS Cloud | 8 Top Options Compared (2023)

Last Updated on

CraftyTechie is reader-supported. When you buy through links on our site, we may earn an affiliate commission.

Host Your PHP Web App in AWS

AWS offers many options to host a PHP web app through their services & partner ecosystem. EC2 + Beanstalk are services for traditional websites. App Runner, ECS & Kubernets are great for container & cloud-native PHP applications. AWS also offers an entire partner ecosystem to make hosting easy.

AWS PHP Web Application Hosting Options

Hosting OptionEase of SetupScalabilityCostDeploymentCustomization
Elastic BeanstalkEasyHighMediumEasyMedium
LightsailEasyMediumLowMediumLow
AmplifyEasyHighMediumMediumMedium
App RunnerEasyHighMediumEasyMedium
EC2MediumHighLowMediumHigh
ECSMedium-HardHighMediumMediumHigh
LambdaMedium-HardHighLowMediumHigh
EKSHardHighMedium-HighHardHigh

AWS PHP App Hosting Highlights

  • Traditional server-hosted app: Use an EC2 instance to host & manage a website using traditional server-style hosting in the AWS cloud.
  • Container-provided app: AWS provides several services such as ECS, Kubernetes, Lambda, App Runner, and more that encourage container-based deployment.
  • Automated & managed services: The partner ecosystem has hundreds of managed & productized service providers to help you set up, manage & deploy your website into AWS.

Table of Contents

Is AWS Good for PHP Website Hosting

AWS is an excellent choice to host your website in the cloud when you run a high-traffic, dynamic, and enterprise application. It is wise to use the service whenever you plan to use additional AWS service. On the other hand, AWS is too expensive & complex for smaller, less resource-intensive websites.

Pros & Cons of Hosting Web Apps in AWS

Pros

  • High-Availability
  • Unlimited Scale
  • Total amount of available services
  • Large AWS partner ecosystem
  • Cost control at scale
  • Emphasis on security
  • Total control of the environment

Cons

  • Extreme complexity for simple requirements
  • Large learning curve
  • Costs can quickly balloon with experience
  • Simpler options for smaller sites

When You Should Use AWS to Host Your PHP Application

AWS is an excellent cloud service for when you need it. It is common to use it for high-traffic websites or PHP applications that require complexity. I will avoid it if you are trying it out because you’ve heard about it and don’t have a strong partner to help manage it.

Use AWS for Web Hosting:

  • High-traffic websites
  • Complex Web Applications
  • Experience in the environment
  • Using other AWS services
  • Have a managed service partner

Avoid AWS for Web Hosting:

  • Small-traffic websites
  • Simple & Stable application
  • Lack of experience or exposure
  • Doing it just because
  • Not utilizing a partner

Web Apps Cloud Hosting Options

AWS is one of several options to host your PHP web application in the Cloud. GCP & Azure are 2 other cloud providers. Digital Ocean is a popular option for startups and developer-led organizations as that is their primary target audience.

Click here to read our Cloud Web Hosting Intro Guide

This article is one of our foundational articles for developing PHP applications in AWS. Building & Deploying on AWS has its unique benefits and challenges.

Traditional Non-Containerized PHP Applications

Host PHP App on AWS EC2

Amazon Elastic Cloud Compute (EC2) is a virtual computing capacity in the cloud that is secure and scalable. You can deploy and manage your PHP app on an EC2 just the same as you would a traditional private server. You get to manage the entire server resources, but you are also responsible for managing the updates, security & scaling of the infrastructure.

Using EC2 for hosting a PHP website on AWS means you have the compute resources. It is your job to configure it, install the necessary packages, upload your application’s source code, and finally spin up the server. You also need to set up database and file storage services as well. 

PHP app on AWS EC2

Related Articles on Deploying PHP Apps into AWS

Pros

  • Complete freedom over your infrastructure.
  • Choose a platform of your choice.
  • Fine-grain control over network and security.
  • More flexibility and scalability.

Cons

  • operational overhead & server administration is involved.
  • Requires more expertise and experience.
  • It is time-consuming to build the infrastructure.

When to host a PHP application in AWS using Traditional EC2

Recommended If

  • You want the freedom to control the lowermost infrastructure configurations.
  • You have SysOps and CloudOps experience and expertise.
  • You want to test your MVP and need minimal setup for that.
  • You want a highly flexible and scalable solution.

Not Recommended If

  • You want to minimize operational overhead.
  • You lack experience and expertise in cloud computing.
  • You have a smaller team that lacks server management experience.

Host PHP Apps on EC2 Using Elastic Beanstalk

AWS Elastic Beanstalk is a platform-as-a-service, and contrary to infrastructure-as-a-service, it is more than just a compute resource in the cloud. It is a managed service that makes your deployments easier. You only need to upload your source code, and Beanstalk handles the rest.

It automates the server configuration, scaling, and load-balancing tasks. This is your responsibility if you go with the former approach of using EC2 instances. There’s no additional cost to Beanstalk; you only pay for the underlying resources.

AWS Elastic Beanstalk

Related Articles on AWS Beanstalk

Pros

  • Easy-to-use service for deploying applications.
  • Requires less expertise and experience.
  • Easily integrate with CI/CD pipelines.
  • Time and cost-efficient.
  • It gives you the freedom to choose underlying resources.

Cons

  • Less control over the custom infrastructure.
  • Integrating third-party services can be daunting.
  • Orchestrating multiple applications can be challenging.
  • Custom configurations and complex extension files can affect its performance.

When to host a PHP application in AWS using Elastic Beanstalk?

Recommended If

  • You want effortless deployment without having to worry about operational overhead.
  • You don’t want to spend on IT and Cloud training and onboarding.
  • You have a relatively simple application: a blog site, an API, or a front-end application.

Not Recommended If

  • If your application uses complex task and messaging queues.
  • Your application relies heavily on third-party integrations.
  • You have microservices or distributed applications.

Deploy PHP Apps into AWS Elastic Beanstalk

Interested in reading more about AWS Elastic Beanstalk for your PHP app? We’ve written additional articles specific to managing, hosting & deploying PHP Apps into Beanstalk. Click on the following links to dig deeper into maximizing Beanstalk for your application.

Host Your PHP App with Docker Containers in AWS

AWS offers several services for hosting PHP containers: Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS), App Runner, Lambda, and Beanstalk. ECS & EKS are traditional cloud-native services, and App Runner uses ECS under the hood.

  1. AWS offers several options for hosting containers.
  2. Amazon Elastic Container Service (ECS) and Elastic Kubernetes Service (EKS) are the most popular and traditional cloud-native services.
  3. With ECS, you can easily run and manage Docker containers in a fully managed environment.
  4. With EKS, you can deploy and manage containers with Kubernetes, while AWS manages the underlying infrastructure.
  5. App Runner is a new service that makes building, deploying, and scaling containerized applications easy.
  6. With App Runner, you define your application and dependencies using CDK code, and App Runner handles the deployment and scaling for you.

Option 3) Host PHP Container Applications with AWS App Runner

AWS recently launched a new service to deploy web apps that compete directly with Heroku called App Runner. I am really enjoying this service as I’ve used and recommended it for several projects. It is a great solution for many startups and proofs of concept. Most larger organizations will want to switch to ECS as they grow, but this is a great service for web developers who do not want to manage infrastructure.

aws app runner

Related App Runner Articles

Dig deeper into AWS App Runner. Check out our other articles where we dig deep into the AWS app hosting service.

Host a Serverless PHP App in AWS

AWS offers several serverless services to host your PHP App: Fargate & Lambda. You can deploy PHP apps into Fargate with a custom runtime or docker container. Fargate makes cloud-native container management easy for your PHP applications.

PHP Serverless Hosting Key Points

  • You can use Lambda and Fargate to host your PHP applications
  • Lambda is a good option when you have small event-driven requirements
  • Fargate sits on Elastic Container Service and is ideal for high-scale requirements.

Run PHP in Lambda

AWS Lambda is a serverless computing service that lets you run code without provisioning or managing servers. With Lambdas, you can easily run your PHP applications and only pay for the computing time you consume.

You wouldn’t be alone if you knew you could host PHP applications in Lambda.

Most people aren’t aware that you can deploy PHP into Lambda. They generally think of Lambda as a service for Javascript, Go, Python or another similar language. But you can and sometimes should use the powerful Lambda service for hosting your PHP code.

We’ve written an in-depth guide to using PHP inside of AWS Lambda. Click here to check it out.

Pros:

  • No infrastructure management required
  • Only pay for the compute time you consume
  • High scalability and availability

Cons:

  • Limited customization options
  • Cold starts can result in slow performance for some applications

Host PHP Container Applications Using Fargate

AWS Fargate is a serverless computing service that lets you upload dockerized PHP applications using Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS). Container and container orchestration is yet another complex topic, but we will tackle it in future articles. This approach is helpful if you want to deploy multiple applications, such as microservices.

AWS Fargate Logo

Pros

  • Serverless architecture.
  • Creates infrastructure using docker templates.
  • Easy to deploy and migrate.
  • Ideal for multiple and distributed applications.

Cons

  • Must have a containerized app
  • Shouldn’t use standard PHP sessions in containers
  • Knowledge of serverless and containers are expected

When to host a PHP application in AWS using Fargate?

Recommended If

  • You have distributed applications with orchestration requirements.
  • You have experience and expertise in Serverless, cloud-native and similar technologies.
  • You want serverless architecture for your application.

Not Recommended If

  • You’re an early-stage startup trying to validate your product.
  • You want fine-grained control over the infrastructure resources.
  • Legacy systems with heavy usage of PHP sessions
  • Legacy apps that aren’t containerized

But What is the Cloud?

Cloud hosting is all about virtually using a third party’s computing resources. You don’t have to worry about procuring and managing those resources. These third-party vendors provide Infrastructure-as-Service (IaaS), meaning you can use their resources on-demand and pay as you go.

Think of it as renting a resource without worrying about physically placing it in your space and doing all the hard stuff yourself, like adding up more storage or processors or setting up complicated software like operating systems and firewalls from scratch.

So, it takes care of infrastructure management, saving you time and money. The following section overviews the advantages of the cloud.

Is AWS Cheaper than Shared Hosting

Generally, no. Shared hosting will almost always be cheaper than AWS hosting a simple PHP website. This is because you use the same server as other organizations with shared hosting. This is not the case for AWS resources.

Shared hosting is an excellent service for small & beginner websites. You can pool the same resources as other organizations that are of the same size & requirements as you. But, it quickly loses strength as your app requirements grow.

You will perform slower on shared hosting when you get significant traffic to your PHP website. I also wouldn’t recommend shared hosting for any web application, as you will be very limited in what you can develop and deploy. You may get it to work for a proof of concept or testing, but there are better options if you work on more than a WordPress website.

Benefits of AWS Cloud Hosting

Speed and Scalability

Speed is crucial, especially for startups that must take their MVP to the market before the competition. If you wait for weeks and months to set up the initial infrastructure and then spend another few weeks scaling it up, you may need to re-evaluate your strategy.

Setting up everything you need and making your product go live takes minutes. Besides that, AWS platforms use intelligent software to scale your computing resources and meet the changing demands without affecting up-times.

Efficiency

Time and tide wait for none, but you can turn the odds in your favor using your money and time efficiently. AWS lets you purchase resources on-demand with an opportunity to scale anytime. So, you need not invest heavily in the early stages and scale up as efficiently as possible.

Besides, cloud platforms look after the IT and security-related complexities for you, so you don’t have to worry about it nor have to spend on hiring IT and security resources to look after the on-premise resources otherwise.

Safety & Recovery

Cloud vendors like AWS, Microsoft Azure, Google, and other popular platforms have data centers across the regions, so you’re not confined to a single server or data center. So, providing backups and substitutes is yet another win for AWS. Consequently, your infrastructure and data are always immune to any mishap. 

Focus on your Product

AWS takes away much of the hard work of scaling & managing servers. It lets you focus on your business, marketing website, product & customer experience.

Managed PHP App Hosting Services

Do you not want to manage any infrastructure? Do you want a push-to-deploy option so that you can focus on application development?

Managed services and platform providers that abstract most of the management for you are available. These services are great for startups and teams that do not have the time or resources to focus on provisioning and scaling out infrastructure. They also come with automated deployment options as well.

Popular Managed PHP Platform Providers

Host Web Apps in AWS

AWS provides many different web hosting options in its ecosystem.

You can use their services directly or as a managed provider through partner programs. The application can deploy directly into a traditional EC2 instance or cloud-native in a Kubernetes cluster.

We enjoy using & deploying PHP web applications into the AWS environment. There are many benefits to using this cloud provider because of its market dominance. On the other hand, it can be fairly complicated to get onboarded and work in the ecosystem. I recommend finding an experienced partner or AWS architect to help you understand the landscape.

I’d also like to point out that AWS isn’t the only PHP cloud hosting option. Azure, GCP, & Digital Ocean are also really great options. We’ve written an in-depth guide to help you navigate your cloud options.

Click here to read our PHP Cloud Hosting Guide

Latest AWS News

Deploy a Monorepo in App Runner: AWS New Repository Support

AWS announces new feature to deploy a monorepo into App Runner. This is a positive development & step in the platform system.

Automate MSK Topics to S3 Data Lake: New AWS Delivery Service

Automate data transfer from Kafka topics into data lake via AWS MSK, S3 & Kinesis. New managed data delivery service announced.

AWS App Runner Default Auto-Scaling Configurations + Versions

AWS App Runner now supports Auto-Scaling default configurations with versions. This update will improve managing environments.

AWS CodePipeline + Gitlab: Deploy Apps into the Cloud

You can now deploy your web apps into AWS with Gitlab using CodePipeline. This is a new repository source that opens more opportunities.

Did you find this article helpful?

Join the best weekly newsletter where I deliver content on building better web applications. I curate the best tips, strategies, news & resources to help you develop highly-scalable and results-driven applications.

Build Better Web Apps

I hope you're enjoying this article.

Get the best content on building better web apps delivered to you.