whitepapera
WHITEPAPER
Essential Capabilities of Running a Database as a Service on Kubernetes

The Challenges of Running Databases as a Service

Architecting a Database as a Service to meet the needs of both your developers and traditional enterprise requirements in a Kubernetes environment is challenging. Your developers want speed and ease of use, with self-service, auto scaling, and automated deployments. Your enterprise policies dictate strict rules around data protection, access control, encryption, and key management.

API Driven

Developers want cloud native interfaces to automate deployment and operations.

Auto Scaling

DevOps need “set it and forget it” declarative policy driven scaling.

Application Aware

Most modern data services are complex distributed systems that run across machines. You need to be able to manage the database as a whole, not as a collection of individual Pods.

Protection

You need to be able to centrally administer policy compliant data protection for snapshots, backup, and disaster recovery while at the same time enabling a self-service experience for your developers.

Security

Enterprise policies dictate robust role based access control, encryption, and key management.

The Benefits of Database as a Service

Are you considering a move to DBaaS? The upfront time and effort required to port your operations might be substantial, but the benefits are often worth it. Here are some to look forward to:

It’s cost-effective

One of the biggest reasons to consider fully managed database services is the cost savings.

First, you don’t need to worry about infrastructure investments like servers, storage, and networking equipment. That’s because the DBaaS provider will handle that for you. This also takes installation, security, monitoring, and maintenance tasks off your plate, reducing the in-house staffing you need.

Apart from freeing your budget, managed database providers will also help liberate your IT team to focus on more mission-critical aspects of your business. Database analysts, for example, can focus on working with data without worrying about the underlying system.

It’s scalable

Due to the rapid pace at which online businesses grow, scaling becomes a major challenge. Investing in additional network storage isn’t only expensive, but it can also slow down operations.

DBaaS neatly solves this problem. Expanding storage is as simple as provisioning storage and computing resources or creating a new database instance. There’s no need to buy new equipment or invest in IT infrastructure professionals to set up everything. Developers can easily do these tasks.

But it’s not just about scaling up. DBaaS can also help you scale down to maximize your cost. For instance, you can provision for a bigger capacity during peak seasons, then throttle it down during lean months to save money. This flexibility is something that only a database as a service provider can offer.

It simplifies management

Because DBaaS is a fully managed solution, there’s very little you need to do on your end. The provider handles everything from security to updates. That makes DBaaS a fantastic cost-effective solution for smaller organizations that don’t want to maintain an in-house database administration team.

Even for larger companies, DBaaS still offers benefits from a management perspective. Most providers allow you to manage certain aspects by your in-house team, while the rest can be set on auto-pilot.

It’s secure and reliable

As long as you choose the best provider, a DBaaS system can be more stable and secure than an on premises database.

A good DBaaS provider will use enterprise-grade software to help maintain the database architecture. Security is a top priority, with stringent encryption and access management protocols to keep your data safe.

Reputable providers will also have a service-level agreement (SLA) in your contract, guaranteeing the DBaaS system will always be up. This lessens the likelihood of server downtime that can disrupt your operations. And in case it happens, you’ll be compensated accordingly.

Finally, DBaaS companies often invest in the best software and regularly update them. This gives you the best, most stable options in the market with the best performance and cybersecurity.

It makes your organization future-ready

With a DBaaS system, you won’t worry about getting technologically outdated by the market. You’ll always have access to the latest technologies and platforms that can give your company an edge.

Ideal DBaaS Characteristics

On-demand
Like cloud solutions such as SaaS, database operations in a DBaaS should be done on-demand. That means developers should be able to do it themselves, at any time of the day. This isn’t limited to just accessing data but also provisioning, scaling, and configuring these databases.

As a natural extension of being on-demand, DBaaS systems should also be self-service. That means anyone in your organization should be able to perform database operations without having to contact the DBaaS admin team. Contingencies like disaster recovery or security must happen automatically in the background without human intervention.

Rapid Elasticity
Rapid elasticity means that a database should easily scale up and down as needed. And in the case of DBaaS systems, this should happen automatically.

For instance, if the user wants to create a new database instance but their capacity is already near full, then the DBaaS system must automatically provision more storage. Users shouldn’t have to do this manually. On the flip side, if database resources aren’t maximized continually, the DBaaS must scale down to optimize cost.

Metered billing scheme
A flexible metered scheme should be the primary (if not the only) way to determine billing in a database as a service. Cloud computing defines this as only paying for something that you use. In other words, users should pay for utilization and not ownership.

The most common way of doing this is time billing. For example, users can be billed for how long they utilize computing cores or core-hours utilization. Another way is to bill for every service request, common in serverless deployments.

The most crucial aspect of metered billing is transparency. The user should know how much their utilization is and how much cost it’s racking up.

Security and access management
The DBaaS must provide the best cybersecurity tools, like encryption, to ensure the safety of your data. In case of a security breach, it must also have protocols to ensure that the threat doesn’t escalate further into the system.

Related to security is access management or governance. The DBaaS must be able to accommodate different users with various privileges. For instance, some users should be able only to view databases and not alter them. Doing this provides flexible database access without compromising security.

Choosing the Right Database Service Provider

If you are exploring potential DBaaS providers, here are the top things you should look for when considering them:

Scalability and performance

Performance is perhaps the number one priority when picking a DBaaS provider. Make sure the speed of real-time data access fits your application’s requirements.

You should also look into how scalable the solution is. Can you easily provide more storage or bandwidth to accommodate increased users during peak season? Performance is useless if you can’t maximize it when it matters.

Service Uptime

Nowadays, customers and users expect online services to be up 100% of the time. While that’s not possible, your DBaaS should come close. 99.999% is the standard – the more nines, the better.

As important to availability is the ability of the DBaaS to recover when downtime occurs. It should be fast enough to minimize data loss and avoid users going over to competitors.

The right fit with your applications

Not all DBaaS will fit well with your applications and systems. Sometimes, a faster response time is needed that a provider can’t cover. Unfortunately, you won’t realize this until you’ve deployed it in your business.

A compromise is to create a prototype application, then test it in the new DBaaS. That should help you evaluate the database’s performance and data access speeds against real-world factors.

Data Models

Relational databases have been the traditional setup for data storage. But with the various types of data available today, so too are the data models you can use.

For example, some applications might be better off by storing and accessing JSON documents, while others do well via graphs.

A DBaaS solution must offer most (or all) of the latest data models for the best flexibility. Your organization might not need them now, but having the capability means you’ll be ready.

The Portworx DBaaS Solution

Portworx gives developers the self-service they want, while maintaining operational control, data protection and security that IT requires.

Offer Any Database-as-Service

Portworx lets you easily offer any database-as-service to your users without being an expert in each data service, because our app-specific capabilities automate deployments, snapshots, backup, and more.

Self-service. Without giving up control.

Portworx makes it dead simple for dev teams to deploy a database-as-a-service without waiting for IT. But you can set storage and resource quotas and centrally apply policies to maintain control.

Automated Day 2 Operations

Accelerate adoption and automation of Day 2 operations with PX-Autopilot without needing extra staff. Increase reliability and cut your storage costs in half at the same time.

Run On All Infrastructures

Portworx aggregates your underlying storage in the cloud (AWS EBS, Google PD, etc) or on prem (bare metal, NetApp, EMC, vSAN, etc) and turns it into a container-native storage fabric.

Performance

Give your users near bare metal performance while offering optional hyper-convergence of Pods and data volumes for super fast data locality, even in the case of Node failures.

Disaster Recovery

Achieve RPO Zero for your apps and data with container and namespace granular backups without being limited by machine-based backups of traditional DR.

Data Security

Run even sensitive apps on Kubernetes with Portworx’s built in encryption, BYOK, and role-based access controls for your mission-critical data.

Supported technologies

Learn More
image
Containers as a Service

Confidently run your most mission-critical data services on Kubernetes with the Portworx Enterprise Storage Platform.
  • Offer any data services on your container as a service platform
  • Easily manage many instances of each data service
  • Automate operations (backup, capacity management, policy enforcement, and more)
  • Keep storage costs down with automated capacity management

Learn More
image
Disaster Recovery

Virtual Machine disaster recovery doesn’t work for containers. PX-DR does.
  • DR built from the ground up for Kubernetes
  • Protection for entire apps, not just data volumes
  • Zero RPO disaster recovery in a metro area
  • Asynchronous DR options for wide area networks

Learn More
image
Software as a Service

Scale the backend data services for your SaaS app without operational complexity.
  • Data services at SaaS scale
  • Easily manage many instances of each data service
  • Automate operations (backup, capacity management, policy enforcement, and more)
  • Keep storage costs down with automated capacity management