在以下这篇由Tesora CEO Ken Rugg撰写的专栏文章中,分享了基于OpenStack的DBaaS服务的发展现状,以及7个具体的示例。在这些实际的例子中,组织机构通过使用OpenStack Trove获得了相对于AWS解决方案的优势。下面就为您一一讲述OpenStack DBaaS能够做到,但是亚马逊AWS却无法做到的这些事。
尽管公有云在灵活性方面拥有显而易见的优势,但是许多企业并不愿意在公有云上运行所有的数据库,因为企业在数据安全和隐私方面将不可避免失去控制权和可见性。我并不想争论孰是孰非,或者其中的风险到底有多大。我个人的意见并不重要。企业已经指出并且喜欢拥有决定在哪里存储敏感数据的灵活性。
在AWS中,公有云是唯一的选项。在OVH、Rackspace或IBM Blue Box等公有云上的托管私有云中,你的数据可以通过OpenStack在本地被管理。其中的一些服务商甚至为客户提供了内置式基于Trove的企业DBaaS服务。
关于开源软件的一句老话是——它们能够实现“自由”或是“免费”。换句话说,它们给了你不会被锁定在某一特定厂商的软件或API的灵活性,开源软件可以被免费下载,在使用时也不必购买软件的许可证。在我看来,不花钱就能够得到一些东西总归是好事,但是“自由”比“免费”更为重要。好消息是借助OpenStack Trove,你可以同时拥有这两样东西。
免费方面,OpenStack Trove是一款基于非常宽容的Apache 2.0许可证的免费开源软件。你可以在github上获得它们的代码。
自从Trove成为了OpenStack官方项目,作为有史以来增长最快开源社区的一部分,它们也从中受益匪浅。根据OpenHUB称,OpenStack已经获得了4000多名个人的贡献。OpenStack DBaaS也得到了一个有着200多名成员且充满活力社区的支持,这些成员来自40个不同的公司,其中包括HPE、IBM和红帽等。
总之,你可以免费获得OpenStack Trove的源代码。一个由个人和企业组成的大型社区正在对其进行开发,同时独立开源实体——OpenStack基金会对其履行管理职责。与之形成鲜明对比的是,AWS的数据服务,以及管理它们的API均为专有、且由亚马逊独家掌控。
AWS决定何时对他们的软件进行更新,然后向其用户推送。与之不同的是,OpenStack和Trove DBaaS更新每年进行两次,企业可以自行决定是否进行更新,以及何时进行更新。与AWS比较起来,OpenStack DBaaS在升级方式上具有更大的灵活性和控制权。
无论是运行在本地数据中心,或者是运行在托管私有云上,OpenStack DBaaS实际上都是一样的。得益于开源的优势,我们不仅可以从开源社区那里获得标准的API和源代码,我们还可以从各地的厂商那里获得相同的解决方案。你可以自己运行它们,将它们作为服务或是软件。有了这一优势,一旦必须要进行调整,你能够在托管和本地部署之间实现迁移。例如,应用或许部署在托管或公有云环境中,但是如果需要可以将它们迁移到本地。这一优势是你在使用AWS公有云时所无法获得的。
这是OpenStack DBaaS的精华。OpenStack Trove提供了一个统一的框架,其能够以相同的方式运行13种不同的数据库技术。根据市场研究机构451 Research的观察,企业针对不同的用途可能会使用多种数据库类型,其中包括SQL和NoSQL数据仓库,这些都将会针对运营和分析工作负载,以及开源数据库和商业数据库产品进行优化。随着企业转向私有云、公有云和混合云部署,这些数据库将随企业而行。
企业目前正在使用大量的数据库,其管理平台通常都有专用的技术。尽管数据库管理开始转向云端,但企业仍然倾向于选择单一的DBaaS解决方案,例如主流的Azure SQL Database(Microsoft SQL Server)、MongoLab(MongoDB)和Cloudant(CouchDB),这一趋势在很大程度上将会延续下去。
虽然亚马逊的关系型数据库服务(RDS)也支持一些不同类型的数据库,但是它们都是有着相似架构的传统关系型数据库。此外,AWS为数据仓库(Redshift)和NoSQL(DynamoDB)提供了完全不同的解决方案。
Trove采取了一种与众不同的解决方案。它们创建了一种插接式架构。在这种架构中,众多不同的数据库可以通过通用基础设施和接口被管理。OpenStack Trove目前支持Cassandra、CouchBase、CouchDB、DataStax Enterprise、DB2、MariaDB、MongoDB、MySQL、甲骨文、Percona Server、PostgreSQL、Redis 和Vertica等数据库产品。
由于OpenStack Trove是开源的,因此它们能够被扩展以满足新的应用需求。或许你需要支持一种在上述列表中未被提到的数据库,或者是为你喜欢的数据库添加新的功能,在Trove等开源软件中,你可以自行添加或者是与他人合作。而在使用AWS时,用户被局限于AWS所交付和支持的内容,你只能根据他们的时间安排获得相关的功能。
当OpenStack Trove在数据中心内被作为私有云部署,企业的IT人员在运行它们时可以确保其遵从了企业的最佳实践,以及数据保存、加密和备份等策略。虽然,基于DBaaS解决方案的公有云服务可能会提供实现相同功能的工具,但是这些工具往往会仅由那些配置数据库的个人开发者使用。当在企业管理和数据安全领域中运行Trove时,用户能够确保他们部署的配置得到了IT部门的评估,且符合行业最佳实践、企业策略和相关的数据保护法规。
以上的这些示例展现出OpenStack拥有较AWS更高的灵活性。不过,AWS公有云则更为简洁,并且更加易于获得与访问。
最后,无论你是选择的是AWS、OpenStack或是其他的解决方案,相较于传统的本地数据库,各种形式的DBaaS服务能够帮助你所在的企业获得更高的敏捷性和更优秀的费效比。
——Ken Rugg(Tesora公司CEO)
编者注:本文编译自datacenterknowledge.com,作者为Tesora公司CEO Ken Rugg,编译者Frank Chan。