How to build and run scalable, secure & containerized Web Applications in minutes using AWS App Runner (Part 1)?

Reading Time: 7 minutes

Developing apps is where you build value, not manage how they’re delivered. Rather than wrestling/bickering infrastructure, why not just write your code and leave the rest to someone else? Over time, cloud providers have made this process progressively easier. AWS may have just made a significant jump for many of its customers with the launch of App Runner.

Launched in May 2021, AWS App Runner is a managed container service for the cloud. It is principally used for web applications and APIs. It’s like DigitalOcean App Platform, Heroku, or Google Cloud Run, AWS doesn’t want you worrying about scaling or infrastructure while using their service.

Refer to part 2 of the blog here to see the full demonstration of how to deploy a scalable and secure web application in minutes using AWS App Runner.

In this blog, we will cover:

  • What is AWS App Runner?
  • How does it work?
  • Benefits of AWS App Runner
  • Common Use cases
  • Features of AWS App Runner
  • Comparing App Runner with other containers
  • Pricing
  • AWS App Runner partners
  • Hands-on
  • Conclusion

What is AWS App Runner?

AWS App Runner is a fully managed service that allows developers to easily build and deploy containerized web applications and APIs at scale while requiring no prior infrastructure knowledge. Starting with your source code or a container image is a good place to start. App Runner develops and deploys the web application automatically, as well as loads and balances traffic with encryption. App Runner also automatically scales up or down to meet your traffic requirements. Instead of worrying about servers or scaling, you can concentrate on your applications with App Runner.



App Runner can retrieve your container image from Amazon Elastic Container Registry (Amazon ECR), or your source code from GitHub.

In the following diagram, there are two example services: one deploys a source image from Amazon Elastic Container Registry (Amazon ECR), and the other deploys source code from GitHub.

What is AWS App Runner?

Monitoring applications managed by AWS App Runner is important to ensure that they are secure and perform as expected so that you have configured the App Runner service appropriately. AWS AppRunner is backed by AWS Fargate, App Runner which enables it to automatically scale application containers to ensure availability and performance without needing to worry about provisioning additional infrastructure.

How does it work?

When it comes to configuring App Runner, you have two options: container registry or source code repository. When you choose the container registry, you can choose a private or public image from the Amazon Elastic Container Registry (ECR).

AWS App Runner

Benefits of AWS App Runner

Benefits of AWS App Runner

Easy to use: You can design and run secure web-scale applications in just a few clicks with App Runner, as you don’t need to have any prior container or infrastructure experience. No initial understanding of server configuration, networking, load balancing, or deployment pipelines is required.

Scales with traffic: App Runner ensures running web-scale apps with high availability is simple and cost-effective. To avoid cold starts and ensure persistent low latency, App Runner easily scales up resources in response to your traffic, then automatically scales down to your chosen number of provided container instances.

Saves time: AWS manages App Runner’s resources and infrastructure components, ensuring that they follow our security and operational best practices. This allows you to stay focused on your application while meeting your infrastructure and regulatory obligations.

Common Use cases

Microservices and APIs: App Runner allows you to run thousands of microservices at the same time. This allows you to scale any component of your app as needed, resulting in enhanced agility and innovation. Loose coupling also reduces application resiliency threats.

Rapid production deployments: For deploying and executing containerized web apps at scale, App Runner makes use of AWS best practices and technologies. As a result, your time to market for new apps and features is drastically reduced.

Frontend and backend web applications: Build and run API services, backend web services, websites, and more using App Runner. Container images, as well as runtimes and web frameworks such as Node.js and Python, are supported by App Runner.

Features of AWS App Runner

Automatic Deployments: When you connect App Runner to your code repository or container image registry, App Runner can build and deploy your application automatically whenever your source code or container image is updated.

Auto Scaling: App Runner automatically scales the number of containers up or down to fit the needs of your application, which is enabled by default. 

Load Balancing: App Runner automatically balances traffic to ensure that your applications are reliable and available.

Features of AWS App Runner

Certificate Management: App Runner comes with fully managed TLS that requires no configuration. Before the certificates expire, App Runner renews them automatically.

Logs & Metrics: App Runner provides extensive development, deployment, and runtime logs, making it simple to monitor and optimize your containerized apps. With built-in Amazon CloudWatch integration, you can get a comprehensive set of compute metrics.

Cost Management: Using the console, CLI, or API, you can easily pause and resume your App Runner applications. You’re only charged while the service is running.

Comparing App Runner with other Containers

AWS App Runner doesn’t lock you in the Amazon ecosystem, as compared to AWS Lambda as its generated images will work with all cloud providers. With App Runner, you’ll have more resources to work with. You can use up to 4 GB of memory and 2 vCPUs. There are no request time limits.

Comparing App Runner with other Containers

App Runner is a lot easier to get into when compared to others, but you also lose some of the more fine-grained setup choices. App Runner’s cost estimation is also much easier because AWS charges a constant CPU and Memory fee per second. Containers, like all other services, are only available for a limited time. Connect your containers to S3, DynamoDB, or AWS RDS to add persistence.

You can scale to Amazon EKS when you need more advanced features like combining multiple containers or networking.

You can’t scale App Runner instances down to zero, as you can do it in Google Cloud Run. You’ll be charged for at least one instance while the service is operational. However, you can interrupt the service at any moment to avoid being charged.

Pricing of AWS App Runner

Your program is charged for the compute and memory resources it consumes. You will be charged for additional App Runner features like building your deployment from source code or automating your deployments.

Pricing of AWS App Runner

You can set a maximum limit on the number of active container instances your application uses so that costs do not exceed your budget.

AWS App Runner Partners 

App Runner integrates with MongoDB, Datadog, and HashiCorp, among others. Here’s an idea of what they’ve been up to:

MongoDB –  App Runner is now integrated with MongoDB Atlas, allowing developers to take advantage of the global, cloud-native database service’s scalability and performance for their App Runner apps.

HashiCorp – With HashiCorp Terraform and AWS App Runner integrated, developers can deploy production cloud applications faster and easier, with less infrastructure to configure and manage.

Datadog – Customers may now deploy and scale their web applications easily from a container image or source code repository using AWS App Runner. Customers can now monitor their App Runner metrics, logs, and events in order to diagnose issues quickly and establish the appropriate resource and scaling settings for their app with the new integration.

Pulumi, Logz.io, and Sysdig have all integrated with AWS App Runner, allowing clients to use the tools and services they already know and trust. Trek10, as an AWS Consulting Partner, can assist businesses with cloud-native architecture design using App Runner.

Conclusion

In this blog,  we have discussed Amazon AppRunner as a that makes it easy for developers to quickly deploy containerized web applications, at scale and without having prior infrastructure experience. We have discussed its benefits, features, how it works, use cases & pricing. It is great to see that Amazon has released a service with simplicity as a focus and with built-in DevOps!

As it is a just-launched service, so too early to say more about it, but if you have a web app use case, it has the potential to be the default approach in the future! We will demonstrate web application use cases with step-by-step demonstrations in our upcoming blog. Stay tuned to keep getting all updates about our upcoming new blogs on AWS and relevant technologies.

Meanwhile …

Keep Exploring -> Keep Learning -> Keep Mastering

This blog is part of our effort toward building a knowledgeable and kick-ass tech community. At Workfall, we strive to provide the best tech and pay opportunities to AWS-certified talents. If you’re looking to work with global clients and build kick-ass products while making big bucks doing so, give it a shot at workfall.com/partner today.

Back To Top