Deciding to move an enterprise database from on-prem data center storage to the cloud is a major technological shift. The immediate question that you need to answer is how you want that database to run in the cloud: Do you switch gears and move forward with one of the Database as a Service (DBaaS) offerings from the major cloud providers, or do you go with the managed storage approach for a database built on cloud IaaS resources?
In this blog, we’ll discuss the pros and cons of both options, and how NetApp Cloud Volumes ONTAP can help you meet the challenges of running a cloud-based database.
This is the first entry of a series on databases in the cloud. Upcoming posts will focus more directly on specific database types such as running Oracle and SQL in the cloud, and NoSQL database types such as Hadoop and MongoDB.
Try these quick links to jump to sections below:
- DBaaS Cloud Database vs. Managed Storage for Cloud-Based Database
- Common Database Challenges in the Cloud
DBaaS Cloud Database vs. Managed Storage for Cloud-Based Database
Traditional databases require companies to provision all of the underlying infrastructure and resources necessary to manage their databases on-premises. The cloud has revolutionized the database field in that those resources are now available on a pay-go basis, allowing companies to trade CAPEX for OPEX spending. The cloud service providers also have database migration services to help you migrate your data to the cloud.
But the cloud also offers more than just scalable resources, it also offers services. That gives database users two options when transitioning to the cloud. One option is to use IaaS cloud resources to manage an abstracted version of a traditional, on-prem database. The second option is to use one of the cloud providers’ Database as a Service (DBaaS) offerings.
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. This allows companies to take advantage of services in the cloud while freeing up personnel to focus on other tasks. In smaller-scale organizations, DBaaS use allows for business to get started quickly without the need for several specialists as in many cases a DBaaS can be set up quickly with just a few clicks.As the cloud market leaders, AWS, Azure and Google Cloud all offer DBaaS services in a variety of flavors, such as for MySQL cloud database, Microsoft SQL Server, PostgreSQL, Oracle, and NoSQL databases such as Hadoop or MongoDB, etc. The database as a service AWS offerings include Amazon RDS and Amazon Aurora. Azure database as a services include Azure Database for MySQL, Azure Database for PostgreSQL, Azure SQL Database. Google Cloud offers Cloud SQL and Cloud Spanner for relational databases and Cloud Bigtable, Cloud Firestore, and more for NoSQL.
What Is Managed Storage for Cloud-Based Databases?
The other option for database deployment in the cloud hews closer to the traditional database model in the cloud database vs. traditional database comparison. Instead of relying on a database service, you can build a database in the cloud of your choice using the native IaaS compute and storage resources available. In effect, this database would work exactly like your legacy system on-prem, except that the infrastructure has been virtualized.
Running a cloud-based database makes it easy for your databases to grow along with your needs, 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.
But there are additional benefits to this model when used in conjunction with managed storage. By using a data management platform such as Cloud Volumes ONTAP, a cloud-based database can bring in a lot of the efficiency and automation features that reduce the cost and labor overheads of running the database all while ensuring higher levels of data protection and control than with a DBaaS.
Learn more about DBaaS vs. Managed Storage for Cloud-Based Database in SQL Server in AWS: Managed Service Vs. Managed Storage and in Azure SQL Server: Managed Service Vs. Managed Storage
There are additional challenges to consider when it comes to choosing your cloud-based database deployment method. Let's look at some of these challenges and how to address them.
Common Database Challenges in the Cloud
Whether you choose a DBaaS or decide to manage a database built on cloud components yourself, there are still some areas you need to consider before deciding if the approach you chose will fulfill your needs.
Size Limitations:This can be a major difference between the DBaaS and managed storage options. DBaaS offerings have expanded their maximum capacity over the years, now offering autoscaling features, but these do still come with hard limits when it comes to storage. Will you scale beyond the capacity DBaaS instances accommodate? Enterprise-level databases need the ability to grow over time. There are ways to overcome these limits with managed storage, both with the use of data tiering to less-expensive storage tiers and with larger scaling capacity.
Data Protection: Your database may be in the cloud, but it still needs to be backed up and protected. While a DBaaS usually comes with daily snapshots and backups out of the box, these capabilities are often insufficient in enterprise-grade scenarios. There are managed storage options that can help here, such as how Cloud Volumes ONTAP offers 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.
Storage Performance: Database performance is also a consideration in the cloud. In the public cloud, performance of your storage layer is often tied to how much capacity you provision.
What can you do in this case? Your options are to either over-provision your capacity in order to get the performance you require out of your managed database service, or you can switch to one of the more-expensive disk options. If your workloads have large performance spikes, this means that the storage you require for your DBaaS might increase your costs significantly.
Database Cloning: Cloning a database is a commonly needed task for dev/test purposes. However, that may have a major impact on your performance and costs depending on your cloud database option.
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. In dev/test scenarios, 15 copies is usually going to be a bottleneck.
There are managed storage options available that can provide more flexible cloning capabilities. NetApp FlexClone® allows you to create an unlimited number of writable clones, instantly and space-efficiently.
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.
A DBaaS offers a pre-built model for your database. It isn’t customizable, and may require you to change the way your database or the application that depends on that database works. With managed storage for cloud-based components, there’s more flexibility and adaptability which can minimize the learning curve and “gotchas” when moving your workloads to the cloud.
Hybrid Cloud/Multicloud Operations: A major difference between how DBaaS and managed storage options differ is in how well they can facilitate 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 with each other. This means that moving your database workloads to or from and through the clouds will require a more complicated, manual setup.
Through the use of some managed storage options, this can be much easier since the data management layer can seamlessly orchestrate between the different storage environments, whether they are in a different cloud or on-prem. For example, 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.
The cloud offers you great flexibility to run your database workloads, either traditionally or as a service. Which path you choose in the cloud database vs. traditional database debate will depend on the challenges you face and what’s most important to your business. 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.
If a higher level of adaptability, scale, protection, and control of your database is important, managed storage for a cloud database is more likely your best choice. NetApp Cloud Volumes ONTAP is the data management platform from NetApp that acts as the managed storage layer for storage on Google Cloud, AWS, and Azure. Cloud-based databases that run on Cloud Volumes ONTAP benefit from managed storage capabilities such as high availability, efficiencies to cut cloud data storage costs, enhanced data protection, higher performance, and more.
This is the first entry of our database in the cloud series. Upcoming posts will focus more directly on specific database types including SQL, Oracle, and NoSQL databases such as Hadoop or MongoDB, as well database options in different clouds.