Using Amazon RDS to Help A Client Achieve Higher Database Performance and Availability
- Gladys wairimu
- Apr 15, 2025
- 5 min read
In Todayâs Article:
đClientâs Key Challenges
đ¤Why Amazon RDS?
âď¸Create User Requirements
âď¸Architectural Design
âď¸Implementation:
đStep 1: Migrate the database to AWS cloudÂ
đStep 2: Create an RDS instance with Multi-AZ deploymentÂ
đStep 3: Configure a read replica
đŻResults and Benefits
đ¤Reflections & Lessons
Hi friends, welcome đ
This weekâs lab challenge plunged me into the world of databases. Today weâll take a peek into cloud database services, specifically, Amazon RDS. Iâll walk you through my clientâs challenges, the solution I implemented and key takeaways from doing this project. Letâs dive in!đ
đClientâs Key Challenges
My client runs an insurance company whose core operations run on an on-premises MySQL database server. However, he struggles with setting up, scaling and configuring his databases. Additionally, he is worried that if one part of his database fails, everything could go down.
Here is what he expressed:
"...however, managing and scaling this database infrastructure has become increasingly challenging. Setting up and maintaining our databases on physical servers is time consuming and resource-intensive, hindering our ability to focus on innovation⌠We require a solution to prevent the database from becoming a single point of failure and need read replicas to offload read-only transactions. Could you please help us to find a solution to manage our MySQL infrastructure?"
âď¸Create User Requirements
From the conversation with my client, I determined my client needs his MySQL database infrastructure to:
Be easy-to-manage with less operational overhead.
Simplify scaling.
Be easy to set up without relying on physical servers.
Easy to useÂ
Eliminate a single point of failure
Support read replicas to offload read-only transactions.Â
đ¤Why Amazon RDS?
Amazon RDS was a perfect solution for my client due to its diverse range of capabilities. Besides supporting MySQL engines, here are other features of RDS that directly addressed my clientâs challenges:Â
Fully managedâ RDS is a fully managed service. This means that AWS takes care of operational tasks like software patching, configuration, deployment and backing up allowing users to spend more time on innovation.Â
Automated backupsâ RDS automatically backs up transaction logs and databases in an S3 bucket for a user-specified time. Snapshots of your database are also stored in S3 until you explicitly delete them. This feature allows one to easily restore their database.Â
Easy to useâ provisioning and deploying an RDS instance is simple. One needs to only specify details like the database engine, storage capacity, etc. with just a few clicks.
Read replicasâ RDS provides up to 15 read replicas per primary database for many of its engines. This not only helps with scaling, but also provides a way to increase database performance by offloading read-heavy transactions.Â
High availabilityâ RDS allows one to create a standby instance in a different availability zone from the primary database. If the primary database fails, a standby copy helps with disaster recovery as it can be flawlessly promoted to serve as the primary database. Â
âď¸Architectural Design
I designed the following architecture to meet my clientâs needs.

Database migration to the cloud: AWS Database Migration Service can be used to move databases from on-premises locations to AWS cloud seamlessly and quickly.
Write operations: the primary database mainly processes write transactions.
Read operations: the read replica offloads read transactions from the primary database increasing the overall performance of the database infrastructure.
Disaster recovery: in case the primary database fails, the standby instance will be promoted to be the primary database with no manual intervention required.
Resume read/write operations: once the standby copy has assumed the role of the primary database, database processes can resume as normal.
âď¸Implementation
đStep 1: Migrate the database to AWS cloudÂ
Since my client did not want to deal with on-premises database servers anymore, I suggested using AWS Database Migration Service(DMS). DMS is a managed AWS service that migrates databases to AWS cloud with minimal downtime. When migrating databases, it continuously replicates databases by keeping the source and target databases in sync. This allows one to switch to the new database with minimal downtime.
Requirements met: Be easy to set up without relying on physical servers.
đStep 2: Create an RDS instance with Multi-AZ deployment
As my next step, I created an RDS instance from the Management Console. I configured the instance to include a standby copy located in a different availability zone from its primary database.Â

How this helps:Â creating a standby instance provides a failover strategy. If the primary one RDS instance fails, this can be promoted to be the new primary instance with little to no downtime. Additionally deploying the two databases in different availability zones ensures at least one of them remains operational if a disaster strikes in either one of the availability zones.Â
The image below shows the outcome of successfully creating an RDS instance and its standby,Â

Requirements met:Â
Easy to use
Be easy-to-manage with less operational overhead
Eliminate a single point of failure
đStep 3: Configure a read replica
Next, I created a read replica from the existing primary database. On the RDS console, I selected the Databases option from the left navigation pane. This shows me all the existing databases, which in our case is the primary database. I then proceeded to create a read replica from the Actions menu. I included the same configurations for the read replica as I did the primary database, except creating a standby copy of it.
How this helps:Â Â a read replica offloads read operations from the primary database and handles read-only queries, leaving the primary database to handle write operations. This means database transactions can be executed faster, especially for read-heavy operations. Ultimately, this improves the performance of a database.Â

Requirements met:
Easy to use
Be easy-to-manage with less operational overhead
Simplify scaling.
Support read replicas to offload read-only transactions.
â¨Results and Benefits
Below are potential quantifiable outcomes that could come from implementing the approach discussed here for my client.
99,99% uptime due to multi-AZ failover, ensuring the database remains available even if the primary database instance fails.Â
Up to 2x faster read queries  because read replicas handle read queries separately.
Better response time since application will experience lower latency due to read replicas.Â
Up to 50% data migration compared to manual database migration.
đ¤Reflections & Lessons & Challenges
Doing this lab challenge taught me some valuable lessons, some of which are:
Need for scaling strategy: while the architecture supports high availability, integrating AWS Auto Scaling for the database layer would optimize resource usage and optimize cost.
Balancing cost and performance: using on-demand instances vs. reserved instances and optimizing storage provisioning are key considerations.Â
Fine-tuning read replica strategy: while read-replicas improve performance, determining the right number is necessary to avoid unnecessary costs.Â
Challenges with lab environment: I couldnât fully utilize AWS DMS to migrate my clientâs database due to lab restrictions.Â
In this lab challenge, I explored how Amazon RDS can transform a clientâs database infrastructure by enhancing availability, performance, and ease of management. Through Multi-AZ deployment, read replicas, and automated backups via a standby copy, I provided a scalable and resilient solution tailored to my clientâs needs.Â
Have you used any cloud database services for your business/organization? Tell me more about that in the comments below.
Well, friends, until next timeâtoodooloos! đ



Comments