To all those developers , who are always on the edge trying to test their code as quickly as possible, AWS has recently launched a new container deployment service that is fully managed service that makes it super easy to deploy containerized web applications and APIs, at scale and with no prior infrastructure experience required. App Runner connects directly to your code or image repository. It provides an automatic integration and delivery pipeline with fully managed operations, high performance, scalability, and security.

Who is App Runner for?

If you’re a developer, you can use App Runner to simplify the process of deploying a new version of your code or image repository.

For operations teams, App Runner enables automatic deployments each time a commit is pushed to the code repository or a new container image version is pushed to the image repository.

Create an App Runner service

These are the main steps you take to create a service:

  1. Configure your source code.
  2. Configure source deployment.
  3. Configure application build.
  4. Configure your service.
  5. Review and confirm.

The following diagram outlines the steps for creating an App Runner service:

1. Configure your source code.

Open the App Runner console, and in the Regions list, select your AWS Region. Choose Create an App Runner service.

  1. On the source and deployment page, in the Source section, for Repository type, choose Source code repository.
  2. Under Connect to GitHub choose Add new, and then, if prompted, provide your GitHub credentials.

Note :- The following steps to install the AWS Connector for GitHub to your GitHub account are one-time steps. You can reuse the connection for creating multiple App Runner services based on repositories in this account. When you have an existing connection, choose it and skip to repository selection.

3. In the Install AWS Connector for GitHub dialog box, if prompted, choose your GitHub account name.

4. If prompted to authorize the AWS Connector for GitHub, choose Authorize AWS Connections. Choose Install.

5. Your account name appears as the selected GitHub account/organization. You can now choose a repository in your account.

6. For Repository, choose the example repository you created, python-hello. For Branch, choose the default branch name of your repository (for example, main).

7. Configure your deployments: In the Deployment settings section, choose Automatic, and then choose Next.

Note :- With automatic deployment, each new commit to your repository automatically deploys a new version of your service.

2. Configure Application Build

On the Configure build page, for Configuration file, choose Configure all settings here.

  1. Provide the following build settings:
  • Runtime — Choose Python 3.
  • Build command — Enter pip install -r requirements.txt.
  • Start command — Enter python
  • Port — Enter 8080.

2. Choose Next

2. Configure your Service

On the Configure service page, in the Service settings section, enter a service name.

  1. Under Environment variables, add a single environment variable. For Key, enter NAME, and for Value, enter any name (for example, your first name).

2. We can also set the more advance features like Automatic scaling, Health check, Security & Tags for our service .

3. On the Review and create page, verify all the details you’ve entered, and then choose Create and deploy.

  1. If the service is successfully created, the console shows the service dashboard, with a Service overview of the new service.
  2. Verify that your service is running.
  3. On the service dashboard page, wait until the service Status is Running.
  4. Choose the Default domain value — it’s the URL to the website of your service.
  5. A webpage displays: Hello, your name!


App Runner provides a cost-effective way to run your application. You only pay for resources that your App Runner service consumes. Your service scales down to fewer compute instances when request traffic is slower. You have control over scalability settings: the lowest and highest number of provisioned instances, and the highest load an instance handles.