Trying to figure out which cloud service provider to choose for your cloud database migration? When switching from a commercial, on-premise database over to open source with either public or private cloud there are a number of cloud database migration options available.
Most cloud providers offer DBaaS across many of the common open source database engines such as MySQL, PostgreSQL, and MariaDB, plus non-relational databases like MongoDB and Redis. While creating, running, and managing a database with each cloud provider may be easy, migration takes a little more patience and setup.
We take a deeper look into migrating from commercial engines to AWS, Azure, and Google Cloud for open source database storage and operations – along with considerations for deploying to your own on premise private cloud environment.
Database migration can be a clever move – provided you review your current system, then choose the correct database type and provider to migrate to.
AWS offers most of the popular open source relational and NoSQL databases as fully managed database cloud services. There is a wide range of database platforms and options available, covering most enterprise database requirements.
Cloud database migration assistance
The AWS SCT (Schema Conversion Tool) helps to generate reports and suggest database changes required for smooth migration when migrating cross-engine.
Minimise migration downtime
Once you’ve converted, AWS’s Data Migration Service is an automated tool to help move your database/s to AWS while reducing downtime.
For instance, with relational databases, the AWS RDS service offers the capability to launch multi-availability zone instances to support mission critical databases.
With AWS, you can choose a fully managed database service, such as AWS RDS (supporting open source PostgreSQL, MySQL Community edition, and MariaDB) or deploy your open source databases (after conversion) on EC2 for complete control.
AWS cloud databases can be easily scaled to meet workload requirements.
AWS Aurora for MySQL and PostgreSQL
AWS Aurora is an AWS proprietary database specifically designed for compatibility with MySQL and PostgreSQL implementations, which you can roll over to should your performance needs increase.
With AWS, you can implement strong authentication using AWS Identity and Access Management (IAM) with both PostgreSQL and MySQL.
Access to managed RDS databases is limited to database connections only. Administrators are unable to connect directly to the back end database server. This may only suit certain types of applications; in others, if you want to migrate to the AWS cloud, you can convert to open source first, then host on EC2 instances.
May not cover all bases
Some extensions or features that you’re used to using may not be supported with managed AWS database services. Migration from source to target services isn’t always straightforward, depending on your source DB and target DB.
The second most popular cloud platform, Azure, also provides fully managed DBaaS. Azure Cloud can be used for both relational and NoSQL open source databases.
Easily add resources, or add elastic scalability to databases to ensure smooth scaling.
Azure relational database services are all backed by an industry-leading 99.99% availability SLA, or 99.995% for certain agreements.
Strong database authentication for PostgreSQL single server target implementations
Azure can use Active Directory for access management with Azure Database for PostgreSQL – single server.
Does not support commercial versions of open source databases
Azure supports only Community-edition PostgreSQL, MySQL, and MariaDB engines, unlike AWS.
Lack of migration assistance
The Azure database migration service provides only limited support for cloud database migration – and currently no support for commercial to open source implementations (besides their Migrate Oracle to Azure Database for PostgreSQL documentation and tooling).
Cloud SQL is a fully managed database service that allows you to set up, maintain, manage, and administer your relational PostgreSQL and MySQL databases.
Cloud SQL can utilise a high availability configuration for PostgreSQL and MySQL databases.
Easily scalable if your workloads increase.
No in-built migration tooling
Cloud SQL does not provide any conversion tool to generate reports and make changes for a smooth cloud database migration. Migration works via a traditional SQL dump, export, and import to migrate – hence it would be challenging to migrate bigger databases.
All the common open source databases can be deployed on premise on your private network. This can be a valid approach where there is an existing database platform and you are looking to introduce an open source database service offering.
You have full control of your database and the underlying database platform.
There is no dependency on setting up a virtual private network in the cloud and connecting your existing systems to the cloud databases.
You can leverage capacity in your existing infrastructure to provision an open source database.
Migrating between database platforms on premise removes the need to perform a complex cloud migration project.
You have complete control over your data security, as data is not stored or transmitted to a third party.
Maintenance and support
On premise open source databases still require effort to setup and run.
Increasing the scalability of open source databases typically requires additional infrastructure and adopting a scale out model with read replicas.
Database migration service
Limited or no access to cloud based database migration tools to minimise the downtime for cutover.
Rajat Dey has been helping organisations solve complex database management problems for over 15 years across a diverse range of customers and industries. Rajat is passionate about providing customers with the best solution to solve their complex data management problems.