Direct naar content

 
Databases in the Cloud

More and more companies are rolling into the public cloud. It is a consideration to separate their database and still maintain freedom and avoid cloud lock-in.

Martijn Wallet

Principal DBA Consultant
Ellert van Koperen

All your data is ours

Today it is very common to build in AWS, Microsoft Azure, or Google Cloud Platform, and host a database of your choice there. There are plenty of companies migrating their databases to the cloud, PostgreSQL, Cassandra, Oracle, or Microsoft SQL Server.

However, the trend is accelerating, and that is worrisome regarding lock-in awareness.

In an effort to make the cloud easier for customers, the largest cloud vendors have developed their own database services. AWS has RDS, Aurora (fastest growing product in AWS history), DynamoDB, and more. Microsoft has Azure DocumentDB and Azure SQL Database. Google, not lagging behind, has Cloud BigTable, Cloud Datastore, and Cloud SQL.

Yes indeed, these are helpful services. But, they are probably exactly not where you want to go if you want to avoid vendor lock-in.

Disconnect your data from your infrastructure

This thought crossed my mind while reading an article about MongoDB’s new database service, Atlas. While the company promotes Atlas as a better way to run the popular NoSQL database, perhaps its biggest advantage is vendor lock-in, or lack thereof.

Although the major public clouds are based on open source, they have perhaps the largest amount of proprietary software in history. This gets worse given the direction cloud vendors are going in building more and more services, so there never has to be a reason to leave.

data, most valuable element

The problem is most acute regarding the database. Why? Because the database has the most inertia. It is the element most difficult to move because of its real-time status. It is the most fixed and persistent element in the stack, and at the same time is the most valuable element, the data itself.

Once your data is in Azure DocumentDB, it’s (very) hard to get it out when you want to move to AWS, for example. You’re stuck with it.

And that’s not because Microsoft (or AWS or Google) is bad. Not at all. It’s just because the gravity holding your data there is just really strong.

As the cost and complexity of multiple clouds grow, there may be good reasons to keep that strength of flexibility:

  • Maybe Azure has better accessibility in China, so you use AWS everywhere except China where you have a copy of your data in Azure;
  • Maybe you find Google Cloud Platform pricing attractive for your backup storage, but prefer AWS for your primary data;
  • Maybe you grow so fast that it makes more sense to use on-premises, then move to your own data center.

Database platform most important technological choice!

To combat lock-in, and in general, it can be said that the database platform is one of the most important, technological choices. It is a choice that you have to make fundamentally and not simply change. For that reason alone, it may be smartest to keep the database independent of the underlying infrastructure. The big cloud vendors may not like it, but it gives your conscience peace of mind.

Route to effective database management?

We live in a world that is increasingly data-driven. Good management of your data platform (in the cloud) is therefore becoming increasingly crucial. A good database expert knows exactly how the latest tooling works, is comfortable with both open source and licensed database environments, and finds solving complex database puzzles a joy.

But what is the route to effective database management? To provide some guidance, we’ve written a white paper on the subject. Download our white paper here.

Also read the blog below from our partner SeveralNines highlighting the strengths and weaknesses of Amazon RDS:

https://severalnines.com/blog/mysql-cloud-pros-and-cons-amazon-rds