OpenStack发力DBaaS生态圈

Cassandra是一套开源分布式NoSQL数据库系统,它最初由Facebook开发,并在2008年7月正式开源,此后,由于Cassandra良好的可扩展性,受到IBM、Twitter和Rackspace等大型公司的支持,成为了一种流行的分布式结构化数据存储方案。下面看Mirantis的Denis Makogon给我们带来的精彩报道。

以下为译文:

Apache Cassandra NoSQL数据库

Apache Cassandra是极高性能、可扩展、分布式NoSQL数据库,使用灵活,简单分区行存储数据模型,可以对商业服务器和跨数据中心进行无单点故障的海量数据存储处理。它最初由Avinash Lakshman(Amazon Dynamo的开发者)和Prashant Malik在Facebook开发的,旨在解决他们的Inbox-search问题,然后在2008年7月正式开源,并自那时以来,由于IBM、Twitter和Rackspace的大力支持,Cassandra一直以惊人的速度发展,2010年2月以来,Cassandra成为Apache顶级项目。

Cassandra放弃广泛应用的Master-Slave设置转而支持点对点集群,这使Cassandra没有单点故障,由于没有master服务器,当面对大量的请求时,会使所有的Slave服务器毫无用处。任何数量的商业服务器集群可以集成到Cassandra集群,虽然这个架构在后台部署更复杂,但是我们用户操作起来很方便。由于不需要区分Master和Slave节点,这将允许你在任何数据中心里可以给任意集群添加任意数量的机器,每个服务器接受来自任何客户机的请求,服务器之间都是平等的。

Cassandra擅长什么

  • 快速读写性能
  • 允许添加更多的机器
  • 可靠的跨数据中心复制

……不需要在数据库层进行ACID事务处理(原子性、一致性、隔离性和持久性)。
Cassandra擅长在线事务:请求需要在短时间内完全执行,否则,用户会感觉到延迟,这种查询需要在毫秒级内执行,而不是数百或数千毫秒。由于Cassandra的多个缓存级别,你的数据可以以令人难以置信的速度处理。由于Cassandra的日志结构存储设计,每次写操作都是快速的,并且每次写操作都提交日志,当停机时间或数据丢失难以接受时,Cassandra是一个极好的选择。

Cassandra在数据管理方面(分析)也非常优秀,当前的版本,MapReduce支持存储数据。MapReduce是谷歌推广的一种算法,它允许跨服务器在大数据集上并行分析查询,这不是实时进行,但它能够处理庞大的数据集搜寻你所需要的信息。因为Cassandra同时提供在线和分析解决方案,你可以使用单一的技术来完成大部分的数据需求,这将有助于开发、QA和运营效率。

Cassandra和OpenStack

现在应该清楚了,随着OpenStack抽象服务器基础设施,以及定义了Cassandra需要的数据中心,简化所有阶段的开发、部署和操作,Cassandra和OpenStack至少在概念上能很好的匹配了。

然而,直到最近,管理OpenStack Cassandra仍是困难的。使用Orchestrator模板可以提供数据库实例,但由最终用户管理正常的安全策略(例如不能从广域网访问数据库),在很大程度上是不切实际的。但是,Trove OpenStack DBaaS解决方案已经出来了,它提供一个API让用户通过in-VM代理进行互动,以及通过定义的管理接口可以进行交互操作。

Cassandra和OpenStack DBaaS

OpenStack DBaaS现在支持Apache Cassandra NoSQL数据库,它的第一版本将包含:

  • 提供CassandraDB作为一个单独的实例
  • 支持维护(启动、停止、重启,配置)
  • 调整事件

改进后的OpenStack Juno版本将包含:

  • 配置管理
  • 备份(nodetool快照+自定义脚本)
  • 恢复(自定义脚本)
  • 增量备份(Cassandrax2.x.x或以上版本)

结论

Cassandra是高可用性,互联网型的NoSQL数据库,它与那些传统的关系型数据库区别很大。Cassandra和关系数据库之间的差异可以认为是正是它们的优点和缺点,同时,使用NoSQL不排除使用RDBMS——当然使用混合结构也是很常见的事,要根据情况在不同的解决方案中使用相应的数据库。

当初次使用NoSQL,开发人员可能遇到很多新的概念,比如大数据和最终一致性。当从关系和健壮的一致性迁移到NoSQL,最大的转变可能就是为最终一致性构建应用程序。数据建模可能是开发人员需要理解的另一个领域。

Cassandra使用范围广泛,特别适合使用在:

  • 非常大的数据量
  • 用户交易量非常大
  • 要求数据存储高可靠性
  • 一个动态数据模型,数据可能会相对非结构化,或其结构可能随时间改变
  • 跨数据中心分布

现在,Apache Cassandra NoSQL数据库服务是OpenStack数据库云服务的一部分。

OpenStack与Hadoop的融合

OpenStack Sahara(旧称:Savanna)项目的负责人Sergey Lukjanov昨天正式宣布,Sahara从OpenStack孵化项目顺利毕业,将从OpenStack下一版本Juno开始作为OpenStack核心项目之一。Sahara是在2013年由领先的Apache Hadoop贡献方Hortonworks公司,最大的OpenStack 系统集成商Mirantis公司,以及全球领先的开源解决方案及最新版OpenStack的最大贡献方红帽公司联合发起的,致力于共同在 OpenStack上实现Apache Hadoop,使OpenStack用户能够轻松供应和管理弹性Hadoop集群,加快Hadoop在OpenStack上的开发和部署进程。

Apache Hadoop是MapReduce技术的一种实现,目前被各行业广泛采用,已成为大数据处理的行业标准。Sahara项目旨在为OpenStack用户提供一种简单、快捷地部署以及管理Hadoop集群的方案,类似于亚马逊Elastic MapReduce (EMR) 服务。

Sahara项目的架构图如下:

  • Horizon——提供GUI以使用所有Sahara的特性。
  • Keystone——认证用户并提供安全令牌,用以与OpenStack通信,用以给用户分配特定的OpenStack权限。
  • Nova——为Hadoop集群配置虚拟机。
  • Glance——用于储存Hadoop虚拟机镜像,每个镜像都包含了已安装的OS和Hadoop;预安装的Hadoop应该给予我们在节点布置上的便利。
  • Swift——可以作为需要进行Hadoop作业的预存储。

用户需要给Sahara提供一些信息来建立集群,比如Hadoop版本、集群拓扑、节点硬件详情以及一些其它的信息。在用户提供这些参数之后,Sahara将帮助用户在几分钟之内建立起集群,同样还可以帮助用户根据需求对集群进行扩展(增加或者删除工作节点)。

云计算提供基础架构平台,大数据应用在这个平台上运行,这是目前公认非常高效的处理大数据的方法之一。使用Sahara方案可有效满足如下使用场景:

1. 在OpenStack云环境中快速部署Hadoop集群;

2. 更充分地利用通用OpenStack IaaS云环境中未被利用的计算资源;

3. 与亚马逊EMR类似,为临时的或突发的数据分析任务,提供数据分析即服务(Analytics as a Service)

 

OpenStack和Hadoop的融合,既最大限度提高了服务器的资源利用率,又大大降低了大数据处理的准入门槛。可以预见,作为云计算和大数据的桥梁之一,Sahara将会推动OpenStack云平台和Hadoop的整合,逐步进入大数据处理市场,更快速地借助云计算平台和大数据处理技术把数据转换为商业价值。

Linux战争已经转移到OpenStack

受Red Hat峰会刺激,Canonical发布了很多关于Ubuntu Linux版本的消息,但大多数集中在OpenStack上。

有点搞笑的是新闻稿宣布新的Ubuntu Linux 14.04 LTS版,但是看上去似乎关注Ubuntu OpenStack超过Linux本身。而且合作伙伴们Cisco、 Mellanox、 NTT Software对Ubuntu OpenStack也不乏赞美之辞。但话又说回来,这是有道理的,因为供应商战场已经从核心操作系统转移到核心的云基础设施上面来,在这里,Canonical OpenStack得到了惠普和其他大型云提供商的有力支持。

Canonical创始人Mark Shuttleworth一直以来提供资金培育Ubuntu Linux,推进Ubuntu Linux / Ubuntu OpenStack融合,使之成为下一代云计算最佳基金会。

Canonical创始人Mark Shuttleworth,同时也是Ubuntu 创始人

一项OpenStack基金会10月份的调查发现,55%的OpenStack工作负载使用Ubuntu Linux作为主机操作系统,CentOS为 24%; Red Hat企业级Linux为10%,剩下的占10%。鉴于Red Hat对 OpenStack的关注不断增加,它不会满足于这些数字。据Gigaom报道,OpenStack社区许多人并不 希望Red Hat主导OpenStack,就像它主导企业级Linux一样。不出所料,从Red Hat峰会传来一些消息:Red Hat宣布企业级OpenStack 已经被Broad 研究所、 Midokura 以及Porto大学采用。

但回到Ubuntu Linux,其14.04版本将于4月17日正式发布,支持X86、ARM-64以及Power芯片,Shuttleworth 宣称,这是第一个支持所有三种架构的商业化操作系统,这意味着无论你是什么芯片架构,你都会得到相同的服务和应用程序组合。

支持Power有点奇怪,但Canonical的举动似乎验证了IBM去年8月决定通过新的OpenPower基金会开放Power生态系统,希望除了IBM,其他厂商也能构建基于Power的服务器。这也获得了包括谷歌、Mellanox、Tyan的大型云商的支持。

Power 有一个传奇的过去,但是我们感兴趣的是它转向OpenPower基金会,Shuttleworth说:“我们的重点是规模,我们不希望成为一个更好的 Solaris。我们不在乎你的机器上是否有16 sockets,我们感兴趣的是你有8000台机器。Power以OpenPower的形式出现将会对大数据中心产生影响,但是也伴随着大量问题,因为这 些问题大部分是以OpenStack和Hadoop开源形式规定的。”

现在很明显,除了微软和亚马逊网络服务,大多数的大型技术供应商,依赖OpenStack提供云基础。Red Hat 希望在云上复制企业级Linux的成功。

但是其他的Linux / OpenStack玩家拼命地想阻止这种可能性——因此文章开头部分的Canonical发布的变味的OpenStack Linux新闻稿也不足为奇了。

爱立信和Mirantis签订价值三千万美元大单

这条新闻非常振奋人心,一个是世界领军的电信科技与服务提供商爱立信,一个是最早专注于OpenStack服务、蓬勃发展的创业公司Mirantis,两家公司都是OpenStack基金会黄金会员,这次携手签订OpenStack史上3000万美元大单,将推动OpenStack云平台在电信、IDC数据中心的应用和推广。
两家公司将协力提高OpenStack的稳定性、弹性和性能,这对OpenStack方案在生产系统中运营将有很大的促进作用,我们拭目以待。

爱立信

 mirantis

国外媒体报道,瑞士电信科技与服务提供商爱立信与Mirantis刚刚签订了长达五年的软件权限订单,据报道这单订单价值三千万美元,并且是与OpenStack相关的历史订单中最大的。爱立信计划以OpenStack作为电信网络、内部数据中心和云计算服务的软件基础。

爱立信的云计算系统和平台部门负责人Jason Hoffman表示,爱立信早在OpenStack 2010年第一个版本发布后就开始试用OpenStack,在看到了在电信运营商市场OpenStack的巨大市场需求后,他们在18个月前以Gold Sponsor身份加入了OpenStack基金会,专注于电信市场。

这次战略合作,爱立信和Mirantis将协力提高OpenStack方案的稳定性、弹性伸缩和性能。爱立信从去年开始在电信网络做了若干个OpenStack方案验证,借助OpenStack实现软件定义的数据中心,这次通过和领军的OpenStack服务解决方案提供商Mirantis的战略合作,爱立信希望进一步和云平台上面的软件进行更好的整合。

爱立信在2013年6月曾经参与了Mirantis 的A+轮1000万美元的融资,联合投资投资方包括 Red Hat、Ericsson,SAP Ventures。这是 Mirantis 的第二次A轮融资,2012年12月,它获得了来自 Dell Ventures、 Intel Capital 和国内华山资本(West Summit Capital)这三家机构的1000万美元投资。自2010年OpenStack开源项目诞生以来,Mirantis是OpenStack的早期支持者,并拥有大批OpenStack开发专业人才,帮助服务提供商,SaaS供应商和企业建立和运行OpenStack云基础设施。