What You Need to Know about Database as a Service on OpenStack
Let’s start by defining what we mean by the term Database as a Service, or DBaaS. Simply put, it is database capacity that can be consumed on-demand like electricity. A database management system (DBMS)—either relational or NoSQL—is used for storing and retrieving data.
Databases are the heartbeat of technology deployed in data centers as the repositories of mission-critical data. A lot of resources (people and money) go into building and maintaining DBMSs.
Old Ways into New Ways
Because the information managed by these systems is so valuable and critical to ongoing business operations, the machines that host databases have traditionally been some of the most powerful ones in the data center to meet the performance and reliability requirements.
This also had an impact in the operational management of the databases. Provisioning a new database server involved lots of planning and resources to ensure that the system would perform well and was highly reliable. Organizations would often constrain database choices to a few (or even one) corporate standard DBMSs.
Today’s trends towards more agile IT infrastructure and cloud computing are changing all that. Developers expect to get resources on demand and choose the best tool for a given job, including the right database, whether that is a NoSQL key value store, document database or a traditional relational database.
This is driving the movement to database as a service. DBaaS provides a data management infrastructure that is secure, scalable, and reliable while enabling self-service for selecting and operating a DBMS.
The first manifestation of database as a service occurred in the public cloud. The DBaaS is operated by the provider of the infrastructure services or by another vendor building on those services. Some cloud platforms such as Amazon Web Services (AWS), present several options for SQL and NoSQL databases, while others are much more limited.
Public cloud services are convenient, however the consumers of these services in enterprises often operate outside the governance of the IT organization. That, of course, opens a potential risk when dealing with mission-critical enterprise data. This challenge of enforcing corporate governance on internal enterprise users who leverage the public cloud is a difficult one.
Enterprises, however, are beginning to see the alternative of a private cloud DBaaS solution like OpenStack Trove. Trove can be deployed safely inside the envelope of corporate governance and data security while providing the benefits of agility and choice that have driven users to DBaaS in the public cloud. Trove offers capabilities like automated backup, automated upgrades and patch management, and self-healing making for an easy to manage service operating within the corporate IT infrastructure. Because the service is operating within the context of the company’s private cloud, the IT team can ensure conformance to corporate policies such as data retention and privacy.
Where Trove Fits in OpenStack
Trove leverages core components and shared services of OpenStack making it simple for enterprises to deploy DBaaS. For example, Trove uses the Nova compute service to create virtual machines on which to run database servers, Cinder block storage to provision database storage, and Swift’s object storage to capture backups. Since Trove is layered on these core services, its users can take advantage of these services without any special customization. They can also benefit from any enhancements that have been implemented in the underlying core services of OpenStack, for example, if Nova has been configured to offer bare metal resources through the OpenStack Ironic service, Trove can leverage that.
One of the most powerful Trove features is the way that database instances are launched and managed. Prepackaged guest images of virtual machine configurations are stored in the OpenStack repository called Glance. When a guest image boots, it unpacks itself and produces a full-service, ready-to-use database instance, eliminating the need to configure or hand-tune the database server from scratch. This also means that all database instances created from that image are consistent and optimized for easy management
The guest image includes a guest agent that manages the database instance on behalf of Trove. The guest agent is a small software module that serves as a proxy for Trove to start, stop and manage the various processes that constitute the data store. The result is an architecturally simple construct for provisioning and managing multiple database technologies. Guest images can be configured by the operator or downloaded from publicly available sources.
Benefits and Usage
Many of Trove’s benefits have already been covered in this article, but let’s recap the major highlights of OpenStack Trove database as a service for the enterprise.
• When OpenStack Trove is deployed as a private cloud inside the data center, it adheres with enterprise best practices and policies, such as data retention, data privacy, encryption and backups.
• Delivers flexibility for choosing the right database technologyfrom available DBMSs, which retain all their capabilities. For example, Tesora’s DBaaS platform implementation of Trove currently supports 11 DBMSs.
• Simplifies the overall management and operation of different DBMSs – both relational and NoSQL – throughout their lifecycle. Routine tasks like provisioning, and managing administrative tasks like clustering, replication, backup and restore are handled in a simple, unified way. This helps to reduce support costs.
Several major enterprises are using Trove in their business operations in private clouds. For example, at eBay, one of the first adopters of Trove, developers are able to provision and manage databases on demand while choosing from five different database technologies, enabling developer agility and operational efficiency. Trove has also been deployed in production on a very large scale at HP and Rackspace in their public cloud offerings.
Trove has made fast progress since its debut in the Icehouse release of OpenStack in April 2014. Already, in production use at major enterprises and public cloud service providers, it delivers the benefits of agility and database choice of the public cloud while allowing the IT organization to utilize existing resources and ensure that corporate policies for privacy and security are being followed. For any enterprise involved with an OpenStack implementation, database as a service and Trove is a natural extension that can deliver greater agility as part of the overall transition to cloud computing.