Deploy Your First Web App with AWS App Runner: Fully Managed & Container-Ready



This content originally appeared on DEV Community and was authored by Parimal

Table of Contents

  • What is AWS App Runner?
  • Why Use App Runner?
  • When to Use App Runner
  • Pre-requisites
  • Deployment Guide
  • Observability & Scaling
  • Pricing Overview
  • Pros & Limitations
  • Final Thoughts
  • Further Reading

What is AWS App Runner?

AWS App Runner is a fully managed service that makes it easy to deploy containerized applications from your source code or container image. You don’t need to manage servers, orchestration, or scaling logic—App Runner handles it all.

Whether your app lives in a GitHub repo or a container registry (like Amazon ECR), App Runner can automatically build and deploy it, scaling up and down as needed.

Why Use App Runner?

Compared to traditional services like EC2, ECS, or even Lambda, App Runner offers:

  • 🛠 Zero infrastructure management – No need to manage VPCs, load balancers, or clusters
  • 🚀 Quick deployments – Deploy from GitHub or ECR in a few steps
  • 📈 Auto-scaling – Automatically handles traffic spikes
  • 🔁 CI/CD support – Automatic redeploys on every code change (when using GitHub)

It’s especially useful when you need to move fast with a minimal setup.

When to Use App Runner

✅ Perfect for:

  • You want to deploy containerized apps but don’t want to manage ECS or Kubernetes
  • You need rapid prototyping or dev environments
  • You’re building web APIs or frontend services
  • You prefer GitHub-to-production workflows with minimal infrastructure fuss

Pre-requisites

Before we begin, make sure you have:

  • [ ] An AWS account
  • [ ] A public GitHub repository with a working web app and Dockerfile OR A container image in Amazon ECR (Elastic Container Registry)
  • [ ] Basic knowledge of Docker and containers

Deployment Guide

🚀 Deploying a Sample App with App Runner (Using GitHub)

Let’s deploy a simple Node.js or Python Flask app (you can use any stack really) via GitHub:

Sample Application: GitHub Repository

Step 1: Open AWS App Runner Console

AWS App Runner Console Dashboard

Step 2: Create Service

Create App Runner Service

  • Click “Create service”
  • Choose “Source code repository”
  • Select GitHub and connect your account
  • Pick your repository and branch

Step 3: Configure Build & Deploy

Configure Build & Deploy Settings

  • Select “Runtime” based on your application
  • Select Build command and Start command based on your application
  • Set port (e.g., 5000 for Flask, 3000 for Node.js)
  • (Optional) Add environment variables if needed

Step 4: Service Settings

App Runner Service Settings

  • Set service name
  • Choose CPU and memory settings
  • Auto scaling
  • Observability

Step 5: Deploy!

  • Review and click “Create & deploy”
  • Wait for App Runner to build and deploy your app
  • Once deployed, you’ll get a public HTTPS URL 🎉

App Runner Deployment Success

Observability & Scaling

App Runner provides:

  • Integrated CloudWatch Logs
  • Health checks
  • Auto-scaling based on requests per second
  • Metrics like CPU, memory usage, and request counts

You can monitor your app without additional tooling.

Pricing Overview

💸 App Runner charges based on:

  • Compute time (vCPU + memory usage)
  • Requests served

Example: A small app with light traffic will cost only a few dollars a month. There’s even a free tier!

For details: App Runner pricing

Pros & Limitations

👍 Pros

  • No infrastructure setup
  • Auto SSL and HTTPS
  • Integrated CI/CD
  • Fast and developer-friendly

👎 Limitations

  • Limited to HTTP apps (not suitable for background jobs)
  • No fine-grained networking control (compared to ECS/VPC)
  • Limited AWS region support

Final Thoughts

AWS App Runner is a great fit for teams that want to focus on writing code, not managing infrastructure. Whether you’re spinning up a side project, internal tool, or even small production service, it gets you from GitHub to live URL in minutes.

It’s not a one-size-fits-all solution (you’ll want ECS or Kubernetes for complex workflows), but for many use cases, it’s just right.

Further Reading

Made with ❤ for the developer community

Found this helpful? Give it a ⭐ and share with your fellow developers!


This content originally appeared on DEV Community and was authored by Parimal