What is DBaaS (Database-as-a-Service)?
DBaaS (also known as managed database service) is a cloud computing service that lets users access and use a cloud database system without purchasing and setting up their own hardware, installing their own database software, or managing the database themselves (not to mention hiring the high-priced talent required to do so). The cloud provider takes care of everything from periodic upgrades to backups to ensuring that the database system remains available and secure 24/7.
The market for DBaaS and cloud databases is among the fastest-growing Software-as-a-Service (SaaS) markets, expected to grow to USD 320 billion by 2025 (link resides outside IBM). Database and data warehouse vendors have joined established cloud providers in offering hosted versions of their software, enabling customers to leverage the many benefits of cloud computing for their applications’ data storage, search, and access needs.
Compared to deploying a database management system on-premises, DBaaS offers your organization significant financial, operational, and strategic benefits:
- Cost savings: Laying down infrastructure for database management is expensive; scaling it as needed is costly and often wasteful. With DBaaS, your organization pays a predictable periodic charge based on the resources you consume—there’s no need to purchase additional capacity to have on hand for hypothetical future needs.
- Scalability—up and down: You can quickly and easily provision additional storage and computing capacity at run time if you need it, and you can scale down your database cluster during non-peak usage times to save cost.
- Simpler, less costly management: To manage and maintain a database on-premises, you’d need an in-house administrative team. With DBaaS, the cloud provider manages everything (although you can choose to manage certain aspects yourself if you wish). DBaaS lightens the administrative burden on your existing IT staff and frees them to work on applications and innovation.
- Rapid development and faster time-to-market: With an on-premises database system, development teams typically need to request access through IT, a process that can take days or weeks. In contrast, with DBaaS, developers can help themselves to database capabilities and spin up and configure a database that’s ready to integrate with their application in minutes.
- Data and application security: Cloud database providers typically offer enterprise grade security, including features like default encryption of data at rest and in-transit and integrated identity and access management controls. Some also meet specific regulatory compliance standards.
- Reduced risk: DBaaS offerings from major cloud providers typically include a service-level agreement (SLA) guaranteeing a certain amount of uptime. In the unlikely event that your provider doesn’t meet the requirements stipulated in the SLA, you’ll be compensated for any excess downtime you experience.
- Software quality: The major cloud providers offer a wide variety of highly configurable DBaaS options—each preselected for quality, so you won’t have to worry about the wading through hundreds of different databases.
How to choose a DBaaS
Finding the right DBaaS provider for your enterprise involves determining which database technologies will work best for your application and then, of course, ensuring that your provider supports that technology. The first half of the process can be complex since there’s no one-size-fits-all DBaaS that’s optimal for use with all of your applications. Trade-offs are always involved, and sometimes they can be subtle. Here are some specific factors you’ll need to consider.
Will a primary or auxiliary data store better suit my application?
Primary data stores are those that offer flexible data models, including relational databases and document-based data stores. They typically support general-purpose query languages (such as the various implementations of SQL) and general-purpose data modeling tools. Most were designed with an emphasis on maintaining data integrity. They’re flexible and are a solid choice for use with the majority of applications. Examples of primary data stores include MySQL, MongoDB, and PostgreSQL.
Auxiliary data stores, in contrast, tend to perform a few specialized tasks well, but aren’t strong general-purpose tools. They may offer restricted data models or limited querying capabilities, but they will have best-in-class performance in one particular area. Examples of this type include Redis, etcd, Elasticsearch, and JanusGraph. If a database of this type perfectly fits your application’s requirements, you can obtain excellent results by using an auxiliary data store; otherwise, stick with a primary data store.
Is the database’s underlying architecture a good fit for my needs?
It’s critical to select a database engine that not only is a good match for your application’s current requirements, but that also can scale to meet future needs. Distributed systems are more difficult to build, manage, and maintain than single-node systems, and their infinite horizontal scalability may come at the cost of available features or performance.
Does the database perform well during testing?
It’s not often possible to understand exactly how a database’s features and capabilities will mesh with your application’s requirements without real-world testing. Because it’s so easy (and affordable) to begin building on a DBaaS offering, a key part of the selection process should be the creation and exploration of a prototype. This will enable you to evaluate response times when your application sends actual requests to the database and observe its performance when it faces the mix of operations and amount of traffic that it will encounter in your production environment.
What else does the cloud provider offer?
Because DBaaS offerings typically integrate with a complete cloud platform, it’s also important to compare providers’ holistic offerings, which go beyond the features and functions of the database itself.
Check out this blog post to learn more about how to select a database for your application.
Most DBaaS offerings include integrated management tools that simplify the process of configuring, monitoring, and maintaining your databases. These include logging, key management, and activity tracking utilities. It’s possible to provision and manage diverse database engines using a common set of API calls, which simplifies and standardizes the development process.
DBaaS and IBM Cloud
The IBM Cloud offers a wide range of databases that are highly available and production ready. Though each database is delivered and consumed independently, their pricing and interaction models are consistent.
Database management systems available in IBM’s managed database portfolio include IBM Db2, Cloudant, MongoDB, Elasticsearch, etcd, PostgreSQL, Redis, and RabbitMQ—a range that lets you easily pick the right tool for the job when building your next cloud native application.
All IBM DBaaS offerings are natively integrated with IBM Cloud and easily integrated with Red Hat OpenShift. They provide enterprise grade security, flexibility, and scalability out of the box.
For a deeper dive into the history of the IBM Cloud Databases family, check out this article.
Build skills through service management and reporting courses, such as “Review of Data Analysis, Management and Reporting," and a variety of other courses contained within the IBM Cloud Professional Architect role-based training and certification.
You can begin building, testing, and prototyping on an IBM Cloud database at no cost by signing up for an IBM Cloud account today.