Openstack Trove - DBaaS
A database-as-a-service framework for OpenStack, Trove lays the groundwork for automating the provisioning and management of leading SQL and NoSQL databases
Today, enterprise IT faces a challenge like never before: Provide more and better services, be more agile, and lower operating cost, all while guaranteeing absolute invulnerability to security breaches.
This challenge is most acute when it comes to data and databases. Many significant IT challenges tend to swirl around ensuring that these systems are scalable in the face of increasing volumes of data and transactions. To meet these goals, enterprises continue to spend a significant amount of their IT budgets on things relating to databases: faster hardware and new software licenses along with highly skilled database administrators.
As one example, the Amazon public cloud (AWS) provides DBaaS with an assortment of services that include RDS (Relational Database Service), the NoSQL database service DynamoDB, the data warehouse service Redshift, and the in-memory cache for the cloud, ElastiCache.
In the private cloud, Trove, the DBaaS project that is part of OpenStack, provides a coherent infrastructure to manage diverse cloud database technologies. Trove allows IT professionals to offer their users the ability to provision and manage a wide variety of relational and nonrelational databases -- MySQL, Percona Server, MariaDB, PostgreSQL, MongoDB, Cassandra, Couchbase, and Redis -- through a single consistent set of interfaces.
How DBaaS will change enterprise IT
For a decade or so, IT organizations have watched as their users were lured by the inexpensive and ubiquitous solutions that are available in the public cloud. These services can be quickly and easily consumed with the simple swipe of a credit card. While public cloud services are wonderfully convenient, users of these services often operate outside the guidance of the IT organization. The challenge of enforcing corporate governance on internal customers who leverage the public cloud is a difficult one.
The public cloud also offers a tremendous amount of choice in the services it offers. For example, a large number database services are offered on AWS both by Amazon and third parties. Matching this range of options presents a challenge for IT staff who may not have expertise in every conceivable database technology.
DBaaS using OpenStack Trove offers IT an opportunity to deliver increased database choice along with improving agility and security. Here are five specific ways that DBaaS can change the way enterprise IT is managing databases today:
1. Best practices at dramatically lower costs
A private cloud DBaaS solution like OpenStack Trove offers the enterprise a flexible solution that can be deployed safely inside the envelope of corporate governance and data security. Trove offers a rich variety of database technologies in easy-to-consume, prepackaged configurations. By incorporating the best practices for operating the respective database technologies into these configurations, IT staff does not need expertise on all of them.
Standard configurations reduce support costs while also playing a part in ensuring data integrity and security. Operating within the IT infrastructure, DBaaS provides capabilities like automated backup, automated upgrades and patch management, and self-healing that make for an easy to manage service.
2. Faster provisioning, less waiting
To an IT customer within the enterprise, DBaaS dramatically improves agility. Gone are the days of requisitioning a database server and waiting weeks or months for it to be provisioned. A fully configured database server could be a few key-clicks away!
Furthermore, DBaaS offers more than a preconfigured database server; it is a fully managed service that allows the customer to focus on making the best use of the database while relying on the infrastructure to ensure data integrity, security, and continuity. Because the service is operating within the context of a private cloud, there is the assurance of conformance to corporate policies such as data retention and privacy.
3. Easier access to new database technologies
The database landscape has changed radically in the last few years with NoSQL and NewSQL solutions providing new benefits in areas such as scalability, availability, and flexible data modeling. Traditionally, developers have been forced to use the corporate-standard database or to go it alone and manage any new database technologies themselves.
DBaaS solutions allow an IT customer to pick the right database technology for their specific use case. While MySQL may be the right solution in one case, MongoDB may be the right solution in another. A DBaaS solution allows users to choose the right database technology from among a menu of database services. At the same time, users can be assured that the configurations they are deploying have been reviewed by IT to ensure that they follow industry best practices and corporate policies.
4. More experimentation and faster innovation
While the value of quickly provisioning a database is considerable, the fact that an IT customer can as easily discard a database and provision a new one is no less significant. It gives the customer the luxury of experimenting and iterating quickly to rapidly arrive at the right long-term solution without unnecessary compromise.
5. Reduced time and effort moving from development to production
Finally, DBaaS provides a safe and simple way to help transition a database through the application development process. During the development phase, the DBaaS could provision databases in low-cost configurations that are geared toward development activities. As the application progresses toward production, the DBaaS could seamlessly reconfigure these databases for production with higher levels of availability and performance.
OpenStack Trove: Open source DBaaS
Trove, the DBaaS framework for OpenStack, debuted in the IceHouse release of OpenStack in April 2014. It supports both relational and nonrelational databases and allows users to quickly provision and operate databases through a Web-based UI (Horizon), a command-line interface, or a REST API.
IT organizations and cloud service providers can configure Trove to provide a variety of database configurations in the form of preconfigured “guest images.” Guest images encapsulate database administration best practices, helping to ensure that the system is operated and managed properly without requiring the IT staff to be experts on every database technology. Guest images can be configured by the operator or downloaded from publicly available sources.
Users then request a single database instance, pairs of instances with replication, or clusters for scalability. Trove then orchestrates the provisioning process to meet these requests by calling on underlying OpenStack services such as Nova (compute) and Cinder (storage).
OpenStack Trove architecture
Beyond basic provisioning, Trove automates the lifecycle management of the database instances it provisions. When it comes time to take a backup, Trove initiates the process and stores the backup on the Swift object store. A user could later launch a new database instance based on a previously performed backup. When a user wishes to resize the database, either by changing the storage or compute resources assigned to it, Trove orchestrates the entire process including the migration of data.
Trove also benefits from being part of the OpenStack community, boasting wide participation from companies such as eBay, HP, IBM, Rackspace, and Tesora and OpenStack distribution providers, including Red Hat, Canonical, and Mirantis. Both HP and Rackspace operate Trove in production as part of their public clouds, while eBay operates Trove in its private cloud to support multiple production applications using a variety of database technologies.
Tesora, the leading contributor to the Trove project, offers an enterprise-hardened DBaaS Platform based on OpenStack Trove and freely distributes certified and tested guest images for a variety of databases that are supported by OpenStack Trove.
As the siren song of the self-service cloud continues to lure enterprises and their users, the pressures on enterprise IT organizations will inevitably push them toward open source technologies and standardization. In the area of data management, these forces will undoubtedly lead toward the adoption of DBaaS technologies, which will allow them to offer a variety of services in a more agile, cost-effective, supportable, and secure way.
OpenStack is emerging as the dominant private cloud operating system, and OpenStack Trove is rapidly becoming the solution for provisioning and managing all of the relational and nonrelational database resources within the enterprise.
About the Author:
Amrith Kumar is the founder and CTO of Tesora and an active technical contributor to the OpenStack Trove project. Tesora provides a self-service, managed database service based on Trove for MySQL, PostgreSQL, MongoDB, Cassandra, Redis, and other leading data stores.