buchachon - Fotolia
The relational database has been around for half a century, and various subcategories -- like document, key-value and caching databases -- are long-standing parts of the IT landscape. After so much time, you might think the days of database innovation are long gone. However, the rise of cloud infrastructure and services has breathed new life into this formerly staid market.
The major cloud providers initially approached databases as applications, to be run on general-purpose compute instances, but soon began augmenting their IaaS products with higher-level applications services. Cloud databases have become a critical area of technology development, where vendors compete by launching different database types to meet business demands.
Because the IT world is in the midst of a massive migration of data-centric workloads to the cloud, architects, admins and developers need to understand the different database choices available. Take the following steps to ensure your IT team chooses the cloud database service that fits your company's needs.
1. Understand the market
The cloud is the future of the database market, according to Gartner. The analyst firm projects that 75% of all databases will be deployed in the cloud by 2022. This number is based on client inquiries about new and existing applications, which Gartner says are moving to the cloud at an increasing rate -- a trend it expects will accelerate.
For example, AWS was third in Gartner's 2019 database market share rankings -- up from seventh place in 2013. Indeed, the majority of inquiries the firm's database analysts receive concern cloud platforms. And the innovation undertaken in the cloud likely can't be replicated on premises due to the elastic, scalable and on-demand nature of managed public cloud services.
Furthermore, Gartner estimates cloud database revenue accounted for 68% of the growth in the overall database software and service revenue in 2018, with the vast majority of that going to AWS and Microsoft.
2. Familiarize yourself with the database options
To plan for this cloud-focused future, you must understand the options that can mitigate the pain of migrating or replicating on-premises workloads to cloud infrastructure.
There are two overarching elements to consider when choosing cloud database services -- the deployment architecture and the database requirements. Particular applications will have parameters for each element.
These are the factors that affect database selection as it pertains to the cloud:
- Deployment environment, whether on premises, in one or more public clouds, or a mix of private and hosted resources;
- Database type, including relational SQL (RDBS), distributed SQL, NoSQL variants like a column (key-value) store, wide column or document DB, cache, graph, or various specialty databases like time series and quantum ledger;
- Database manager, namely whether the database will be self-managed or a cloud service (DBaaS);
- Performance and capacity requirements, such as transactions per second, query latency, and scalability of both database throughput and capacity;
- Availability and resilience requirements, which will determine the need for multiple replicated and synchronized instances; and
- Flexibility, including specific version requirements and the amount of control an IT team needs over finer details such as the database setup and configuration.
AWS, Microsoft and Google dominate the cloud services market. Many IT teams lean toward these providers' database services rather than hosting databases themselves on cloud instances. That's because it's easier to integrate them with their existing cloud environment and because it reduces overhead.
AWS, Microsoft Azure and Google Cloud Platform have a range of database services IT teams should explore to address their specific needs.
3. Weigh the cloud trade-offs
- Want the easiest, quickest deployment;
- Want a wide range of database products without having to install and manage each one;
- Don't want to manage the software;
- Need maximum scalability;
- Want high availability via multiple, geographically dispersed instances;
- Understand the cloud's shared security model and can take advantage of the cloud's inherently secure infrastructure; and
- Don't need to micromanage every database setting.
Overall, cloud users must be aware of capacity and performance constraints for individual database instances. However, these can often be addressed via a distributed design that exploits replication and networking features built into cloud products.
While total cost of ownership calculations are fraught with variables unique to each organization, cloud database services are less expensive than self-managed internal database systems. They eliminate costs for hardware, system administration and some DBA overhead, making it a more appealing option for enterprises that want to tighten spending. The savings also increase when companies use cloud products based on open source or internally developed software, which eliminates licensing fees.
4. Take your business and usage into account
Database application design and selection is highly dependent on software requirements, cloud usage and any associated legacy systems. In order to make the best decision for your company's workloads, take a few of the following factors into account.
First, new applications are a more natural fit for cloud infrastructure and database products than legacy ones. However, IT teams may choose to move legacy systems to the cloud if they want to migrate off obsolete hardware or if they have spikes in usage and expect to save money by taking advantage of the cloud's consumption-based pricing. If an enterprise has a cloud-native strategy, IT teams might need to move a legacy database to integrate with newer applications.
But if you're wary of diving straight into the cloud, a hybrid cloud deployment, where on-premises data is replicated to or accessed from the cloud, is usually a better stepping stone and offers better risk management than a lift-and-shift database migration. The hybrid approach also allows IT to switch over to the cloud as the primary system while running the legacy on-premises database as a backup.
Once your team is comfortable with its new environment, it can access the comprehensive list of data analytics and machine learning services available across the major cloud platforms. It can also migrate workloads to cloud-native database services such as Amazon Aurora, Azure Cosmos DB or Google Bigtable, which are generally more cost-effective and integrate with other cloud services better than legacy databases on cloud compute instances.
Regardless of one's choice of a cloud database, systems architects and application developers must pay particular attention to service costs when designing cloud-based environments since sloppy usage and configurations can quickly erase any potential savings of cloud deployments.