There is no denying the success of Amazon in delivering data services as part of their public cloud. Their database as a service (DBaaS) offerings have been some of the fastest growing and widely used and stand-outs in their amazing growth. At the same time, there are some situations where other options, and in particular those based on OpenStack, can provide clear advantages.
In this article, I’ll share the current state of DBaaS on OpenStack and provide seven concrete examples of how an organization can benefit from using OpenStack Trove relative to the offerings available from Amazon Web Services (AWS). I’ll assume you understand the value of DBaaS and databases in the cloud so I won’t review those here. Let’s get started.
1. OpenStack DBaaS runs in the data center, as well as public cloud. While there are clear advantages to the flexibility of the public cloud, many enterprises are reluctant to run all databases there since there is inherently less control and visibility to the security and privacy of the data. I’m not going to get into the argument over whether or not this is true – or how much risk is involved. My opinion doesn’t matter. Enterprises have spoken and they prefer to have the flexibility of deciding where their sensitive data is stored.
In the case of AWS, the only option is public cloud. With OpenStack, your data can be managed on-premises, in a hosted private cloud in a public cloud like OVH, Rackspace or IBM Blue Box. Some of these service providers even offer customers a built-in, Trove-based enterprise DBaaS.
2. Access to source code. The old saying with regards to open source software is that it can be “free as in speech” or “free as in beer”. In other words, it can give you the flexibility of not locking you in to a particular vendor’s software or API’s or it can be free to download and use with no financial obligation to license the software. In my experience, while it is always nice to get things that you don’t have to pay for, the former is MUCH more important than the latter. The good news is that with OpenStack Trove you can have both.
On the “free as in beer” side, OpenStack Trove is offered as free, open source software under a very permissive Apache 2.0 license. You can get the code on github or download our company’s Community Edition, an easily installable distribution of this software.
Since Trove is an official OpenStack project, it benefits from being part of the fastest-growing open source community in history. According to OpenHUB, OpenStack has had contributions from more than 4,000 individuals. OpenStack DBaaS is also supported by a wide and vibrant community with more than 200 individuals contributing from 40 different companies including HPE, IBM and Red Hat.
In summary, with OpenStack Trove, the source code is freely available, it is developed by a large community of individuals and companies and is governed by a well-known, independent open source body, the OpenStack Foundation. In contrast, the software AWS’s data services and the APIs to manage them are all proprietary and controlled solely by Amazon.
3. Update on your own timeline. AWS decides when it will make updates to its software and then rolls those out to its users. By contrast, OpenStack and the Trove DBaaS updates are rolled out twice a year and enterprises can decide if and when they will roll out these updates. This provides more flexibility and control over how OpenStack DBaaS is upgraded in comparison with AWS.
4. No lock-in
OpenStack DBaaS is virtually the same whether it is run in an on-premises data center or on a hosted private cloud. Building on the benefits of open source, not only do you get a standard set of APIs and source code from an open community, but you can also get this same solution from multiple vendors provided in many locations, operated as a service, or as software that you can operate yourself.
With this, you can move between hosted and on-premises deployments in the event that it’s necessary to make a change. For example, an application may be developed in a hosted or public cloud environment, and then moved on-premises for deployment if desired.
With AWS that simply isn’t the case – you use AWS public cloud, period.
5. Choose your database: greater flexibility with more available choices. Here is the gem of OpenStack’s database as a service: Only OpenStack Trove provides a single framework to operate 13 different database technologies in a consistent way.
A survey by 451 Research found that enterprises are likely to have multiple database types for different usages. Those will include both SQL and NoSQL datastores, ones optimized for both operational and analytic workloads, as well as both open source databases and commercial database products. As these enterprises move to private, public and hybrid cloud implementations, they bring all of these databases with them.
While enterprises are now using lots of databases, their management platforms have traditionally been technology specific. This trend has largely continued as database management has moved into the cloud with single database DBaaS offerings such as Azure SQL Database (Microsoft SQL Server), MongoLab (MongoDB) and Cloudant (CouchDB) dominating the landscape.
While Amazon’s Relational Database Service (RDS) supports a handful of different databases, they are all traditional relational databases with similar architectures. And, AWS provides completely different solutions for data warehouse (Redshift) and NoSQL (DynamoDB).
Trove takes a fundamentally different approach by creating a pluggable architecture where a wide variety of databases can be managed from a common infrastructure and interface. OpenStack Trove currently supports Cassandra, CouchBase, CouchDB, DataStax Enterprise, DB2, MariaDB, MongoDB, MySQL, Oracle, Percona Server, PostgreSQL, Redis and Vertica with several more currently under development.
6. Adopting new technologies. Because OpenStack Trove is open source, it can be extended to meet new requirements as they arise. Perhaps you need to support a database that isn’t on the list above or there is new functionality you’d like to add to your favorite database, say a new means of replication. In the case of an open source software like Trove, you can add that support on your own or partner with someone to implement it for you. With AWS, on the other hand, you are limited to whatever AWS delivers and supports and you’ll get it on their timeline.
7. More control over security. When OpenStack Trove is deployed as a private cloud inside the data center, it is operated by your company’s IT staff who can make sure that it adheres with enterprise best practices and policies for data retention, encryption, backups, etc. While public cloud based DBaaS offerings may provide the tools to do the same, ensuring that those tools are applied often falls to individual developers who provision the databases. When operating Trove inside the envelope of corporate governance and data security, users can be assured that the configurations they are deploying have been reviewed by IT to verify that they follow industry best practices, corporate policies and the applicable data protection laws of the jurisdictions governing the data.
These examples highlight the flexibility that OpenStack offers in comparison with AWS. The counter argument is the built-in simplicity of AWS public cloud, which is readily available and accessible.
In the end, whether you choose AWS, OpenStack or some other solution, database- as-a-service in its many forms can help enterprises be more agile and cost effective versus traditional on-premises databases.