First thoughts on AWS App Runner

Laurent Bel
Pernod Ricard Tech
Published in
3 min readMay 20, 2021

--

AWS App Runner has just been announced a couple of days ago as I’m writing this article. Let’s try to analyze what is good and what could be improved.

Announcement of AWS App Runner: https://aws.amazon.com/blogs/containers/introducing-aws-app-runner/

If you are not familiar with AWS App Runner, I strongly recommend you to watch the above video, as it will give you a pretty good idea about what this is about.

Finally something simple to run Applications

I always found that AWS was missing something simple to deploy applications. Something meant to be used by lazy developers (like I am) that do not want to deal with: networks, firewalls, load balancing, SSL certificates, …

In other words something truly and natively designed for developers. If you look at other cloud providers like Azure or GCP, that have such an offer. On Azure for instance, my preferred service, as a developer, is Azure App Services. I can deploy my applications, containerized or not, super easily without worrying about pretty much anything else than my code.

However on AWS, I would typically use ECS (Elastic Container Service) and Fargate. But, the whole setup would take me a lot of time.

But here comes AWS App Runner!

What we love about AWS App Runner

AWS App Runner will remove a lot of pain points that we would had to go through previously. Here is the list of things AWS App Runner will take care of for you:

  1. Network
    You no longer have to think about your VPC
  2. Load balancing
    No need to create an ALB (Application Load Balancer) and configure it.
  3. Target Group
    No need to tell your ALB which backend to reach.
  4. Auto scaling
    App Runner will make it super simple for you.
  5. Health check
    Oh yeah! Tell me you never spent an hour trying to figure out what this bloody health check was failing miserably after the grace period…
  6. SSL
    It is enabled by default. And you can setup a custom domain shall you need one.
  7. Security groups
    No longer needed to open port 443 to the outside world and make sure your ALB can reach whatever port (eg: 8080) you use to expose your application.
  8. Task definition
    If you are using ECS / Fargate, you would have to create one, and sub sequent versions, cause you never get it right the first time (at least I don’t).

In the end, configuring all this would probably take you one hour at least. And even if you use Infra as Code like Terraform to do all that, you would still deploy so many components, to simply expose a basic application.

Things we would like to see soon!

Ok, before I start, I need to state that I love AWS and I seriously find AWS App Runner awesome. So take what is going to follow as a wish list, which I’m sure is already identified by the team in charge of AWS App Runner. I do not mean to be criticizing this first version of this great product.

  1. Docker Hub (and other registry)
    If you choose container deployment, the only supported registry is Amazon ECR (private and public). We are missing Docker Hub, Quay, …
  2. Other Source Code Management
    Github is supported, that’s a good start. But it would be nice to have Gitlab, Bitbucket, … and generaly speaking any Git based SCM.
  3. Additional Runtimes
    Python and node.js are supported. But it would be nice to have Java, .NET, PHP, Ruby, …
  4. Volume persistence
    Storage is ephemeral and cannot be mounted against a persistent storage like EFS (Elastic File System).
  5. Docker compose
    Docker is great, but Docker compose support would be even better.
  6. Database connectivity through private endpoint
    What if you need to connect to a database hosted on RDS. How can your backend access the database without exposing the port publicly over the internet.
  7. Integrated CDN
    It would be nice to benefit from CloudFront natively and in a transparent manner. The service could then become usable for static web app hosting as well.

Do not hesitate to comment if you have other ideas for nice features! I’m certainly missing some.

Conclusion

I’m really looking forward for the new features to go live on that service. It is a very good start! Congrats to the team for launching this, it clearly contributes to the PaaS offering in that segment.

--

--

Laurent Bel
Pernod Ricard Tech

Leading the IT Architecture & Innovation team at Pernod Ricard. Interested in IT technology in general.