Thanks for the kind words!

To answer your questions:

1: Currently, you would indeed need to have one master in one region, but you could have RDS read replicas in other regions. With Amazon RDS, you can create a MySQL, PostgreSQL, or MariaDB Read Replica in a different AWS Region than the source DB instance. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn

You can also do multi-master with Aurora (in preview only) within one region https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-multi-master/ and we have announced multi-master multi-region for Aurora for 2018 — which should solve the last piece of the puzzle.

You can read more about that in my previous blog post in this series: https://read.acloud.guru/why-and-how-do-we-build-a-multi-region-active-active-architecture-6d81acb7d208

2: Deploying a lot of services is always the one thing that is tricky… but I personally like splitting things into micro-services — and if I would add 30 lambdas to handle my 30 APIs — my template would just be longer :) I would also use AWS X-ray to help me debug. As for Express, check out this project: https://github.com/awslabs/aws-serverless-express this might help you get started.

Hope it help — let me know if you have more questions.

-Adrian

Principal Technical Evangelist, Architecture @awscloud ☁️ I break stuff .. mostly. Opinions here are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store