There are two things in the software engineering world that happen very fast and can be hard to track. The first one is a release of yet another JavaScript framework. The second one is the moment when some core component or tool of your platform becomes obsolete.
In October 2023, Oracle MySQL version 5.7 long-term support period ended. No wonder, taking into account this version was released back in 2015 and 8 years of LTS(long-term support) is rather generous. On the Amazon RDS side, this period was extended until February 2024.
Starting from March 2024, MySQL 5.7 on Amazon RDS falls under the “Extended Support” terms. What does it mean for you?
What is Amazon RDS Extended Support?
It’s a known fact SQL flavors differ between the database vendors. But the truth is, each version of DB/DBMS may have specific tools and language features. Those version specifics are not always backward-compatible, meaning simply upgrading the version of the database may break the application or cause a data loss without a proper migration. Combined with complex stored procedures, and tools developed around a specific version of the database, upgrading a database can become a challenging task.
To help with this, AWS RDS provides a mechanism called “AWS RDS Extended Support” which allows to postpone the automated upgrade of the DB major version up to 3 years from the EOL(end-of-life) date. Of course, such offering adds some overhead on the AWS side, including maintenance, security upgrades, etc. Thus “AWS RDS Extended Support” is a paid offering.
In the normal situation, major upgrades is a normal part of software project planning. So is intentionally not doing an upgrade and using the extended EOL offering to postpone the upgrade by agreeing to this particular cost. The worst situation is when the upgrading/not upgrading is not a planned decision, but a subject of negligence.
How much does Amazon RDS Extended Support Cost?
The best way to estimate the cost of Amazon RDS Extended Support is to use the AWS Pricing Calculator. To do so, open the calculator and click the “Add service” button: Enter “Amazon RDS” in the search prompt and select the needed product, for example Amazon RDS for MySQL and click “Configure”: Configure your current/desired configuration based on required number of nodes, performance and storage size. We’ll be using the pre-selected db.m1.large instance with a Multi-AZ deployment. It results in the following calculations:
Now let’s proceed to the “Extended Support” section and check how does using an outdated version of the database will affect the billing. With a 720 hours / month of Extended Support for db.m1.large the following calculation will be applied:
In other words, staying with the outdated version of the database will result in 85% price increase for the first two years. Let’s check the calculation for the year 3:
This means on the third year of the Extended Support, the price increase will be 171%! In a case if this was some “launch and forget” tool vs a conscious decision to postpone the upgrade, price increase is dramatic.
How to prevent surprises with Amazon RDS Extended Support?
First of all, be sure not to miss official AWS announcement and AWS account notifications about database version support. Those notifications come well in advance. Additionally, I recommend doing the following:
- Once such notification comes in, create a corresponding task in your project management tool and assign it the responsible team member.
- Just in case, create an event with a planned migration start date in your calendar.
- In general, be sure to include planning of upgrades into your project planning and strategic planning events.
What should you if your Amazon RDS database version will reach the extended support soon?
To properly deal with the upcoming EOL of your database engine version planning is the key. First, decide on the planned approach:
- Upgrading the application and the database engine version without enrolling into the Amazon RDS Extended Support period.
- Upgrading the application and database engine version during the Amazon RDS Extended Support period.
- Decommissioning of the database
To properly decide which option to use, first, evaluate the effort required to migrate affected applications to the new database engine version. In a case if it’s a third-party tool, most likely it’s documentation already includes a migration path. In most of the cases, it’s a combination of data backup and installing the next version of the tool. For the code you own, you’ll need to work with the team to understand the required migration effort.
I don’t have software engineers in the team. How to upgrade the Amazon RDS database and my application?
Don’t panic, we are there for you! Feel free to reach out to us and we’ll be able to help you with the migration. We can have a free discovery session to understand what’s involved in the migration and what would be the best course of action. Please use the link below to schedule your free consultation. AgileVision is the official Amazon Web Services partner and we’ll be happy to help.
Final thoughts
Sometimes such necessary upgrades can become a surprise if for some reason corresponding notifications from the cloud provider were missed. But such surprises are part of a bigger challenge every software project faces - so called “technical debt”. Taking care of the technical debt on the regular basis reduces chances of unpleasant surprises. Sometimes investing time and money into supporting your product vs investing directly into features end-customers will use might seem a waste of time.
Unfortunately, it’s too easy to miss the difference between the nice-to-have improvement vs a technical issue which can affect the whole system at some point if not handled in time. Always listen to your engineers and do not ignore the technical debt, it can’t disappear and can only grow if not handled!