For many enterprises, the advantages of using a cloud-based database are clear. It has the advantage of offering scalability, security, and availability at a lower cost than custom and local database solutions.

However, there are different types of cloud databases. Typically, we use terms like IaaS, PaaS, and SaaS to describe different levels of cloud computing. How do they apply to cloud databases and how do you use DBaaS (database as a service) products?

In this article, we’ll look at the key differences between these different types of cloud databases, as well as the pros and cons of each type, to help you determine what works best for your enterprise.

As the figure shows, the main difference between software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) in a cloud computing environment is the level of abstraction to the underlying resources and services.

In general, the more the service provider abstracts from the user, the simpler and faster the user can generate value in the cloud service. The less the provider handles on behalf of the user, the more control and responsibility the user has over the environment.

Different levels of abstraction in cloud computing

We can also apply the principles behind this cloud computing classification to cloud databases. As with most cloud-based tools and services, the database an enterprise chooses will reflect its team’s market needs, expertise and skills, the overhead and administrative burden it is willing to bear, and the degree of customization required for the project.

Here’s an overview of each type of cloud database, along with its strengths and weaknesses.

IaaS: Most control, most work

An IaaS database implementation is self-managed on a cloud infrastructure. The enterprise will be responsible for the operating system, runtime, and database software, as well as installation, configuration, and ongoing maintenance. With the exception of using cloud servers and storage, the experience will be similar to running locally. IaaS databases provide the enterprise with maximum control over its setup, which naturally means more responsibility for the enterprise.

Enterprises do not have to requisition hardware and operate their own data centers using IaaS databases. But you need to choose the cloud provider infrastructure and then install and manage the database yourself within the provider’s parameters.

Let’s take a closer look at the pros and cons of IaaS.

1. Advantages of IaaS

  • With IaaS, an enterprise will have more database choices because it can choose to provide databases that are not equivalent to PaaS or SaaS versions.

  • With IaaS, you can configure your database to work exactly as you need it to.

  • Like all cloud database options, IaaS offers almost unlimited scalability. If an enterprise has the ability to manage its own database, but is transitioning to avoiding managing its own data center, IaaS certainly fits the needs of the enterprise.

  • IaaS makes it easier to reproduce your local database infrastructure in the cloud.

  • IaaS can provide better control over database software, operating systems, and other configuration options if the enterprise team has extensive expertise and experience in this area.

2. Disadvantages of IaaS

  • If you choose an IaaS database, you assume full responsibility for routine maintenance, including handling backups, extensions, security, and other considerations.

  • Compared to PaaS and SaaS, team members in an enterprise need more database skills and cloud credentials, especially those related to database operations.

  • Supporting IaaS database implementations takes a considerable amount of time, and organizations need to weigh the urgency of the project.

Will PaaS be the best choice for business?

PaaS provides databases that further leverage the advantages of cloud computing. PaaS databases help automate provisioning, configuration, scaling, and other cluster management tasks. PaaS frees businesses from setting up and managing infrastructure.

PaaS is an intermediate option in the IaAs-Paas-saas continuum, and many cloud databases are offered in this manner. They make it easier for teams to manage their databases through cluster automation tools. However, PaaS users still need to have some understanding of cluster details such as the number and type of nodes, capacity, and sharding.

1. Advantages of PaaS

  • Users can benefit from scalability benefits similar to IaaS deployments.

  • With PaaS, vendors simplify operations by providing management tools for provisioning, configuration, extension, and other common operations.

  • Vendors also handle basic administrative tasks, such as patches and updates.

2. Disadvantages of PaaS

  • While it is less of an operational burden than IaaS, you still need to plan clusters, specify software versions and the number and type of nodes, instance sizes, and perform other tasks.

  • Using PaaS also requires capacity planning, such as peak capacity/utilization and headroom, to accommodate growth.

  • With PaaS, the user may still be responsible for some or all of the software upgrades.

SaaS: Low configuration, instant productivity

SaaS is the most common software delivery model for cloud applications: just log in and start working. Everyone is familiar with SaaS applications, but when it comes to databases, that familiarity is much reduced.

SaaS databases are generally the easiest type of database to set up and maintain. Because the service provider handles all technical issues, planning, provisioning, and other day-to-day tasks. In other words, the database is operated entirely by the provider, and all cluster details are abstracted from the user. But there may be fewer deployment and configuration options using SaaS databases.

1. Advantages of SaaS

  • SaaS databases do most of the capacity and cluster planning
  • It abstracts all cluster management, so there is no need to configure nodes, node types, or instance sizes.
  • With SaaS, operations such as configuration or scaling require no manual intervention.
  • All software updates happen transparently in the background.
  • Pricing for SaaS databases is usually based on the amount of storage, computation, I/O, or query consumed, rather than the number or size of nodes. This means that the ratio of storage to computation is not fixed by instance type.

2. Disadvantages of SaaS

  • Cost estimates using this model are more difficult because there are fewer options that users can easily configure. However, it is still the most affordable option for many teams due to the lower operational burden.

  • Most databases offered as SaaS are built specifically for the cloud, and there is no corresponding self-managed version if users require this option.

DBaaS: Diversity of solutions

Here’s database as a Service (DBaaS), which generally refers to a database provided as PaaS or SaaS.

All major cloud platforms now offer DBaaS solutions. Some of them are closer to SaaS; Others are slightly closer to PaaS. Popular examples of DBaaS solutions include Amazon Relational Database Service (RDS), Azure SQL Database, MongoDB Atlas, and Amazon DynamoDB.

A solution that is closer to PaaS could enable an enterprise to avoid some of the operational issues while providing a self-managing experience for these databases.

Solutions that are closer to SaaS offer out-of-the-box database solutions that easily add powerful database capabilities to applications. This can be an excellent choice for businesses looking to quickly and easily get their data applications up and running with the shortest path.

There are already a wide variety of cloud databases to choose from, with varying ease of use, control granularity, and resource utilization.

Scope of database solutions related to levels of control and ease of use

As shown in the figure, the three database solution layers can be summarized as follows: IaaS provides more control than PaaS, and PaaS provides more control than SaaS.

IaaS requires more work from enterprise operations teams, followed by PaaS, which still requires manual intervention in cluster management tasks. As IaaS and PaaS carry a greater administrative burden, this also means that more effort needs to be put into optimizing their cost and performance. SaaS, on the other hand, requires the least amount of manpower, reducing the burden on enterprise employees and thus improving efficiency.

When a SaaS database is designed specifically for the cloud, it can maximize cloud resiliency and decomposition of computing and storage resources, which can improve performance or utilization.

Making: github.com/yunionio/cl…

Website address: www.yunion.cn/comparison/…