Getting Started with Cloud Databases
What are cloud databases, why should we use them, how much does it cost and who offers them?
This article covers some basic information about moving your databases to the cloud and things to know.
What is a Database in the Cloud?
The concept is simple. The database management system will be stored on servers provided by a company like Microsoft, Amazon, or another cloud computing vendor. It is a service you pay for depending on how many resources you utilize such as compute, storage, and IO. This also allows you to focus more on the data management and application aspects and less on the infrastructure.
Why should I use Database Solutions in the Cloud?
In the past, companies have purchased servers for on-premises deployment and installed the database engine on these servers. Database administrators are usually in charge of the DBMS and system administrators are in charge of maintaining the hardware and the status of the server. There are sometimes other people involved such as security administrators, storage administrators, and network administrators. And in some cases, one person does it all. With the ability to utilize the cloud for databases, a lot of these things change and it can be much cheaper and faster to get up and running with a cloud provider, but costs can become quite large depending on the use of the cloud infrastructure, so this needs to be managed.
Here are some things the cloud offers:
- Quick provisioning of new database environments on-demand with smart automation and numerous configurations.
- Power redundancy to eliminate power outage issues.
- Lower entry costs to get a new database up and running with high performance.
- Ease of adding or reducing resources such as storage, compute, memory, etc. to properly support your workload.
- Hardware maintenance and patching is completed for you.
- Many options for disaster recovery, high availability and replication to minimize downtime.
- Many options scalability and data storage.
- Periodic snapshots of your entire system for a complete rollback.
- Ability to use multiple data centers to stay online and failover.
- Ability to select data centers based on geography.
- Need for less specialized people such as database administrators, security administrators, storage administrators, and network administrators.
- Access to the latest versions of operating systems and database systems.
- Access to other cloud-native apps that complement and optimize the database.
- And many more reasons.
What Cloud Services Exist?
The most well-known database cloud services are Amazon Web Services, Microsoft Azure, Google Cloud Platform, and Oracle Cloud.
Amazon Web Services
Amazon Web Services (AWS) offers options like:
- Amazon Aurora
- Amazon RDS (Relational Database Service) with managed services
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon Keyspaces
- Amazon MemoryDB for Redis
- Amazon Neptune
- Amazon Quantum Ledger Database
- Amazon Timestream
- Amazon DocumentDB
- and more.
Microsoft offers database products like:
- Azure SQL Database
- Azure SQL Managed Instances
- SQL Server on Azure Virtual Machines
- Azure Database for PostgreSQL
- Cosmos DB
- Azure Cache for Redis
- Azure Database Migration Service
- Azure Managed Instance for Apache Cassandra
- and more.
Oracle also offer many database options like:
- Virtual Machines
- Big data services
- Oracle Database Classic Cloud Service
- NoSQL Database Cloud Service
- MySQL HeatWave Database Services
- and more.
Google Cloud Platform
Google offers items such as:
- Cloud SQL
- SQL Server Database, MySQL, PostreSQL
- AlloyDB for PostgreSQL, Bre Metal Solution for Oracle
- Big Query
- Cloud Bigtable
- Firebase Realtime Database
- Redis Enterprise Cloud
- and more.
Besides the four providers listed above, there are also the following options:
- Alibaba Cloud
- HUAWEI CLOUD
- and others.
Which Environment is Cheaper: Cloud or On-premises?
In the cloud, you have a somewhat predictable cost per month that may go up or down depending on usage. The more storage, compute and memory you need, the more cost you will have. For on-premises, the costs are more fixed from month to month, but the initial expenditure can be quite large. In addition, to get more resources in the cloud it can be small incremental costs versus on-premises you will need to pay a lot more for to add additional resources.
Which is Cheaper: AWS, Azure, Google, or Oracle?
It is hard to compare costs because each platform provides different options. Here is an article that provides more details about this topic: Cloud Pricing Comparison: AWS vs. Azure vs. Google vs. Oracle vs Google Cloud Platform in 2022.
There are several Azure options for databases.
First, we have Azure SQL Database which is basically a database to store data. This is useful for applications and web pages. You do not need to install a server in the cloud. You can just create and configure a database for your needs. For more information, please refer to this tutorial: SQL Azure Create Database Tutorial. Please refer to this link for pricing information: Azure SQL Database Pricing.
Second, we have the Azure SQL Managed Instance. Sometimes, we do not only need the database, but we need other SQL Server features like querying between different databases and using the SQL Agent. Here is an article that explains Azure SQL Managed Instances: Introduction to Azure SQL Database Managed Instances. Please refer to this link for more information about pricing: Azure SQL Managed Instance Pricing.
Third, you can have SQL Server installed on a virtual machine stored in Azure. If you have a local machine with a virtual server, you could migrate your entire virtual server to Azure. Also, you could create your virtual machine from scratch. To learn more about virtual machines, please refer to this link: Azure VM Deployment Best Practices. For more information about pricing, please refer to this link: Windows Virtual Machines Pricing.
There are also several options to run databases on AWS including AWS RDS and Virtual Machines to run databases. Below are several helpful links when working on AWS.
AWS uses Identity and Access Management (IAM), for more information refer to this link: Introduction to AWS Identity and Access Management (IAM). It is also important to implement the security Hub, here is how: AWS Security Hub User Guide - AWS Foundational Security Best Practices Standard. In AWS, it is very important to use SSL for your connections, the following tutorial will help you with that task: Enforce SSL for connecting to AWS RDS Instance of SQL Server. If you need to configure Windows Authentication, please refer to this link: How to Configure Amazon RDS SQL Server for Windows Authentication.
Here is an introduction to AWS: Introduction to the Amazon Relational Database Service. To launch SQL Server on Amazon EC2, please refer to this link: Launch SQL Server instances on AMAZON EC2.
Here are articles related to running SQL Server Databases in AWS:
- Running SQL Server Databases in the Amazon Cloud (Part 1)
- Running SQL Server Databases in the Amazon Cloud - RDS Limitations (Part 2)
- Running SQL Server Databases in the Amazon Cloud - RDS Backup and Restore (Part 3)
- Running SQL Server Databases in the Amazon Cloud - RDS Performance Monitoring (Part 4)
If you need to build an Enterprise environment, refer to this link: How to build an Enterprise Environment in AWS for SQL Server. To build an RDS environment, refer to this link: How to build an Enterprise Environment in AWS for SQL Server.
Things to Know
The following article reflects some of the AWS service quotas.
Here are some articles related to estimating costs for AWS:
- Estimate AWS RDS Cost for SQL Server
- AWS Cloud Costs and Usage Report
- How to Save Costs on Non-Production SQL Server RDS Instances
- Reduce AWS Costs for SQL Server Storage, Compute and Database as a Service
Ongoing Management and Maintenance
Here are other articles that can help with your AWS deployments:
- Troubleshoot Slow RDS SQL Servers with Performance Insights.
- SQL Server Performance Monitoring in AWS - Getting Started.
- Create a SQL Server Performance Monitor Custom Dashboard in AWS.
- Restore SQL Server database backup to an AWS RDS Instance of SQL Server
For more information, refer to these links:
- Configure Cloud Witness for Windows Server 2016 Failover Clusters
- Snowflake vs Azure SQL Database
- SQL Server in The Cloud: High Availability and Disaster Recovery in Azure, AWS and Google
- Using Azure Databricks to Query Azure SQL Database
About the author
View all my tips
Article Last Updated: 2022-09-20