Trying to figure out which cloud service provider to choose for your open source database migration? When switching from a commercial, on-premise database to open source 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
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.
Pros
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.
High availability
For instance, with relational databases, the AWS RDS service offers the capability to launch multi-availability zone instances to support mission critical databases.
Full control
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.
Dynamic scaling
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.
Database authentication
With AWS, you can implement strong authentication using AWS Identity and Access Management (IAM) with both PostgreSQL and MySQL.
Cons
Limited access
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.
Microsoft Azure
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.
Pros
Highly scalable
Easily add resources, or add elastic scalability to databases to ensure smooth scaling.
Highly available
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.
Cons
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).
Google Cloud
Cloud SQL is a fully managed database service that allows you to set up, maintain, manage, and administer your relational PostgreSQL and MySQL databases.
Pros
Highly available
Cloud SQL can utilise a high availability configuration for PostgreSQL and MySQL databases.
Scalable
Easily scalable if your workloads increase.
Cons
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.
On Premise
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.
Pros
Full control
You have full control of your database and the underlying database platform.
Network configuration
There is no dependency on setting up a virtual private network in the cloud and connecting your existing systems to the cloud databases.
Existing hardware
You can leverage capacity in your existing infrastructure to provision an open source database.
Network latency
Migrating between database platforms on premise removes the need to perform a complex cloud migration project.
Data security
You have complete control over your data security, as data is not stored or transmitted to a third party.
Cons
Maintenance and support
On premise open source databases still require effort to setup and run.
Scalability
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.