So you’re moving your workloads to the public cloud, and you’re considering your options. Do you switch gears and move forward with one of the new Database as a Service (DBaaS) offerings, or do you stick with a traditional database approach?
In this blog, we’ll discuss the pros and cons of both options, as well as go into the challenges you may face with running cloud-based databases. We’ll also cover how NetApp can help you meet those challenges with NetApp Cloud Volumes Service for AWS, Azure, and GCP, or Cloud Volumes ONTAP for AWS storage or for Azure storage.
This is the first entry of a series on databases in the cloud. Upcoming posts will focus more directly on specific databases types such as SQL in the cloud, Oracle, and other NoSQL databases such as Hadoop or MongoDB.
DBaaS Cloud Database vs. Traditional Databases
What are the big differences in cloud database vs. traditional database solutions? Traditional databases require companies to provision all of the underlying infrastructure and resources necessary to manage their databases on-premises with cloud-based technology. This makes them familiar territory for customers with on-premises operations. However, companies that are moving to the cloud may want to look into other options, such as Database as a Service (DBaaS).
What is Database as a Service (DBaaS)?
A DBaaS is a database cloud service that takes over the management of the underlying infrastructure and resources cloud databases require and allow companies to take advantage of services in the cloud. This can free up personnel to focus on other tasks, or allow smaller organizations to get started quickly without the need for several specialists. In many cases with a DBaaS you can quickly set up a database with a few clicks.
Running a cloud-based database makes it easy to grow your databases as your needs grow, in addition to scaling up or down on-demand to accommodate those peak-workload periods. You can also have peace of mind for any security and availability concerns as the cloud enables database replication across multiple geographical locations, in addition to several backup and recovery options.
And while there are many cloud providers that offer DBaaS, the market leaders are currently Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform. Each offers DBaaS in a variety of flavors (MySQL cloud database, Microsoft SQL Server, PostgreSQL, Oracle, and NoSQL databases such as Hadoop or MongoDB, etc.) such as the database as a service AWS offerings Amazon RDS and Amazon Aurora, Azure database as a services Azure Database for MySQL, Azure Database for PostgreSQL, Azure SQL Database, and GCP’s Cloud SQL. The cloud service providers also have database migration services to help you migrate your data to the cloud.
While this all sounds great, what are some other things to consider? Where might it make more sense to stick with traditional database structure in the cloud vs. a DBaaS offering?
Common Database Challenges in the Cloud
Yes, it’s getting easier and easier to run workloads in the cloud. It’s one of the biggest advantages of cloud database use. A DBaaS offers a great option for several reasons, but that being said, there are still several areas where you will need to consider what’s important to you before deciding if a DBaaS will fulfill your needs, or if you should stick with a traditional database deployment model.
Will you scale beyond the capacity DBaaS instances accommodate? The AWS DBaaS, Azure cloud databases, and others don’t offer unlimited database storage scalability. But enterprise-level databases need the ability to grow over time. Expansive storage is a requirement, not an option. There are ways to overcome these limits as with Cloud Volumes your database will be served with limitless storage, so your database always has room to grow.
Data Protection: Cloud Protection
There is always the question that many have asked: are cloud services secure? The answer is that they are secure as you make them. Cloud Volumes allows you to protect your data with point-in-time snapshot copies of your database, plus built-in high availability that makes sure you never miss strict RPO=0, RTO<60-second objectives.
Another consideration for running your databases in the cloud is how well they will perform. For a DBaaS, most of the underlying infrastructure responsibilities are taken care of for you by the cloud service provider. One thing that is still required is to understand what sort of storage performance you may need. In the public cloud, performance of your storage layer is often tied to how much capacity you provision.
This means that you often have to either over-provision your capacity in order to get the performance you require out of your database, or you have to opt for more expensive Provisioned Performance storage options. If your workloads have large performance spikes, this means that the storage you require for your DBaaS might increase your costs significantly.
By using NetApp Cloud Volumes for your database workload, you have more control. NetApp Cloud Volumes targets the excellent performance levels you expect for your database. The “Standard” performance level provides 1000 IOPS per TB (16k IO) and 16MB of throughput per TB, the “Premium” performance level provides 4000 IOPS per TB (16k IO) and 64MB of throughput per TB, and the “Extreme” performance level provides 8000 IOPS per TB (16k IO) and 128MB of throughput per TB.
Cloning a database is a common task, but how quick and agile that is can impact how expensive that task becomes.
In general, with a DBaaS clones of your cloud-based database are essentially full copies of your database, meaning that all of the underlying capacity for your database is duplicated (or more if you need more than one clone). Now, there are exceptions to that rule, such as with AWS RDS Aurora which has RDS Fast Database Cloning.
In RDS Fast Database Cloning, the cloned database points back to the source database, so no copying of data is involved. Any changes or writes go to new database pages so as to not impact the source database. This offers good cost savings, and quick access to database clones, but the potential downside is that you are currently limited to 15 clones for either MySQL or PostgreSQL databases.
If cloning your database is something that sounds useful to you for your alternate workloads and dev/test efforts, then you should also consider using the NetApp Cloud Volumes data cloning technology, FlexClone®, with which you can create an unlimited number of clones instantly. This is also a useful feature to have on hand in DevOps structures.
Lift and Shift
If you are moving your workloads to the cloud, one of the first challenges you’ll run into is finding out how to run your workloads in the cloud. The DBaaS idea sounds great, but do you know how to use them? Are you using a specialized database? Does your database “fit” in a DBaaS model? What don’t you know, and how prepared is your staff to handle situations that may arise?
By sticking with a traditional database deployment, many of those concerns go away, and you can just continue processing in the cloud. NetApp’s Cloud Volumes offers tried and true enterprise-class data management for databases in the cloud. These services enable you with the protection, availability, and performance you expect for your databases while minimizing the learning curve and “gotchas” when moving your workloads to the cloud.
Hybrid Cloud/Multicloud Operations
Another challenge is facilitating hybrid cloud and multicloud operations across your on-premises data centers, or possibly across public cloud providers. The public cloud DBaaS are very powerful, but they’re not directly compatible. This means that moving your database workloads to or from and through the clouds will require a more complicated setup.
For traditional databases, this becomes very simple with NetApp’s Cloud Data Services. If you are already using NetApp on-premises, you can take advantage of SnapMirror to move your data to and through the clouds, and just as easily move the workloads back on-premises. If you don’t use NetApp on-premises, they also have heterogeneous Data Services to replicate your data quickly and securely.
The cloud offers you great flexibility to run your database workloads, either traditionally or as a service. Which path you choose in cloud database vs. traditional database will depend on the challenges you face and what’s important to you. If you’re looking for a service that offloads many of the standard database and infrastructure management tasks, then you have a wide variety of options and cloud providers to choose from to get the advantages of cloud databases.
This is the first entry of our database in the cloud series. Upcoming posts will focus more directly on specific databases types including SQL, Oracle, and NoSQL databases such as Hadoop or MongoDB, as well database options in different clouds.