25 Feb 2022

The case for managed databases

Should you get your database managed? Discover the real costs and benefits of self-hosted vs. managed databases.

dewan-ahmed

Dewan Ahmed

|

RSS Feed

Senior Developer Advocate

The case for managed databases illustration

What do developers want from a database? In the cloud-native era, developers want a database to be reliable, scalable, and logically act as a single entity regardless of the number of instances. For many businesses, managing a database is not their core strength, and neither it is their competitive advantage. A managed database provides all these features (and more) so that developers can focus on developing their business-critical applications.

In this article, I discuss the true costs and benefits of self-hosting and managing a database, I'll highlight the benefits of a managed database.

From a cost perspective, consider these three factors for managing a database:

1. Hardware costs: When hosting a database, you typically have either physical or virtual machines (running Linux). This hardware costs money. In the case of physical hardware, you also have to foot the costs of the physical setup, networking, and security (you don't want someone to run away with a disk, right?).

2. Software costs: The license of your database software costs money. If you're using open-source software (good choice BTW), you avoid licensing fees but you need experienced DBAs and engineers to make the open-source software work for your business. More on this below...

3. Operational costs: Operational costs are costs to run your database smoothly on a day-to-day basis. You'll need a team of DBAs and/or SREs to configure and monitor these databases. The cost of technical talent is the biggest chunk of the operational costs. Besides running the main database, for production databases, you probably have some disaster recovery plans. There are costs associated with creating backups (cost of storage), as well as the cost of technical talent who spends time on the database backup rather than working on your business applications. Also, both operating system and databases must be updated, and incur costs for a zero downtime setup.

A self-hosted and self-managed option can make sense for large engineering teams with deep expertise in databases, or for businesses that need custom solutions for their database needs. It gives the owner more control.

If yours isn't a large enterprise, though, managed options are usually more feasible. Let's take a look at some of the benefits.

The first benefit of a managed database is that you don't have to administer either the operating system of the host machine or the database itself. Security patches and updates for the operating system and database can get time-consuming and a managed database provider runs this maintenance for you in the background. Your data is encrypted at rest and in transit with most managed database providers.

Whether you need to scale up or scale out, you can do so with the click of a button or a CLI command rather than buying expensive hardware. In the case of self-hosted database on a virtual machine, you would most likely need to take the database instance down before adding more compute power. In the case of managed database, you can respond to increased load with a more powerful machine or increased number of database instances. Often times, your managed database service will not be impacted during this migration.

A managed database provider will fine-tune the database to drive optimal performance. Unless you have database experts in your team, you will have difficulties to turn the knobs to get peak database performance. Furthermore, with cloud/managed database services, you'll have the option to choose from HDD or SSD based on your estimated IOPS. If you own the servers yourself, you're stuck with the choice of storage.

Logs and metrics for your databases are provided out-of-the-box for a managed database service which you don't have to pay for. On the other hand, you would have to write custom integrations for your self-hosted database.

Cloud and managed database services are billed by the hour (or even minutes in some cases). That means that you only pay for your usage and don't pay for idle server hours.

This post discussed the value of a managed database service over managing the database yourself. Here's some further reading on the topic:

--

If you're not using Aiven services yet, go ahead and sign up now for your free trial at https://console.aiven.io/signup! Not using Aiven services yet? Sign up now for your free trial at https://console.aiven.io/signup!

In the meantime, make sure you follow our changelog and blog RSS feeds or our LinkedIn and Twitter accounts to stay up-to-date with product and feature-related news.

Related blogs

All things open source, plus our product updates and news in a monthly newsletter.

Subscribe to the Aiven newsletter

Loading...