What is database-as-a-service (DBaaS)?

I was a database administrator and developer for Adabas/Natural on IBM mainframes; Datatrieve Rdb on VAX/VMS; and the xBase database management system (DBMS) language family when I was much younger. It was some of the most painful work I'd ever done in computing, including programming in IBM 360 assembler.

Database work is hard. So, it comes as no surprise that database-as-a-service (DBaaS), a cloud computing managed service that offers users database access without needing physical hardware, software installation, or configuration, is estimated to be worth $57.5 billion over the next five years, according to (somewhat reliable) market information provider MarketsandMarkets.

The DBaaS vendor market is, however, very fragmented. It includes cloud platform providers that sell database software and database manufacturers that host their software on cloud platforms.

Whoever you work with and whatever model they use, they all have some things in common. First, unlike the 80s on-premises environments, where we managed our own database servers, the service provider takes care of system infrastructure, database maintenance and administrative tasks under the DBaaS model. This includes database installation, configuration, maintenance, upgrades, backups, patching and performance management.

You, however, remain responsible for data control. You'll still need to employ database administrators (DBA). They will monitor database usage, manage user access, and coordinate with the DBaaS vendor on provisioning, patching, and maintenance activities.

That said, DBAs and developers can also allocate more time to optimizing databases and writing applications. By enabling them to work with the areas of their expertise, you'll be able to get more value from their time. 

Primary benefits of DBaaS

Thus, the primary advantage of DBaaS is reduced management requirements, as the service provider handles routine database administration tasks. It eliminates the need for physical infrastructure and reduces IT equipment costs. Additional benefits include flexibility, scalability, and potential cost savings in terms of electricity, HVAC, data center space, and IT staff.

DBaaS is especially beneficial for small and medium-sized businesses (SMBs) with their limited IT resources. It allows them to implement applications and systems they couldn't afford on-premises.

Typically a DBaaS is a subscription-based service. Users pay for resource usage instead of buying software licenses.

This can make pricing DBaaS difficult for companies moving from legacy DBMSs. There are many moving elements in running DBMS on a cloud. This includes storage, access, and networking speed on top of compute requirements. Simultaneously, by offering elastic database services for application development, testing, and production deployment, often with an easy-to-use web console and a RESTful API, it can also save expenses.

Another related issue is that it's difficult to run databases in containers. That's because Kubernetes doesn't lend itself to stateful applications, which is DBMS's bread and butter. It can be done, but it's not the lift and shift operation that moving a legacy DBMS to cloud-based virtual machines (VM)

The disadvantages of DBaaS

It's not all roses. DBaaS also has some disadvantages. Organizations have less control over the IT infrastructure, as the cloud provider manages it. In the event of an Internet connection or DBaaS provider outage, access to the database may be temporarily unavailable. That can be a literal business killer.

Security can be a concern, as organizations rely on the DBaaS provider for server security. This can be further complicated when privacy and security regulations such as Health Insurance Portability and Accountability Act (HIPAA), General Data Protection Regulation (GDPR), and Sarbanes-Oxley Act (SOX) come into play.

As any DBMS customer can tell you, lock-in is always a major concern. While moving data from one DBMS to another is easier than it once was, it's always a hard job. Rewriting applications from one platform to another is a major pain, no matter how good your database and front-end programmers are.

DBaaS offerings are available for various database technologies, including relational databases (such as Oracle, SQL Server, and MySQL) and NoSQL databases (such as MongoDB and Elasticsearch). Choosing between DBMS families is a subject all to itself.

Other DBaaS factors you consider include cost, hybrid cloud support, availability zones, service-level agreements, support, and data center location options. Location? Yes, location. DBMS applications must be fast, and latency is a major concern for most of them.

Major cloud providers like AWS, Google Cloud, Microsoft, and Oracle offer DBaaS options and a variety of databases. Other vendors, such as IBM and SAP, also provide DBaaS solutions.

You can mix and match DBaaSs with cloud providers. For example, while Amazon Aurora, AWS's general-purpose relational DBMS, is only available on AWS, it's compatible with the MySQL and PostgreSQL open-source databases. And while  Oracle Autonomous Database service is only available on the Oracle cloud, Amazon RDS for Oracle, and Oracle Database Service for Microsoft Azure enable you to run Oracle DBMSs on AWS and Azure.

To sum it all up, a DBaaS is a cloud computing service that simplifies database management by outsourcing infrastructure and administration tasks to a service provider. It offers benefits such as cost savings, rapid deployment, and future-ready data operations.

However, organizations need to consider factors like control, security, and latency when evaluating DBaaS options and choosing the right provider for their needs.

Read more of our cloud Explainers here.