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
已提問 1 年前檢視次數 373 次
2 個答案
1
已接受的答案

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
已回答 1 年前
  • 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
專家
iwasa
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南