I have to be honest, i wrote this article very quickly and i didn't include all the case scenarios :) I agree 100% with you, all the literature about microservice involve the "best/easy case scenario", nonetheless the reality in very different!

As an engineering i love to have everything technically perfect, as a head of development I MUST have balance between perfection, usability and speed to go to market.

Regarding the Write/Read my first suggestion would be to use a Read Replica instance that could be scaled across horizontally (for Read purpose). Depending on the configuration you can even select one of the read replica to be used for a certain scenario! (We did that in the past when we were not in AWS, and we didn't have the ability to spin up an EMR cluster or a RedShift Database).

Regarding the Analytics part I would strongly suggest to use an ETL tool and transform all your data in parquet file and use EMR + SPARK!

We use AWS DMS (Database Migration Service) to convert SQL to Parquet, and after that we are using AWS EMR Studio to read the parquet and do all the Analytics queries + ML/AI :)

You really unlock the power of your data when you're able to use that kind of technology, moreover it's very cheap, a decent cluster is around $1.2/hour.

Passionate about people management, effective coaching and IT development. Currently Head Of Development, Scrum Master, AWS Certified, Surfer.

Passionate about people management, effective coaching and IT development. Currently Head Of Development, Scrum Master, AWS Certified, Surfer.