AWS Aurora DB cluster Scaling

I came from world of Oracle technology stack where I worked a long time with Oracle RAC clusters on Linux/Exadata platforms until I stared to look at open source world on cloud infrastructure few years ago. Like many, I was thinking, what would it take me to build a scalable database storage platform always available and fault tolerant highly resilient to single point of failures on open cloud platform.

Though, AWS Aurora fits into some of the features mentioned above and able to scale up to 15 replicas, I often tend to ask the question myself, what is the point in using replicas when they cannot be load balanced to use maximum available compute. In my situation, for example I have 2 replicas and single master, however replicas rarely being used by application for off-loading reads wasting valuable compute resources, while master instance is over-whelmed with maximum peak load. I was excited when AWS announced multi-master Aurora cluster back in 2017 re-invent , but until now I don’t see that coming.

I asked AWS team about another option something similar to a query router when deployed, it routes read requests appropriately to replicas or slave instances. Today, our development team struggle to get it working through the app code and hard to manage routing traffic efficiently. I looked at another solution from a third party called ScaleArc to do the job. Below are few architectural diagrams I created and how it works

No alt text provided for this image

Current Setup

No alt text provided for this image

DB query router

No alt text provided for this image

DB query router in HA

Published by Sudheer Kondla

I am a software developer, devOps engineer, database and sys admin and software architect helping small to enterprise companies in many verticals. Have been in IT industry for more than 20+ years worked on very large platforms, dealing with battle tested software development, scaling, high availability , disaster recovery and fire-fighting scenarios.

Leave a comment

Design a site like this with WordPress.com
Get started