Can App Runner support an architecture where one system depends on many systems?

0

Background is that I am aiming:

  • to hypothetically work with 10+ servers/backend API systems that have high traffic
  • towards as serverless as possible
  • for container-based solutions (for reasons of moving systems)
  • where (hypothetically) one of those backend systems depends on the other 10+ systems/services.

I looked at many different AWS solutions such as Elastic Beanstalk, ECS with Fargate, and App Runner. From what I read, Elastic Beanstalk doesn’t work well with an architecture topology with many dependencies between systems.

Question: Can App Runner be used in a situation where you have a private API system that depends on many other API systems as described above?

An excellent related AWS video: AWS re:Invent 2022 - A close look at AWS Fargate and AWS App Runner CON406

profile picture
asked a year ago341 views
2 Answers
1
Accepted Answer

Hi @FinneyCanHelp, You can very well use App Runner for this usecase, there is no direct way of defining dependencies between services both in ECS or App Runner. But you can use environment variables to specify the downstream/dependent URL's which can get used by the source service to invoke these services.

The team has recently introduced support for private services that allows you to keep the service private and route the traffic within VPC, please refer to these blogs for more details:

Let us know if you have any further questions regarding this. Thanks

AWS
Hari
answered a year ago
  • Thank you for your thorough and thoughtful response. If I have further questions, I will do as you suggest. Thanks so much!

0

Hi, @FinneyCanHelp.

I think you can use App Runner.

First, Elastic Beanstalk is not an option if you want to go serverless.

You can also adopt App Runner with ECS on Fargate.

App Runner is more AWS managed than ECS on Fargate. And it's easy to get started.
This is also mentioned in session CON406.

However, you may face limitations if you want to achieve complex requirements.
App Runner is essentially a public service that runs outside of your VPC.
Therefore, I think that I will make full use of VPC Connector and VPC Endpoint to access private APIs.

I think ECS on Fargate is a good choice if you want to manage flexible orchestrations and microservices, or if you have a lot of traffic and want control over autoscaling and his WAF.

profile picture
EXPERT
iwasa
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions