Replatforming backend databases - AWS Prescriptive Guidance

Replatforming backend databases

The approach for replatforming backend databases is different for COTS and in-house applications. This is because the source code is typically only available for in-house applications. The following illustration shows the replatforming options available for your application's backend databases.


   Flowchart of available options for replatforming your application's backend
    databases.

The following sections explain the replatforming approaches for backend databases belonging to COTS or in-house applications.

Replatforming backend databases for COTS applications

We recommend that you use an Aurora database if your COTS application supports open-source databases. Using an open-source database helps reduce licensing costs, and you can also use tools such as AWS Schema Conversion Tool (AWS SCT) and AWS Database Migration Service (AWS DMS) to achieve a cutover with minimal downtime during your migration.

If your COTS application doesn't support open-source databases, we recommend replatforming to a commercial database on Amazon Relational Database Service (Amazon RDS) such as Amazon RDS for Oracle or Amazon RDS for Microsoft SQL Server. You should evaluate the database features used by your application and make sure that they are supported in Amazon RDS before you begin your migration. For more information, see Limits for Microsoft SQL Server database instances in the Amazon RDS documentation.

You can also use your remaining database licensing and run self-managed commercial databases on EC2 instances. If you choose this approach, we recommend that you begin the license verification process with your database's vendor. After the license verification process is complete, you should design a self-managed database solution on Amazon EC2 for your application's required recovery time objective (RTO) or recovery point objective (RPO).

Finally, we recommend replatforming security-sensitive, high-performance COTS applications that use SQL Server databases to SQL Server running on Amazon EC2 Linux instances. For more information about this, see Migrating your on-premises SQL Server Windows workloads to Amazon EC2 Linux.

Replatforming backend databases for in-house applications

You can reduce your database licensing costs and increase scalability by replatforming your in-house application's backend databases to AWS managed databases (for example, Amazon RDS for PostgreSQL, Amazon RDS for MySQL, Aurora, or Amazon DynamoDB).

AWS managed databases help you reduce recurring administrative tasks for your databases (for example, performing backups or patching databases and OSs). If you use Amazon RDS Multi-AZ deployments, you can also increase your application’s availability by preventing outages from database hardware failures. Multi-AZ databases are continuously replicated to a different Availability Zone and the application transparently fails over to the replicated database during outages.

You can use AWS DMS and AWS SCT to convert commercial databases to Aurora and Amazon RDS. AWS SCT automates the database schema conversion process, and AWS DMS enables data replication from on-premises databases to Amazon RDS. AWS DMS also helps achieve a minimal downtime cutover when you migrate on-premises applications to the AWS Cloud.