Can RDS worsen an outage ?? That’s another way to think about this question. In my experience, it very clearly increases outages, by tying one or both hands behind your back. Believe me, when I say, that is terribly frustrating when you’re putting out fires!
Downsides of Upgrading RDS
There are several downsides to upgrading RDS. Here are they:
1. Changing Database Parameters
An everyday occurrence is the need to change database parameters. Want to enable a login, great no problem. Except in RDS, it becomes a problem! Ok, you’re thinking, why is that?
In regular MySQL, you log in with the shell & issue SET GLOBAL parameter = value; Nice, easy, straightforward. No servers restarting, no-nonsense. If the parameter requires a reboot, MySQL will tell you.
In RDS, the process is waay more complex. First, you edit a parameter group. You can copy an existing one, or change the one you’re using. If that parameter group applies to many servers, be careful!
Ok, what next? Now you APPLY that new parameter group. You can do so immediately, or during the next maintenance window. Here’s the tricky part. Is Amazon going to restart my instance? That’s something your boss or manager will surely ask you.
Well, you might think it would only do so if the parameter in question required it. But I tried to enable the general log recently and Amazon tells me the status of “pending-reboot”. This change shouldn’t require that! I’m sitting there scared Amazon might suddenly decide to reboot a production server for no reason!
This is where you feel you’ve lost control. You can dig through docs all you want, but you can’t ever say for sure if a managed service will behave predictably. There are already more layers of software between you and your relational database. Not what you want.
2. How Much Longer the Maintenance Will Take?
Another question you’ll ask yourself is, how long will this maintenance take? With MySQL at the command line, you can run through test after test & time the process. When you go to perform tasks off-hours, you already have a clear picture.
With RDS, things can’t be predicted. Servers are restarted when they needn’t be. Rebuilds take forever, and you have no progress bar. EBS performance has a hiccup and your snapshot time doubles. The troubles go on and on.
3. Why Did Amazon Just Force an OS Upgrade?
Here’s another surprise I ran into. Again, we have a managed solution, so Amazon must take opportunities when they can. But you pay for it in unpredictability.
Going to perform a MySQL 5.1 to 5.5 upgrade, and I’d run through test after test in advance. Timed the process to about 45 minutes. Then went to do it in production. Amazon decided to throw in the OS upgrade too, adding 40 minutes of surprise time. What’s worse? No progress bar on that either.
Upgrades are nerve-wracking enough, without this kind of stuff scaring the daylights out of you.
4. What’s Happening on My Server?
All of the questions about progress are opaque on RDS because you lack a command line. You can’t watch processes, disk I/O, or any of the granular stuff. In my surgery analogy below, it’s as though you can’t touch the patient, find their pulse, or gauge if their skin is cold, clammy, or pale.
5. Surgery With Blunt Instruments
At the end of the day, RDS feels like surgery with blunt instruments. If the command line were your scalpel, windows & GUI tools may be your remote video surgery. And worse still, RDS would be like doing surgery on the Opportunity Mars rover, after it’s landed & stuck in a valley. Everything is delayed, it’s hard to tell what’s going on, and the worst environment to work in when you have an emergency with your database.
If you have any operations experience, deploy your own MySQL on an EC2 instance. You’ll thank yourself later.
Upside to RDS
Is there any upside? Why do people use it? Push-button replication. Check. Push-button multi-az, check. Those are great if you have no DBA. Automated backups so you don’t shoot yourself in the foot, check.
Frequently Asked Questions (FAQs)
What Is One of The Disadvantages of Going With RDS?
One of the biggest disadvantages of going with RDS is its limited control. With RDS, you won’t have root access to the underlying infrastructure and the OS.
Does RDS Upgrade Cause Downtime?
Yes, RDS upgrades require downtime. However, there is a chance that you can minimize the downtime required for DB instance upgrade by using a blue/green deployment.
What Is the Advantage of RDS Database Over Traditional Database In AWS?
With Amazon RDS, you can easily encrypt your databases using AWS Key Management Service (KMS). Data at rest in the underlying storage, as well as automated backups, read replicas, and snapshots are encrypted when running an Amazon RDS-encrypted database instance.
All the negative sides to upgrading RDS including the plus points are described in this guide and we hope now you’ve understood why is upgrading RDS like a shot-storm that will never end after reading this. If you have anything to share regarding this topic, feel free to leave them in our comment section below. Thanks for reading!