White Paper Getting Started with Database As a Service on OpenStack
Today s Database Management Challenges The last decade of computing technologies have been dominated by the proliferation of virtualization and cloud technologies that deliver superior economics through higher utilization, hardware commoditization and standardization. They have also dramatically improved IT responsiveness by making it possible to quickly provision and release large hardware configurations in a very short time. The increased efficiencies in application development have highlighted shortcomings in the capabilities of Database Management Systems in these virtualized environments. Rapid innovation in the data management space has also led to a proliferation of new technologies and applications now store their data in a wide variety of purpose built DBMS. In large IT organizations, an inordinate amount of time and resource is spent in managing a relatively small number of servers that are used for DBMS. In addition to the requirement for higher performance (more compute, better I/O bandwidth, more storage) servers and the attendant hardware costs and management costs come the cost and complexity of managing the diverse DBMS that run on these machines. A variety of attempts have been made to attempt to address these problems. In the public cloud environment we have Cloud Databases from Rackspace, RDS and DynamoDB from Amazon, MongoHQ (MongoDB as a Service), and so on. In the private cloud we have VMWare vfabric Data Director, Delphix, the OpenStack Trove project and a variety of cookbooks for OpenStack that all help to quickly provision and manage instances of DBMS in a virtualized environment. DBMS in the cloud today are a patchwork of tools, tips, tricks and services. Each DBMS has it s own management interface, completely different semantics, and a unique skillset. A significant shortcoming with the present field of technologies is that they each attempt to handle and manage individual instances of a DBMS, and they attempt to provide tools and techniques for each specific DBMS technology. For example, Amazon provides RDS which includes RDS for MySQL, RDS for PostgreSQL, RDS for SQL Server, and RDS for Oracle, and DynamoDB. An application which wishes to use more than one of these technologies is left to handle each one by itself. Similarly MongoHQ provides you MongoDB as a Service and nothing more. 2 White Paper Getting Started with Database as a Service on Openstack www.tesora.com
The Database as a Service Platform There is a solution. Tesora has been working on delivering a database as a service platform with a new DBMS paradigm that delivers the promises of the cloud. A database as a service (DBaaS) platform provides a single framework within which you can operate many instances of a variety of different DBMS technologies utilizing common infrastructure in an economical way. Using this platform, common administrative tasks including provisioning, deployment, configuration, tuning, monitoring and administration are achieved in a simple unified way. The application is presented with a simple interface that encapsulates the complexities of operating and scaling the underlying infrastructure based on the applications needs. Unlike services like Amazon RDS and DynamoDB which provide virtualization for individual DBMS technologies, a DBaaS platform provides a framework within which many different technologies can be operated and where administration is simplified and streamlined. The OpenStack approach towards DBaaS (OpenStack Trove) is fundamentally different from other attempts at DBaaS in that it treats all DBMS technologies equally and provides a mechanism whereby the administration and operation can in fact be unified and simplified. A common Management & Provisioning API exposes a common interface to all the functionality provided by the DBaaS platform in a data store agnostic manner. It does this by utilizing plugins that implement the data store specific functionality. Applications interact with database management systems using Data APIs. 3 White Paper Getting Started with Database as a Service on Openstack www.tesora.com
In addition, various specialty software implementations may be installed and would provide the functionality that is desired. For example, scalability could be achieved either by sharding or some horizontal scale-out mechanism. The appropriate scale-out application and its plugin could be installed. Similarly, several mechanisms exist for replication and the appropriate software and its plugin could be installed. For example, the Tesora Scale-Out Data Virtualization Engine can be used with a DBaaS platform to add true horizontal scalability for a cluster of MySQL databases. This enables you to add and takeaway database instances dynamically and virtually share resources across them as needed to meet your consumers requirements. Features and Benefits of the Tesora DBaaS Platform Self-service provisioning Features Benefits Provides on demand database capacity to your users. Provides a lower-cost, more flexible alternative to Amazon RDS. Rapid provisioning Easy for operations to offer new types of databases with various configurations that can be replicated on demand for new instances for their users. Single management interface, many database technologies Provides a common interface to provision, deploy, monitor and administer. Lower training costs learn a single management interface for multiple database technologies. Single API, many database technologies Provides applications with a single, simple API with which to interact across multiple database technologies. Automated back-up and recovery Minimize data loss. Protect users from hardware failure with redundant back-ups. Built on OpenStack for OpenStack Fully integrated with OpenStack Nova, Swift, Cinder and other components to provide a full database as a service platform on OpenStack. Apache 2.0 open source license. Enterprise SLAs for professional support Guaranteed response times and availability of support staff 24x7 to support your development and production needs for Tesora support customers. 4 White Paper Getting Started with Database as a Service on Openstack www.tesora.com
Tesora Database as a Service Platform and OpenStack Trove OpenStack Trove provides a powerful open source implementation of a DBaaS Platform. The Trove community is very active and continues to expand the capabilities of OpenStack Trove. OpenStack Trove provides the common Management & Provisioning API for a heterogeneous collection of data stores and software products, utilizing a mechanism of plugins. A common Management & Provisioning API is provided. Software specific plugins are used to provide the implementation of the software specific implementations of the API. A physical layer provides a variety of hardware components including servers, storage and network. These are managed and provisioned using the various OpenStack shared services like Nova for compute, Neutron for networking and Cinder for block storage. In addition, object storage (provisioned with Swift) is available. Machine images are stored and retrieved using the Glance service. Identity management is provided by Keystone and Horizon provides the monitoring. Orchestration and provisioning are handled by Heat. DBaaS Platform & OpenStack Trove We recommend the following steps to getting started with Trove: Check out the OpenStack Trove wiki: https://wiki.openstack.org/wiki/trove Installation instructions: https://wiki.openstack.org/wiki/trove/installation Tip: We found that 75 GB was a good starting point for our virtual image Install integration tests https: https://wiki.openstacw k.org/wiki/trove/installation Accelerate ramping up your Trove skills and speed up time to delivery for your Database as a Service to your customers by partnering with Tesora s professional consultants and support team. Contact us to request a free architectural consultation. Since the Trove project is completely integrated with OpenStack, it is the clear choice for DBaaS on OpenStack. For more information about Tesora, please contact us at info@tesora.com. 125 CambridgePark Drive, Suite 400, Cambridge, MA 02140 1 978.707.8010 www.tesora.com 2015 Tesora Corporation. This document is provided for informational purposes only, and the contents hereof are subject to change without notice. While reasonable efforts have been made to ensure correctness, this document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. The Tesora logo is a trademark of Tesora Corporation. Other names may be trademarks of their respective owners. 5 White Paper Getting Started with Database as a Service on Openstack www.tesora.com