AWS App Runner
AWS App Runner is a managed container service for the cloud. Its principal use cases are web applications and APIs. Like its cousins, DigitalOcean App Platform, Heroku, or Google Cloud Run, AWS doesn’t want you worrying about scaling or infrastructure while using their service.
Behind the scenes, App Runner runs on Amazon ECS Cluster and Fargate to execute your containers. But you don’t need to know anything about either of those services to use App Runner.
App Runner Features
AWS has put a lot of effort into making things easy for developers, especially for small-scale projects that don’t need beefy infrastructure. It has:
Simple auto-scaling: instances are started and stopped as demand changes, between configurable min and max limits.
Load balancing: the service includes a transparent, non-configurable load balancer.
SSL enabled: you get HTTPS endpoints for all your applications with AWS-managed certificates. You don’t need to issue or renew certificates.
Build service: you can push your own images or let AWS build them for you from code.
Persistent URLs: the service assigns randomly-generated URLs for each environment. You can optionally map them to domains of your own.
App Runner can run in two modes. In build mode, AWS pulls code from GitHub and builds the application on every change. In container mode, it deploys Docker-compatible images from public or private AWS ECR registries.
How to Run your application with AWS App Runner
Apart from an AWS account, you’ll need a few things to configure a new service on AWS App Runner.
A Semaphore account to set up CI/CD.
The latest release of copilot, AWS official tool for managing containers. You’ll also need the AWS Command Line Interface.
Docker Desktop or the Docker CLI to build the first image.
Git and a GitHub account, which you will use to fork and clone this hello-world example repository.
Setting up a new App Runner application is a three-step process:
1.Initialize the application.
2.Create production environment.
3.Build and push the image to ECR.
The obvious benefits of AWS App Runner are ease of use, fully managed operations, budget-scaling with traffic, built-in CloudWatch, and time savings. With App Runner, you only pay for the time it takes to build and deploy, and that time can be modulated with built-in controls that can be set according to a company’s budget constraints. However, scalability is limited by traffic requests. For example, at the moment, neither CPU nor memory utilization can be increased, and that is a big limitation for some customers.
AWS App Runner a fast, simple, and cost-effective fully managed service for developers and operations teams.
Because it is a fully managed container-native service, there are no orchestrators to configure, build pipelines to set up, load balancers to optimize, or Transport Layer Security (TLS) certificates to rotate. A developer can use App Runner to simplify deploying a new version of the code or image repository. For operations teams, it 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. App Runner is a more portable solution. You can move your application from App Runner to any other container service.
App Runner is great alternative when you need more control on your serverless runtime and application.