database as a service (DBaaS)
What is database as a service (DBaaS)?
Database as a service (DBaaS) is a cloud computing managed service offering that provides access to a database without requiring the setup of physical hardware, the installation of software or the need to configure the database. Most database administration and maintenance tasks are handled by the service provider, enabling users to quickly benefit from the database service.
The use of DBaaS is growing as more organizations shift from on-premises systems to cloud databases. DBaaS vendors include cloud platform providers that sell database software and other database makers that host their software on one or more of the cloud platforms. Most DBaaS environments run on public cloud infrastructure, but some cloud providers will also install their DBaaS technologies in on-premises data centers and manage them remotely for customers in private clouds or hybrid cloud infrastructures.
DBaaS and on-premises database variations
In an on-premises computing environment, the database server is part of the IT infrastructure in an organization's data center and is installed, managed and run by the organization's own IT staff. A database administrator (DBA) is responsible for configuring and managing the databases that run on the server.
In contrast, under the DBaaS model, the provider maintains the system infrastructure and database and delivers it as a fully managed cloud service. The service covers high-level administrative functions, such as database installation, configuration, maintenance and upgrades. Additional tasks, such as backups, patching and performance management, typically are also handled by the provider.
Control of the data in a database remains the responsibility of the customer, but the role of the DBA primarily involves monitoring the use of the database, managing user access and coordinating with the DBaaS vendor on things like provisioning, patching and maintenance. In addition, the DBA can spend more time on other activities, such as optimizing databases for applications.
Another difference is that DBaaS is a fee-based subscription service. Instead of buying software licenses, as in an on-premises deployment, customers pay for their use of system resources. That can be done on a pay-as-you-go basis, with resources being provisioned as needed to meet processing workloads, or an organization can reserve database instances to get discounted prices on workloads it runs regularly.
Database categories of DBaaS
DBaaS offerings are available for various types of database technologies. Relational DBaaS offerings are built on SQL databases and are offered for traditional database management system (DBMS) platforms like Oracle Database, Microsoft SQL Server, IBM Db2 and MySQL, as well as for cloud-only systems that include Amazon Aurora, Microsoft's Azure SQL Database, Google Cloud SQL and Oracle Autonomous Database.
As in on-premises deployments, NoSQL DBaaS technologies span multiple database types, including graph databases, document databases, wide-column stores and key-value stores. Multimodel databases that support more than one database type are also available for DBaaS deployments; many relational and NoSQL database platforms can now be considered multimodel technologies because of added support for different data models.
Regardless of the type of cloud database that's used, DBaaS offers elastic database services for application development, test and production deployment, typically with an easy-to-use web console and a RESTful API.
The DBaaS model is ideal for small and medium-sized businesses (SMBs) that don't have well-staffed IT departments. Offloading the service and maintenance of the database to the DBaaS provider enables SMBs to implement applications and systems that they otherwise couldn't afford to build and support on premises.
Workloads involving data with stringent regulatory requirements may not be suitable for the DBaaS model because of data security and privacy concerns. Furthermore, mission-critical applications that require optimal performance and uptime may be better suited for an on-premises implementation.
That doesn't mean mission-critical workloads can't run on cloud services, though. Initially, much of the DBaaS adoption in larger organizations was for less crucial applications, such as development and pilot projects. But that's changing as more application workloads move to the cloud. In a survey of 753 cloud users conducted in late 2021 by IT management tools vendor Flexera, 49% said their organizations were using relational database services in the cloud, while 38% were using NoSQL database services.
Advantages of DBaaS
The DBaaS model offers some specific advantages over traditional on-premises database systems, including the following:
- Reduced management requirements. The DBaaS provider takes on many of the routine database management and administration burdens.
- Elimination of physical infrastructure. The underlying IT infrastructure required to run the database is provided by the DBaaS vendor or the provider of the cloud platform that's hosting the DBaaS environment, if they're different companies.
- Reduced IT equipment costs. Because the system infrastructure is no longer on premises, users don't need to invest in database servers or plan for hardware upgrades on an ongoing basis.
- Additional savings. In addition to lower capital expenditures, savings can come from decreased electrical and HVAC operating costs and smaller space needs in data centers, as well as possible IT staff reductions.
- More flexibility and easier scalability. The infrastructure supporting the database can be elastically scaled up or down as database usage changes, as opposed to the more complex and rigorous process required to scale on-premises systems.
Disadvantages of DBaaS
There are also potential disadvantages with DBaaS compared to on-premises databases. Lack of control over the IT infrastructure is usually the most significant issue with DBaaS versus an in-house system. With managed databases, an organization's IT team doesn't have direct access to the servers and storage devices used to run them. As a result, it has to rely on the cloud provider to manage the infrastructure effectively.
Also, if an organization's internet connection goes down, or if the DBaaS provider experiences a system outage, the organization won't have access to its database until the problem is repaired.
Security can also be a concern in some cases because it's controlled by the DBaaS provider and an organization doesn't have direct influence over the safety of the servers running its databases. Under the shared responsibility model for cloud security, organizations are responsible for some aspects of data security and things like identity and access management in DBaaS environments. But the vendor is in charge of securing the database platform and underlying infrastructure.
Latency is another concern. The additional time required to access enterprise data over the internet can cause performance issues. These performance issues grow when loading large amounts of data, which tends to be slow and time-consuming.
DBaaS vs. IaaS vs. PaaS
Cloud computing includes various anything as a service (XaaS) models that are differentiated by how much of the IT infrastructure stack they provide to customers. The stack consists of the following elements:
- Operating systems
- Data and database management systems
Varying layers of this stack can be provided either on premises or as a cloud service. In a fully on-premises environment, the entire stack is deployed on site; conversely, in the software as a service (SaaS) model, the entire stack is located remotely and managed for customers by the service provider. The three other predominant XaaS models are DBaaS, infrastructure as a service (IaaS) and platform as a service (PaaS).
IaaS offers virtualized computer resources in the cloud to deliver the core infrastructure: networking, storage, servers and virtualization. The remainder, including database software, is provided and managed by the customer.
PaaS delivers additional components of the IT infrastructure on top of the core ones. Typically, that also includes the OS, middleware and runtime components. DBaaS adds data layer services to the provided stack.
DBaaS tools and vendors
DBaaS relies on a cloud database to store, manage and access data. The cloud infrastructure and the database software need not be from the same vendor. For example, an organization can use the AWS cloud with an Oracle or SQL Server database through Amazon Relational Database Service. All notable DBMS vendors now offer their software in the cloud, and most support DBaaS environments.
When adopting DBaaS, you'll need to choose both a cloud platform and a DBMS. The leading cloud platform providers -- AWS, Google Cloud, Microsoft and Oracle -- are also the top cloud database vendors, according to consulting and market research firm Gartner. They all offer a combination of relational, NoSQL and special-purpose database engines for DBaaS deployments.
But there are also many other cloud database software options, from IBM, SAP and various vendors of NoSQL, multimodel and NewSQL/distributed SQL databases. Keep in mind that not every cloud DBMS is supported on every cloud platform, so your choice of the former could affect which of the latter you can use -- or vice versa.
An organization should ensure that it has the proper tools to manage databases and build applications using the DBaaS implementation it chooses. Many existing database administration and development tools can be used to manage databases in the cloud and build applications that access them.
The organization's IT staff should also be sure to understand the tooling that's offered by the chosen service provider, as most DBaaS vendors supply tools to help customers use their services.
How to choose a DBaaS offering
Understanding your organization's key drivers for cloud database adoption is key to choosing an appropriate DBaaS offering. Typical drivers include cost reduction, improved flexibility, digital transformation initiatives and increased IT automation. Depending on the use cases for your data, not all of these goals may be achievable. For example, large mission-critical databases requiring round-the-clock, efficient access and ones with zero acceptable downtime may not be ideal candidates for DBaaS.
The following are some other important steps to take when choosing a DBaaS system:
Assess your organization's tolerance for vendor lock-in. For example, AWS, Google Cloud, Microsoft and Oracle all provide database services that work differently and aren't easily replicated if you try to switch between them. There may also be proprietary APIs, and it's difficult to move data from one provider to another -- the more data in the database, the longer it takes to move. Also, most enterprise applications can't be shut down while you do so. To minimize the impact of lock-in, read contracts closely and review all APIs -- and choose a DBaaS provider that will be in business for the long term.
Understand the cost model of DBaaS vendors and how to adjust your organization's usage to avoid surprises. With DBaaS, your organization pays based on the resources you consume. One benefit is that you don't need to pay upfront for IT infrastructure you don't currently need. However, your bill will go up as use of the database system grows. Be sure you're prepared for that, especially if the usage exceeds expectations. Also, tying cost management to vendor lock-in, keep in mind that although most DBaaS vendors don't charge customers to load data into their service, there may be significant charges to migrate the data out to another data store.
Look to adopt a database service that works well in a hybrid cloud scenario. In a hybrid cloud, some data is kept on premises and some is migrated to the cloud. A comprehensive DBMS platform that can work well with both DBaaS and on-premises databases can significantly reduce the difficulty of managing a hybrid cloud database implementation.
In addition, you should choose a database service that's run from a data center in your geographic area and offers multiple availability zones, at least one of which is close to where your users are to minimize data latency. Also, be sure you understand the DBaaS vendor's service-level agreement on uptime and performance and know how to request support when it's needed.