AWS App Runner

Learn about the important concepts of App Runner, services, and autoscaling options.

AWS App Runner is a fully managed service provided by Amazon that allows developers to deploy web applications without having to worry about the infrastructure or other resources required to successfully deploy an application, such as EC2 instances and Elastic Containers. This service scales resources up or down for us based on the traffic needs.

Press + to interact

A service is created in App Runner, which includes the source code, configurations, and other permissions required to deploy a web application in the cloud. App Runner connects with our source code or image repository to deploy our applications. Currently, it supports GitHub and BitBucket to deploy applications using our source code or Amazon ECR public and private repositories to deploy our container images.

The CI/CD feature of App Runner detects changes made to the source code or image. App Runner automatically builds these changes when a change is detected and deploys a new version of our application. However, this feature is not available in case we’re using a public ECR repository, or a private repository available in some other AWS account as our source.

Press + to interact
App Runner workflow
App Runner workflow

Autoscaling in App Runner

App Runner automatically scales resources, such as the EC2 instances, up or down according to our application requirements. Through this feature, we can ensure our application handles incoming requests appropriately and reduces costs in case we face low incoming traffic. Following are some of the settings we can provide while configuring autoscaling configurations:

  • Maximum concurrency: This defines the number of requests our instances can process in parallel. If the number of incoming requests crosses this threshold, App Runner scales up our application by launching new resources.

  • Maximum size: This is the maximum number of EC2 instances that App Runner can launch for our application.

  • Minimum size: This is the minimum number of EC2 instances that must be provisioned at all times for our application.

Security in App Runner

AWS uses the shared responsibility model to secure the services we create using AWS App Runner. However, we can enhance this security by the following two methods:

  • Using web ACLs: We can use AWS WAF web access control lists to secure our App Runner service and control the incoming requests to our application.

Press + to interact
Using AWS WAF to control incoming traffic
Using AWS WAF to control incoming traffic
  • Enabling private endpoints: By default, the App Runner service is accessible over the internet. However, we can create a private service that is only accessible by resources inside a certain VPC by using AWS PrivateLink.

App Runner pricing

AWS App Runner follows the pay-as-go pricing model. We only pay for the compute and memory resources used by our application and since App Runner allows us to pause and start our application services according to our requirements, we are only billed while our application is running.

One thing to keep in mind is that a monthly fee is charged in case we use the automatic deployment feature, and if we are deploying an application from a source code, we need to pay for the amount of time APP Runner takes to build our application.

Get hands-on with 1300+ tech skills courses.