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, are also typically 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 software 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. Two main types include relational and NoSQL databases. Relational databases are used to organize data and identify relationships between key data points. This type of database makes it easier to sort and find information and works well with structured data. Relational DBaaS offerings are built on Structured Query Language (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.
NoSQL, also called not only SQL, is a database design that can store data outside of traditional relational database structures. 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.
DBaaS uses
In a survey of 753 cloud users conducted in late 2023 by IT management tools vendor Flexera, 57% said their organizations were using relational DBaaS technologies, while 44% were using NoSQL database services. 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 couldn't afford to build and support on premises.
Workloads involving data with stringent regulatory requirements might not be suitable for the DBaaS model because of data protection and privacy concerns. Furthermore, mission-critical applications that require optimal performance and uptime might 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 and the databases that support them move to the cloud.
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.
- IT equipment cost effectiveness. 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 cost 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.
- Rapid database deployment. DBaaS lightens the workload of an organization's IT staff as they don't have to worry about managing administrative tasks.
- Security features. Cloud database providers typically have some form of enterprise-level security features, such as data encryption and identity and access controls.
Disadvantages of DBaaS
There are also potential disadvantages with DBaaS compared to on-premises databases. Potential downsides of a DBaaS include the following:
- Lack of control over the IT infrastructure. This 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 data storage devices used to run them. As a result, it must rely on the cloud provider to manage the infrastructure effectively.
- Reliance on the DBaaS vendor. 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. This is a concern in some cases, as the database is 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. However, the vendor oversees securing the database platform and underlying infrastructure.
- Latency. 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, which are differentiated by how much of the IT infrastructure stack they provide to customers. The stack can consist of the following elements:
- Networking.
- Storage.
- Servers.
- Virtualization.
- Operating systems.
- Middleware.
- Runtime.
- Data and database management systems.
- Applications.
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 include DBaaS, infrastructure as a service (IaaS) and platform as a service (PaaS).
Instead of just the database that a DBaaS vendor would provide and manage, an IaaS vendor provides users with infrastructure components that are traditionally present in an on-premises data center. This includes servers, storage and networking hardware, as well as the virtualization or hypervisor layer. These resources are delivered to the customer in the cloud. The remainder, including database software, is provided and managed by the customer.
PaaS is another cloud computing model where a third-party provider delivers hardware and software tools to customers. Typically, these tools include the OS, middleware and runtime components. DBaaS adds data layer services to the provided stack. A PaaS vendor hosts the hardware and software on its own infrastructure, which frees developers from having to install in-house hardware and software to develop or run an application. PaaS builds on the IaaS model as it can provide underlying infrastructure components, as well as other software components.
DBaaS tools and vendors
A sampling of DBaaS tools include the following:
- Amazon DynamoDB, which is a NoSQL fully managed database service.
- Google Cloud SQL, which is a fully managed relational database service for MySQL, PostgreSQL and other SQL databases.
- Oracle Base Database Service, which is a relational database management system with added multimodel capabilities.
- Azure SQL Database, which is a SQL relational database that uses the Microsoft SQL Server engine.
- SAP HANA Cloud, which is a hybrid relational/NoSQL database.
- MongoDB Atlas, which is a NoSQL database service.
When adopting DBaaS, an organization will need to choose both a cloud platform and a DBMS, as the cloud infrastructure and the database software do not need to be from the same vendor. For example, an organization can use the Amazon Web Services (AWS) cloud with an Oracle or SQL Server database through Amazon Relational Database Service.
Some leading cloud platform providers include AWS, Google Cloud, Microsoft and Oracle. 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 or distributed SQL databases. Not every cloud DBMS is supported on every cloud platform, however, so an organization's choice of one could affect which of the other it can use.
How to choose a DBaaS offering
Understanding an organization's key drivers for cloud database adoption is key to choosing the appropriate DBaaS offering. Typical drivers include cost reduction, improved flexibility, digital transformation initiatives and increased IT automation. Depending on the use cases for an organization's data, not all these goals can be achievable. For example, large mission-critical databases requiring round-the-clock, efficient access and ones with zero acceptable downtime might not be ideal candidates for DBaaS.
The following are some other important steps to take when choosing a DBaaS system:
Assess the 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 when trying to switch between them. There might 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 to move. 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 the organization's usage to avoid surprises. With DBaaS, an organization pays based on the resources it consumes. One benefit is that the organization doesn't need to pay upfront for IT infrastructure it doesn't currently need. However, the bill will go up as the use of the database system grows. Customer organizations should be prepared for this, especially if the usage exceeds expectations. Also, while 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 might 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, an organization should choose a database service that's run from a data center in its geographic area and offers multiple high availability zones, at least one of which is close to where the organization is to minimize data latency. It's also important for an organization to understand the DBaaS vendor's service-level agreement on uptime and performance and know how to request support when it's needed.
Running an organization's database in the cloud can come with a lot of potential benefits, given it's the right fit. Learn if your organization's database should be run on premises or via a DBaaS.