Are you looking for container hosting with AWS App Runner? This article continues our series on hosting PHP web applications on AWS. You can see our full list of AWS cloud hosting options for PHP. We will be reviewing App Runner today.
Table of Contents
What is AWS App Runner
App Runner is a new AWS service offered to compete with the platform services such as Heroku, GCP Cloud Run, and Azure Container Apps. It’s used to deploy a containerized web application to the cloud in minutes with built-in auto-scaling, load balancing, monitoring, secrets management, and more.
And I’m loving it for small projects and startups.
Web app developers can finally deploy and host their apps on AWS with fewer infrastructure headaches, configurations, and more. This allows you to allocate your resources to invest better in the product, customers, and business.
I have been waiting for a service like this from AWS for a long time. There just is little business value when worrying about underlying infrastructure requirements such as load-balancing, autoscaling, VPCs, and networking.
Especially as a startup. You need to be agile and deliver quickly without accruing high costs which AWS hadn’t really ever done well unless you built your app their way on Amplify.
Which also meant usually learning a whole new programming paradigm that didn’t make sense to do.
What does AWS App Runner Cost for Hosting
You only pay for actively used CPU resources at $0.064 / hr per CPU and all provisioned ram usage at $0.007 / hr. This translates into approximately $18-24 a month for a small startup Laravel web app that uses 2 CPUs & 3 GB of RAM actively at 8-10 hours a day.
- Active CPU usage: $0.064 / hr / CPU
- provisioned RAM: $0.007 / hr / GB
- 10k requests / month Laravel app: $18-30 / month
- 100k requests / month Laravel app: $200-$310 / month
- 1M Requests / month Laravel app: $716 / month
Does App Runner offer a Free Tier
No. AWS does not technically offer a completely free tier for App Runner but does allow you to get very close because of its performance pricing. Most brand-new startups testing MVPs and proof of concepts get very minimal traffic with 2-3 hours max a day which should only equal to $5-10 per month.
AWS App Runner is a powerful balance between affordability and security. It’s an easy-to-use orchestration service that runs your applications on a production scale, allowing you to save time and money. AWS App Runner covers the cost of provisioning, monitoring, scaling, and supporting your apps. The pricing is based on the resource utilization of each application over CPU, RAM and execution time — enabling you to get reliable performance at a low cost. As an added bonus, when your app Spike’s usage it can scale up so you don’t have to worry about managing an unexpected increase in demand.
AWS App Runner vs Heroku App Hosting Comparison
Heroku is an excellent comparison for AWS App Runner as both are powerful tools for deploying and running web application containers without worrying about infrastructure. Heroku is a much more mature and feature-rich service but I still recommend App Runner. The total cost will be significantly lower and you will be able to take advantage of the full suite of services that AWS offers. Heroku just cannot compete with the AWS juggernaut.
Price Comparison of AWS App Runner vs Heroku Dynos
- Heroku uses a pricing model based on dynos, which are the containers that run your application. Prices start at $25 per month for the hobby dyno, which includes 512 MB of memory and 1x CPU, and go up to $500 per month for the performance-l dyno, which includes 14 GB of memory and 4x CPU.
- Heroku offers a free hobby dyno for basic application hosting. This includes 512 MB of memory and 1x CPU, as well as basic monitoring and logging features. AWS App Runner does not currently offer a free tier.
- The cost of 1 million requests will depend on a variety of factors, such as the size and complexity of your application, as well as the resources you have allocated to it. However, as a rough estimate, 1 million requests could cost you between $100 and $1000 with AWS App Runner, and between $250 and $2500 with Heroku.
Why Choose Heroku over App Runner
- The Heroku platform as a service is much more mature and feature-rich
- Heroku offers a complete free-tier for your container apps
Why Choose AWS App Runner Over Heroku to Host My Container App
- Significantly cheaper total lifetime cost. Heroku costs are notoriously high as you grow in any significant traffic.
- No future required app migrations. Due to the service and cost constraints, You will likely need to eventually migrate away from Heroku
- Integrates seamlessly with AWS services such as S3, RDS, Cognito, and more
Using AWS App Runner vs Google Cloud Run for Container App Hosting
Choosing between AWS App Runner or Google Cloud Run for deploying your container apps is difficult because they are very comparable services. The deciding factor when choosing probably won’t be on this service but on the auxiliary cloud services. Both services scale really well, are easy to use and are relatively priced the same. Select the service based on your cloud preference.
Price Comparison of AWS App Runner vs Google Cloud Run
- GCP Cloud Run uses a pricing model based on the number of CPU and memory resources you allocate to your application. Prices start at $0.40 per vCPU per hour for the smallest configuration and go up to $2.40 per vCPU per hour for the largest configuration.
- GCP Cloud Run offers a free tier for new users, which includes a total of 2 million invocations and 400 vCPU-seconds per month. AWS App Runner does not currently offer a free tier.
- The cost of 1 million requests will depend on a variety of factors, such as the size and complexity of your application, as well as the resources you have allocated to it. However, as a rough estimate, 1 million requests could cost you between $400 and $2400 with GCP Cloud Run .
Choosing GCP Cloud Run Over AWS App Runner
- Integrate with other Google Cloud services. If you prefer or already using GCP services such as Cloud Pub/Sub and Cloud Firestore then it makes sense.
- GCP Cloud Run offers a free tier for new users, which includes a total of 2 million invocations and 400 vCPU-seconds per month. This can be a great option for developers who are just getting started or for testing purposes.
AWS App Runner vs Azure Containers: which is better?
Azure Container Apps & AWS App Runner are comparable services, but we believe Azure Containers are leading AWS at the moment with simple app container deployments. Azure is much more mature and feature-rich. You get more customization in container apps for autoscaling, sizes, integrations, etc and your costs can be much lower in Azure at the moment.
Choosing Azure Containers over AWS App Runner
Azure Containers integrates with other Azure services, such as Azure Kubernetes Service (AKS) and Azure Functions, which can be useful if you are already using these services in your application.
Backed by Microsoft. Microsoft is one of the most mature and successful software companies in the world at this point. They have a strong track record of support and delivering value for services.
Capabilities and Customization. AWS App Runner is a little lackluster in terms of customization when compared to Azure Containers. You have a lot of options and configurations to help with autoscaling, integrations and more in Azure Containers that you do not get with AWS App Runner.
Choosing AWS App Runner vs Heroku, GCP Cloud Run and Azure Containers
- AWS App Runner integrates with other AWS services, such as Amazon RDS for database management, which can be useful if you are already using these services in your application.
- AWS is slightly cheaper when your application scales to significantly higher workloads
- AWS is the largest cloud provider. Working with the leader offers many strong benefits in terms of available services, data centers, and scalability.
Can you scale AWS App Runner to 0
No, you cannot currently scale AWS App Runner to 0. You must maintain at least 1 provisioned instance at this time. But, it is important to know that provisioned instances are priced much lower than active instances. Provisioned instances do help with warm-up time. There is a current request in the roadmap to scale to 0
Deploy Your Laravel PHP App into AWS App Runner
Deploying your Laravel app into Amazon Web Services App Runner couldn’t be easier. You can use the intuitive interface to easily set up your Laravel application and ensure it is running securely and reliably in no time at all. With complete control of settings through AWS Console, you have the ability to fine-tune the performance and scalability of your Laravel app with just a few clicks. Whether you are a novice or an experienced Laravel engineer, deploying with AWS App Runner gives you the power to launch within minutes and experience world-class deployment speed and quality.
Using AWS App Runner for Your Web Application Container
AWS App Runner is an excellent service for small or startup development teams who really want to take advantage of all the services and power of AWS without the infrastructure headache. It is a really good service to get your app up and working. It also scales really well and allows you to switch to the more powerful services as you grow since it’s built on Elastic Container Service.
Would I recommend it over other cloud and platform service offerings such as Heroku, GCP App Runner, or Azure App Service for startups or small apps?
Probably not.. unless you are wanting to use other AWS services.
Azure, GCP and Heroku all lead AWS App Runner in maturity and features. AWS is putting a lot of resources into the service but it still lacks much of the configuration and features that the other environments provide out of the box. It does have some catching up to do.
On the other hand, It does excel at what it claims to do and what AWS has lacked for a very long time. AWS has many additional really great services that developers use but currently host elsewhere because of a lack of a simple app hosting service. If you enjoy AWS services but really hate the annoying configurations and infrastructure complexity then App Runner will be a great resource for you.
Managing PHP Applications in AWS
This article is part of our series to make AWS easy. We love AWS but let’s be real. It is complicated. Like way too complicated. We’ve created this learning path to help level you up and get your PHP app onboarded fast.
- AWS PHP Website & Application Hosting Options
- Deploy Laravel to Elastic Beanstalk using GitHub Actions
- Deploy Laravel from Github to Elastic Beanstalk via CodePipeline
- Install LAMP Stack on AWS EC2
- Install AWS SDK for PHP
- Host and Deploy a Laravel PHP App to AWS Elastic Beanstalk
- AWS App Runner Review
- Setup & Use AWS Parameter Store in PHP
- How to use AWS Secrets Manager with PHP
- PHP & AWS S3