Businesses today rely on secure, reliable data storage to host and operate their applications. Although there are advantages to self-managing VM-based databases in the cloud or running databases with containers/Kubernetes, these advantages often come with the trade-off of high management overhead.
Most businesses don’t have the resources to configure, manage, back-up, and scale databases, or don’t want to allocate what resources they have to database tasks. Consequently, many rely on cloud service providers’ managed database services, whether in the public cloud or a hybrid cloud environment.
These managed database services, also known as databases as a service (DBaaS), eliminate the need to worry about manually building, configuring, managing, or backing up databases. For many organizations, the costs associated with DBaaS are more than justified, as their teams can focus on building more profitable applications instead of keeping up with database infrastructure.
In this article, we’ll break down the managed database services offered by the leading cloud service providers, Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP), along with key considerations for what might be best for your business.
Different options for running and managing your databases
Before diving into a comparison of cloud providers’ managed service offerings, let’s briefly outline the different options for running and managing your databases and why you might choose one over another.
Self-managed databases with virtual machines
Running self-managed databases on virtual machines is where the user is completely responsible for building, scaling, securing, and managing the database. This can provide a lot of flexibility and control, and is generally a less expensive option. However, it also entails a lot of work, and usually requires dedicated resources to do properly.
Running databases with containers/Kubernetes
Running a database with containers—and most commonly, with Kubernetes—provides some added benefits in terms of the automation provided to keep the database running, as well as the portability to migrate databases across cloud and on-premises environments. However, it’s important to keep in mind the ephemeral nature of containers, so if you decide to go this route, the possibility of database application restarts or failovers is higher. In addition, due to the added abstractions that come with containerization, running databases on Kubernetes can increase the complexity of your network configuration and other administrative tasks around backups, security, scaling, tuning, etc.
For testing and development environments, containers can be a good option for running your databases, but for production environments with strict performance requirements, you might want to consider alternatives. We recommend checking out this helpful article from Google with key considerations before getting started with databases on Kubernetes.
Fully managed databases
With fully managed databases as a service, the cloud service provider takes care of configuring, managing, scaling, and backing up your databases. This is a huge lift off the customer’s shoulders in terms of management overhead and workload, which enables teams to focus on higher-value-added tasks and projects. However, fully managed databases can be more expensive and don’t provide as much control in terms of database configuration or where the data is located. Additionally, choosing from one cloud service provider could lead to vendor lock-in, in which the ability to migrate your database from one cloud environment to another is either not possible or very difficult.
Managed database services are much the same across cloud service providers
In the same way that there’s little to choose between AWS, Azure, and GCP with regards to their compute, container, and serverless offerings, the big three cloud providers’ managed database services are very similar to each other. All three providers offer managed databases as a service with public cloud, hybrid cloud, and on-premises options.
Furthermore, while each cloud provider tends to prioritize their own cloud-specific database services—which typically integrate better with their other cloud-specific services—all three support database services such as MongoDB or Cassandra that are suitable for use in multi-cloud environments and provide excellent services for businesses to easily migrate existing databases to the cloud.
The table below provides an overview of the different managed database services offered by AWS, Azure, and GCP.
|Managed Relational Database as a Service
With Serverless Options
|Amazon RDS||SQL Managed Instances||Cloud SQL|
|No SQL Database as a Service||Amazon DynamoDB||Azure Cosmos DB||Cloud Bigtable|
|In-Memory Database Services||Amazon ElastiCache||Azure Cache for Redis||Memorystore|
|Document Database Services||DocumentDB||Azure Cosmos DB||Filestore|
|Data Warehouse Services||Amazon Redshift||Azure Synapse||BigQuery|
|Data Analysis Services||Amazon Athena||Azure Synapse||BigQuery|
|Ledger Services||Amazon QLDB||Azure Workbench||Cloud Spanner|
|Graph Database Services||Amazon Neptune||Neo4j (Azure Partner)||Cloud Bigtable|
Any differences among these three cloud providers tend to be in the packaging of the services, rather than in capabilities. For example, Azure Synapse can perform the same tasks as Amazon Redshift, Amazon Elastic MapReduce (EMR), and Amazon Athena, but if you only want to use Azure Synapse as a data warehousing substitute for Amazon EMR, that’s all you’ll pay for.
Similarly, Google’s Cloud Spanner service can be configured to combine the structure of Amazon RDS with the non-relational horizontal scale of AWS DynamoDB and the transaction verification capabilities of Amazon QLDB for gaming projects. But if you only want to use the service for verifying transactions in the same way as Amazon QLBD verifies transactions, that’s all you will pay for.
Comparing costs for managed database services
One final consideration with regards to managed database services is cost. Taking advantage of a managed database service can be twice as expensive as self-managed databases—or more if you choose multi-availability zone redundancy. Therefore, even small variations in database pricing can make a significant difference on your monthly cloud bill.
In most cases, there is little to choose between AWS and Azure pricing for like-for-like managed database services, but Google recently announced it was removing the sustained use benefit from its database services and reducing on-demand pricing for managed database services to the equivalent of the previous price with the full sustained use discount.
This will benefit businesses that do not take advantage of the three cloud service providers’ committed use programs, and able to switch providers easily. However, as many businesses do take advantage of committed use programs to reduce the cost of managed database services, it’s worth comparing differences among the three cloud service providers.
- With AWS, it’s possible to achieve discounts of up to 60% with all-upfront, three-year, standard AWS RDS Reserved Instances. However, it’s important to be aware that managed database services do not qualify for AWS Savings Plans.
- Azure offers different percentage discounts against the compute costs of different database types. However, although the average discount available for Azure managed database services is only 36% (or up to 80% with Hybrid Benefit), no prepayment is required.
- Google Cloud’s recent changes to its managed database pricing structure means you can now get discounts of up to 52% compared to the revised on-demand pricing for a three-year commitment. Unlike Azure, the discounts can be applied to both compute and memory utilization.
AWS vs Azure vs GCP: Which managed database service is right for you?
Leveraging your cloud service providers’ managed database services can be extremely effective in reducing the work required to manage and secure your data. Which cloud provider you choose is largely based on your organization’s current cloud strategy and workloads—and it doesn’t need to be limited to one.
AWS, Azure, and GCP all offer solid services depending on your needs, so you can mix offerings to benefit from different providers’ unique services.
For example, you might opt to use Azure database services if you are:
- Operating in a Microsoft-based hybrid environment
- Migrating an existing database to the cloud
- Focused on privacy and adhering to compliance
You might opt to use AWS database services if you are:
- Already using other AWS services
- In need of high-performance and reliability
- Looking for the broadest range of options
You might opt to use Google Cloud database services if you are:
- Attaching a database to a microservices architecture
- In need of high performance for your workloads
- Looking for a user-friendly solution
Other key considerations include pricing, the third-party services your business uses, legal and compliance requirements, and more.
For even more information about how each of the leading cloud service providers compare, see our complete guide: Comparing Services For The Big Three Cloud Providers