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.

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