AWS Architecture for backend to edge locations?

4/8/2019

I currently have a react web app that is globally distributed via AWS cloudfront.

I want to know how to architect a server and DB so that they are also globally distributed. Bonus for as serverless as possible

My thoughts and knowledge right now are aligned with the following:

1) You should turn your server into a docker image and run it with a container management solution like kubernetes or AWS Fargate. This way it's serverless and you could deploy the cluster to different regions.

2) The DB is the bottleneck. If you pick a relational DB even like Aurora compatible PostgreSQL you have no way to distribute the DB over AWS Regions. Even if you did you cloud only do a read copy. Should I just forget about relational data as globally distributed or should I pick another DB product from AWS?

-- Jon Vogel
amazon-web-services
docker
kubernetes
serverless

1 Answer

4/8/2019

1.) Use API GW + Lambda deployed to multiple regions (IMHO it is more serverless than opsless Kubernetes/Fargate, but not all apps are serverless friendly). Use Route 53 with latency routing policy, so user will be routed to the region with the best latency.

2.) Aurora has also Global version (only MySQL) - https://aws.amazon.com/rds/aurora/global-database/

-- Jan Garaj
Source: StackOverflow