More about Cloud Database
- Cloud Database: Top 5 Solutions and Why You Need Them
- SAP Uses in the Cloud: Case Studies with Cloud Volumes ONTAP
- Instant Cloud Database Backup & Restore with SnapCenter
- NoSQL vs. SQL: Database Comparison
- Cloud-Based Database Series: NoSQL in Cloud Deployments
- Cloud-Based Database Series: Oracle Database in the Cloud
- 5 Points to Consider when Running Databases in the Cloud
- Cloud-Based Database Series: SQL in the Cloud
- How to Protect a Database in the Cloud: 7 Key Practices
Subscribe to our blog
Thanks for subscribing to the blog.
Deciding to move an enterprise database from on-prem data center storage to the cloud is a major technological shift.
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.
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 part of an extensive series of guides about data breach.
In this article:
- Benefits of a Cloud Database
- Traditional Databases vs. DBaaS vs. Managed Storage
- Top 5 Cloud Database Solutions
- Common Cloud Database Challenges
Benefits of a Cloud Database
Here are key benefits of cloud databases:
- Improved agility and innovation—you can quickly set up and decommission cloud databases. This speed facilitates quicker testing, operationalizing, and validating new business ideas. If you decide not to operationalize the project, you can abandon its database and move to the next innovation.
- Faster time to market—cloud databases eliminate the need to set up hardware when creating a new product. You can launch the database in the cloud within minutes.
- Reduced risks—you can leverage secure cloud databases to reduce risk across the organization by using the database as a service (DBaaS). Cloud vendors use automation to enforce security best practices and features and lower the probability of human error. These vendors also provide service level agreements (SLAs) and automated high-availability features to reduce or eliminate loss of revenue due to downtime.
- Lower costs—cloud vendors offer flexible pricing models, such as pay-per-use subscriptions, for flexibility and agility. You can also leverage dynamic scaling to provision for steady state and scale up for peak demand. These automated processes can also scale back down when demand returns to normal.
Traditional Databases vs. DBaaS vs. Managed Storage
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.
A Database as a Service (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.
Managed storage for cloud databases is a model closer to traditional databases. 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.
One option for managed DB storage is Cloud Volumes ONTAP, which introduces data efficiency and automation features that reduce the cost and labor overheads of running cloud databases.
Top 5 Cloud Database Solutions
Amazon Web Service (AWS)
AWS is a cloud computing platform that offers over 200 services distributed across many databases. AWS utilizes 84 Availability Zones (AZs) across 26 geographic regions worldwide. It operates using the shared responsibility model, handling the underlying infrastructure to ensure customers can focus on other aspects of their IT.
Here are popular AWS database solutions:
- Amazon Aurora—this relational database engine is compatible with MySQL and PostgreSQL. It combines the simplicity and cost-eﬀectiveness of open source databases with the speed and availability of commercial databases.
- Amazon DynamoDB—this offers a fully-managed key-value and document database. It delivers single-digit millisecond performance at scale and provides built-in security, in-memory caching for internet-scale applications, and backup and restore.
- Amazon ElastiCache—a web service for deploying, operating, and scaling an in-memory cache in the cloud. It enables you to retrieve information from managed in-memory caches instead of relying on disk-based databases. As a result, the performance of your web applications improves.
- Amazon MemoryDB for Redis—this durable in-memory database service is compatible with Redis. It delivers ultra-fast performance, designed especially for applications based on microservices architectures.
- Amazon Neptune—this fully-managed graph database service is fast and reliable. It makes it easier to build and run applications with highly connected datasets.
- Amazon Relational Database Service (Amazon RDS)—a managed service to help you set up, scale, and operate relational databases in the cloud. It offers cost-efficient and resizable capacity and automates time-consuming administration tasks like hardware provisioning, patching, backups, and database setup.
- Amazon Quantum Ledger Database (QLDB)—this fully managed ledger database provides an immutable, transparent, and cryptographically verifiable transaction log. A central trusted authority owns the log. It tracks each application data change and maintains a complete history of changes over time.
- Amazon Timestream—this fully-managed service offers a time-series database for IoT and operational applications. It is fast and scalable, making it easier to store and analyze trillions of daily events at 1/10th the cost of a relational database.
- Amazon DocumentDB (with MongoDB compatibility)—this fully managed service offers a document database. It is fast, highly available, scalable, and supports MongoDB workloads.
Azure is Microsoft’s cloud computing platform. It offers over 200 services and products for on-premises, cloud, and hybrid cloud environments. Azure secures its underlying infrastructure, offering various features and services to help customers secure their information and workloads and grow at scale.
Here are popular Azure database solutions:
- Azure Cosmos DB—this fully managed multi-modal database offers turnkey, global distribution. It provides various features, including multi-master replication, single-digit millisecond read/write latency and automatic scaling.
- Azure SQL Database—you can deploy this managed database service on-premises via Azure Arc or use the cloud version. It offers various features, including machine learning, data discovery, scalability, easy migration, and built-in security.
- Azure Database for MySQL—this fully managed database service is based on the community version of MySQL. It extends these features, offering built-in security, independently scaling compute and storage resources, and advanced threat protection.
- Azure Database for PostgreSQL—this fully managed database works in Azure or on-premises via Azure Arc. It offers various features, including intelligent performance analyses, horizontal scaling via Hyperscale, and built-in security.
- Azure Database for MariaDB—this fully managed database is based on the community version of MariaDB. It extends the core features, offering high availability, built-in security, and scalability.
- Azure Cache for Redis—this fully managed in-memory database provides single-digit millisecond latency. It also offers built-in security and flexible scaling.
Google Cloud is a cloud computing vendor offering various services and products. The infrastructure is distributed across 29 cloud regions and 88 zones, ensuring these services are available in over 200 countries and territories. The vendor is committed to open source, helping organizations avoid vendor lock-in and establish multi-cloud and hybrid cloud implementations.
Here are popular Google Cloud database solutions:
- Google Cloud SQL—this managed service offers cloud-based MySQL, SQL Server, and PostgreSQL databases. It helps reduce maintenance costs and automate various database tasks, including provisioning, backups, high availability, disaster recovery-failover, and storage capacity management.
- Cloud Spanner—this enterprise-grade database is globally-distributed and strongly consistent, offering up to 99.999% availability. It aims to combine the benefits of non-relational horizontal scaling with the relational database structure.
- Bare Metal Solution—this service provides hardware for running specialized workloads with low latency on Google Cloud. It is ideal for lifting an Oracle database and shifting it into Google Cloud.
- Cloud Firestore—this serverless document database is strongly-consistent, offering up to 99.999% availability. It is optimized for building applications, serves as a backend-as-a-service, and scales on-demand.
- Google Cloud Bigtable—this sparsely populated table can scale to thousands of columns and billions of rows, supporting storage of terabytes or petabytes of data. You can use it to store massive amounts of single-keyed data with low latency.
- Memorystore—this fully managed service offers an in-memory data store for Redis and Memcached hosted on Google Cloud. It automates various tasks, including provisioning, failover, patching, and replication. You can use it for in-memory and transient data stores.
Oracle is an American corporation offering various products and services, including databases and cloud services. The vendor has a global infrastructure of data centers across 20 countries, serving customers in 37 cloud regions. Oracle offers solutions for on-premises deployment, multi-cloud, and hybrid cloud implementations.
Here are popular Oracle database in the cloud solutions:
- Oracle Autonomous Database—this is an all-in-one cloud-based database solution for data lakes, data marts, batch data processing, and operational reporting. Oracle employs machine learning to fully automate database tasks. It offers higher performance, security, operational efficiency, and reliability.
- Oracle Database Service—this service lets you create and manage Oracle Database instances within the Oracle Cloud Infrastructure (OCI). You can provision databases on virtual machines (VMs) with bare metal servers with local NVMe flash storage or block storage volumes.
- Oracle Exadata Cloud@Customer—this service combines the performance of Oracle Exadata with the flexibility, affordability, and simplicity of a managed database service.
- Oracle Exadata—this service offers a highly secure architecture for running Oracle Database. It can accelerate time to market for mission-critical workloads and reduce local data center footprint.
- Oracle MySQL HeatWave—this service enables you to run OLAP and OLTP workloads directly from your MySQL database. It eliminates the need for time-consuming, expensive, and complex data movement and integration with analytics databases.
- Oracle NoSQL Database Cloud Service—this service offers on-demand throughput and storage-based provisioning. It supports columnar, key-value data models, and documents, offering flexible transaction guarantees.
IBM Cloud is a cloud computing vendor offering over 170 services and products. The vendor’s global infrastructure includes 60 data centers scattered across six regions and 19 availability zones. Like most reputable cloud providers, IBM Cloud offers solutions for multi-cloud and hybrid cloud infrastructure, as well as data protection and cloud compliance programs.
Here are popular IBM database solutions:
- IBM Cloud Databases for PostgreSQL—this is a PostgreSQL Database as a Service (DBaaS) offering. It provides high availability, point-in-time recovery (PITR), read replicas, and backup orchestration.
- IBM Cloud Databases for MySQL—this is a fully managed service to help simplify the deployment and scaling of MySQL relational databases in the cloud.
- IBM Db2 on Cloud—this is a fully-managed SQL cloud database. It provides point-in-time recovery, a dedicated operations team, high-availability disaster recovery (HADR) technology, multi-zone region support, and independent scaling.
- IBM Cloudant—this fully managed distributed database is optimized for fast-growing web and mobile apps and heavy workloads. It can elastically scale throughput and storage and has a 99.99% SLA.
- IBM Cloud Databases for MongoDB—this service offers various MongoDB features, including rich JSON documents, multi-document transactions, authentic APIs, and powerful query language. Additionally, the service automates database administration tasks, such as high availability, encryption, infrastructure planning, and backups.
- IBM Cloud Databases for DataStax—this is an enterprise-grade Apache Cassandra solution that provides high performance, proven reliability, and workload flexibility.
- IBM Cloud Databases for Elasticsearch—this service combines the power of a JSON document database’s indexing with the flexibility of a full-text search engine. The result is a powerful tool for rich data analysis of big data, autocompletion, ready-to-power catalogs, log analysis, blockchain analysis, and monitoring.
- IBM Cloud Databases for Redis—this service can help you use counters, lists, HyperLogLogs, and queues to handle complex data issues.
- IBM Cloud Hyper Protect DBaaS—this service provides highly available enterprise cloud database environments for sensitive data workloads. It employs LinuxONE technology to provide built-in data encryption with vertical scalability and performance.
- IBM Db2 Warehouse on Cloud—this fully managed service offers an elastic cloud data warehouse for independent scaling of compute and storage.
Cloud Database Challenges
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.
Learn More About Cloud Database
Cloud-Based Database Series: SQL in the Cloud
The popularity of SQL server databases, including MSSQL, MySQL, and PostgreSQL have made it a mainstay of enterprise LOB applications and operations. But the shift to the cloud presents new possibilities for SQL deployment, which we explore in this blog.
Read more in Cloud-Based Database Series: SQL in the Cloud
Cloud-Based Database Series: Oracle Database in the Cloud
Oracle remains a go-to choice for database deployment across many enterprises. But as storage architectures begin to adopt cloud-based elements, Oracle users need to find ways to operate using cloud database models. What are their options? Find out in this blog.
Cloud-Based Database Series: NoSQL in Cloud Deployments
NoSQL databases can be more challenging for enterprises to build in the cloud than traditional, relational database clusters. In this blog we show how you can meet the significant compute and storage management requirements for NoSQL cloud database deployment.
NoSQL vs SQL: Database Comparison
Databases come in many flavors, but there is one stark dividing line between them: NoSQL and SQL databases. What are the differences between these two models and which is right for your deployment in the cloud, both today and moving forward? Find out in this blog.
Read more in NoSQL vs SQL: Database Comparison
How to Protect a Database in the Cloud: 7 Key Practices
As repositories for mission-critical data, databases require a high level of data protection—a fact that’s as true in the cloud as it is on-prem. In this blog we will look at seven key practices to protect your cloud-based databases.
5 Points to Consider when Running Databases in the Cloud
Running a cloud-based database involves many components, from the data itself to the parts that help make it run, such as the CPU, RAM, network, licenses, and more. How can you keep on top of it all? This post gives IT teams five key tips to deploying cloud databases.
Instant Cloud Database Backup & Restore with SnapCenter
Storage teams have relied on NetApp SnapCenter for years to protect on-prem databases with instant backup and restore capabilities—and those benefits are now also available in the cloud. This post will introduce you to cloud-based SnapCenter usage.
SAP Uses in the Cloud: Case Studies with Cloud Volumes ONTAP
SAP is a business mainstay, so it’s no surprise that as organizations using it move to the cloud, they want to take SAP with them. How can they do that? In this post we look at four cloud-based SAP database deployments using Cloud Volumes ONTAP.
See Additional Guides on Key Data Breach Topics
Together with our content partners, we have authored in-depth guides on several other topics that can also be useful as you explore the world of data breach.
Authored by Cloudian
- What is Data Protection and Privacy?
- How You Can Maintain Secure Data Storage
- What is Data Encryption? The Ultimate Guide
Authored by NetApp
- 5 Azure Backup and Recovery Best Practices
- Azure Storage Security Best Practices and How to Use Them
- Azure Features for Enterprises Planning a Cloud Migration
Authored by NetApp
- NAS Backup: Key Considerations for Enterprise Deployments
- Cloud NAS Backup: Why and How to Move NAS Backup to the Cloud
- NDMP: A Brief History, Architecture, and Common Topologies