19

Similarities that I see are:

  1. They are PaaS offerings.
  2. They make AWS more similar to Heroku.
  3. They abstract away load balancing and auto scaling stuff.

The only difference that I see is that App Runner uses docker but Elastic beanstalk may not use it. Correct me if I am wrong, but seems like it is not a requirement to containerize your app first to be able to use it on App Runner as you can just supply the Github Url and App Runner will containerize it for you.

So what is the difference between the two and how do I make a decision to choose one over the other?

Ayush Shukla
  • 419
  • 1
  • 4
  • 10

2 Answers2

17

It depends. AWS App Runner (AR) is container based only. Not every application nor developer want to use containers, nor their application is suited for container deployments. AR also gives you very little control over your resources and operating system. Many application may require such control (e.g. gpu) Also AWS EB gives you much more control over your resources, including operating system.

Marcin
  • 215,873
  • 14
  • 235
  • 294
  • 1
    I don't have any problem with containerizing my app. AR lets me choose between 1 and 2 vCPUs. 2GB ram should be fine for me. I don't need GPU. I would need linux os. So I think I am still stuck. Might have to make a decision based on pricing or ease of use. – Ayush Shukla Aug 05 '21 at 15:27
  • @AyushShukla Sure. EB would be my choice as simply it gives me more control. You may not need it now, but in future you may need to change something that AR does not support. – Marcin Aug 05 '21 at 21:39
  • 1
    as of 2022-08-10, AWS App Runner is not container-based only, and now can also connect to github ( only, not gitlab or others, even codecommit ~ ) repos. – jimzcc Aug 09 '22 at 17:39
3

As Cloud Guru said that

Behind the scenes, the core of App Builder is that it builds an Amazon ECS Cluster and uses Fargate to execute your containers

So as you can see

  1. Elastic Beanstalk belonging to PaaS
  2. App Runner is serverless belonging to FaaS

Furthermore, App runner just works with Container only. So it really depends on what kind of your app is.

Nguyễn Văn Phong
  • 13,506
  • 17
  • 39
  • 56
  • 2
    I would not describe App Runner as FaaS because you *still* pay for the time that your application is idle, not just the time spent running the code ("function"). aws lambda is a FaaS. – Peter Schorn Feb 04 '23 at 17:12