At the recent AWS re:Invent event, Amazon announced new features and capabilities to its managed Relational Database Service (RDS). In addition to expanding the portfolio of supported databases to MariaDB, AWS introduced a set of tools that makes migration to the cloud less complicated.
MariaDB, a drop-in replacement for MySQL
MariaDB is a fork of MySQL, the popular open source database extensively used by developers targeting the Linux, Apache, and PHP stack. Concerned with the implications of Oracle’s acquisition of MySQL, the original developers forked to maintain a parallel version that remains free under the GNU GPL license.
MariaDB is considered to be a drop-in replacement for MySQL with the same capabilities. The drivers, libraries, and client tools maintain high compatibility with MySQL to take advantage of its vast ecosystem. Until version 5.5, even the versioning scheme followed the same scheme as MySQL; after 5.6, the developers of MariaDB decided to start a branch numbered 10.
MySQL is the first database that Amazon offered under the RDS brand. Having gone live in 2009, the service got enhanced to support read-replicas, multi-availability zone deployments, and other features.
With the base foundation in place, implementing MariaDB on RDS was not difficult for AWS teams. The current implementation supports the latest version (10.10.17) of MariaDB.
During the initial release, RDS will support popular features of MariaDB such as parallel replication and thread pooling. Standard RDS features such as read-replicas, multi-AZ deployments, provisioned IOPS, and VPC are also supported. The pricing structure is almost similar to the MySQL offering.
Amazon is constantly looking at adding popular choices to its managed stack. RDS already supports MySQL, Oracle, Microsoft SQL, PostgreSQL, and Amazon’s database engine called Aurora. MariaDB will attract developers who are running LAMP applications but are looking for an alternative to MySQL. This move from Amazon makes RDS one of the most comprehensive database platforms available in the public cloud market.
AWS Database Migration Service
Amazon announced a new service called AWS Database Migration Service that simplifies migrating database workloads to Amazon RDS. While using the service, the source database remains fully functional and available to clients. The service can be used to perform homogeneous database migrations or heterogeneous migrations across different databases.
For example, this service can be used to migrate one version of Oracle database to another, or migrate MySQL to Aurora. Amazon claims that the code running within the database also gets migrated. Complex parts of stored procedures that cannot be automatically migrated will be marked for manual intervention.
The service supports either one-time replication of data or continuous replication. Databases deployed on Amazon EC2 or customer data centers can be configured to continually replicate the changes to a different database running within Amazon RDS.
The following flavors are supported as source databases:
- SQL Server
- Amazon Aurora
Supported target databases include:
- Amazon Aurora
- SQL Server
- Amazon Redshift
For the service to function properly, either the source or the destination databases need to run in EC2 or RDS.
The migration tool includes a schema conversion tool that can transform the source database schema, code, views, stored procedures, and functions to a compatible format of the target database. This tool can be used to find the most compatible RDS engine. The database migration assessment process suggests the right design patterns for implementing the features of the source database engine that may not have direct equivalents in the target engine.
Amazon charges customers based on the database migration instance type. Similar to RDS, the cumulative charges include instance hourly cost, storage cost, and outbound data transfer fee.
The service is available in preview in the US-EAST region.
The widening gap between Amazon and its cloud competitors
Amazon is leaving no stone unturned to move database workloads to its cloud platform. MariaDB support and the introduction of the migration tools is a step towards attracting a new set of customers. Both of these features make AWS one of the first cloud platforms to support a comprehensive RDS. The competition is lagging behind in matching these capabilities. Microsoft Azure supports MySQL through a third-party vendor called ClearDB, and Google Cloud SQL has many limitations when compared to Amazon RDS.
With every new service and feature, the gap between AWS and its closest competitors is widening.