明与暗角力!开源云平台中的拼图“玩具”

开源云平台中的拼图“玩具”

对于云平台,如今基本就意味着开源。

提及开源技术,着实在云计算和大数据下“火”起来。面对扑面而来的云服务,无论是何种服务对于企业和用户来说都是“熟悉的陌生人”,“熟悉”是因为知道云计算的人都能说出IaaS、PaaS和SaaS这几个词,但仅从其中衍生出来的云技术让很多人“陌生”,特别是开源技术在云计算中明与暗的角力。

明与暗角力!开源云平台中的拼图“玩具”

对于很多用户来说,Linux就是开源的典型代表,姑且不讨论是否在桌面领域崛起,但没人否定linux在云计算方面的影响力。低成本、灵活和可定制的最基本特点,让Linux走过20年的成功历程,在开放的云计算市场需求下处于一个拐点。

笔者一直信奉“人在玩的时候最认真”,各个开发者也好,企业也罢,开源云平台中的“玩具”成为他们将面对的下一个战场,而开源技术在明与暗角力中如何演变进而发展是关键。究竟是什么!对于这个问题答案或许很多人并不了解,笔者不仅也要问:到底这个“火起来”的开源技术有何魅力?通过进一步的学习和了解,通过游戏+文字来熟悉开源云平台中的“玩具”。

如同当下任何行业流行趋势一样,任何东西或技术只要成为市场的主流就会被广大用户所接受,那它一定在“明”显示出强大的亲和力,开源云平台也不例外,而受其影响,不断发展延伸出来类似的技术和产品将在市场上对其形成一个“暗”竞争,来平衡一家独大的市场生态,发展的同时推动主流更加完善技术。

明:Hadoop、OpenStack、Docker变身主流开源云平台

暗:Spark、CloudStack、Rocket助力开源云平台成长

通常在“玩具”分为各个类别,不同东西针对玩家的兴趣点也不尽相同。就拼图玩具,通过不同的块打造成一个完整的成品,其中有易于辨识的彩块,也有需要通过不断的推测的单一板块,需要玩家不断对整个拼图了解才能最终打造一副成品,不仅考验耐心、细心,更加对整体画面的一个把握。

开源云平台也是如此,开发者如同在拼图中找到易于辨识的彩块(如Hadoop、OpenStack、Docker),而随着整体图形的呈现,通过针对不同区域的单一板块进行推测(如Spark、CloudStack、Rocket),可以在开源技术上拼装成自己业务所需的云平台。

熟悉大数据的人一定对Hadoop工具不陌生,Hadoop是一个由Apache基金会所开发的分布式系统基础架构。之前谈到Hadoop,业界总与MapReduce放在一起,但其实HDFS和MapReduce一样都是Hadoop框架最核心的设计。笔者了解到软件的安装部署是需要付费,由于Hadoop在管理工具与支持服务方面的不足,企业在使用过程中很容易产生额外费用。另外,由于它没有优化程序,专业运行环境中人工输入代码费用不菲,更不用提部署Hadoop集群的硬件和相关配置的成本。

正如上面谈到,Hadoop有数据应用上的优势,HDFS和MapReduce都是基础,但并不容易部署与实施,其实如今针对Hadoop开源技术推广,市场开发应用上主要有两个圈子:一个是做算法、分析的圈子,另外一个是做架构、设计的圈子,如何把这两个圈子技术有效的结合产生应用是大数据的突破点。

很多人最大的疑惑:那Hadoop技术未来真正的价值是什么?从技术特点上来说,之前提到Hadoop由采用HDFS可靠数据存储服务,以及MapReduce技术的高性能并行数据处理服务是其优势所在。而对于Hadoop来说,尽管提供了数据存储和并行处理平台,但其真正的价值来自于添加件和功能,以及Hadoop Common、Chukwa、HBase、Hive、Pig和ZooKeeper这项技术的增加功能性和新能力的子项目实现。

由此,笔者感觉Hadoop尽管应用于分布式环境,其开放的生态系统如同Linux一样,各个IT厂商通过集成和测试Apache Hadoop的组件,并添加厂商自身的工具和管理功能来不断扩展Hadoop生态环境。

Spark与Hadoop亦友非敌

随着Hadoop日益成为公司处理大数据的企业平台之选。Spark则是运行在Hadoop之上的内存处理解决方案。Hadoop最大的用户在自己的Hadoop集群中运行Spark。Cloudera和Hortonworks在其Hadoop包中也加入Spark。

为什么会产生这种混淆?正如之前谈到Hadoop由两大部分组成:HDFS和YARN的计算引擎。其YARN最初的框架是由谷歌MapReduce用来帮助处理海量网络抓取数据。Spark是另一个这样的框架,谈论Spark与Hadoop的“争斗”时,开发者更喜欢Spark,而非之前MapReduce框架。

但笔者认为MapReduce不应该和Hadoop等同,只是Hadoop集群处理数据的诸多方式之一。Spark可以替代MapReduce。在过去几年中,基于Hadoop的大数据技术涌现出创新:Hadoop从批处理SQL进化到了交互操作;从MapReduce变成了Spark等多个框架。

由此,Spark不会取代Hadoop。相反,Hadoop是Spark的基石。随着平台不断变化,企业将通过商业价值的转化使得对Hadoop和Spark技术的采用也增加。

避免功利性的开源之争

像OpenStack技术,这种背后有数千开发者和技术专家支持的项目的发展受到关注。其推出旨在打造易于部署、功能丰富且易于扩展的云计算平台。OpenStack项目的首要任务是简化云的部署过程并带来良好的可扩展性。

从应用角度可以看出来,OpenStack本身是一个架构,支持客户利用不同的计算、网络和存储技术来构建云,但OpenStack构建云的质量很大程度上取决于客户所选择的组件。VMware提供了一套专门面向OpenStack组件帮助客户构建OpenStack云,但运行OpenStack的最佳方式是建立在VMware技术基础之上。

会有人问到既然如此,OpenStack的意义何在?这就要从企业云计算转型介绍,企业必须了解如何利用以及应对云计算市场中的解决方案。而亚马逊和VMware在各自细分市场的霸主地位让其他厂商很难望其项背。

OpenStack基金会成立推出其云开源举措,一些之前难以与亚马逊和VMware在云端PK的传统IT厂商通过OpenStack开始发力云计算。由于OpenStack可支持建立云平台,其本身是开放开源的,不同厂商可以根据市场需要,结合自己的产品和技术对其提供支持或者实现兼容,从而确保云计算市场不掉队。

避免功利性的开源之争

之前谈及OpenStack项目,是由NASA和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。尽管OpenStack平台是开放的,众多厂商在OpenStack上构建云产品,但是如何建立一个非商业云的标准是值得关注。

随着CloudStack、OpenNebula和Eucalyptus都在企业中找到了市场,厂商的加入不仅带来了技术和资金上的支持,同时也有利于发挥各自平台优势,推动云操作系统的开源发展。正如在开发开源云软件的竞赛中,相比其他开源云系统OpenStack更具市场动能,有大约160个支持者,包括数据中心设备厂商思科系统、戴尔、惠普和IBM。CloudStack有大约60个支持者,包括博科、英特尔和Juniper。

曾经的思杰放弃OpenStack转而投身CloudStack的做法,特别是在一些实际的应用场景中有所落地,显示出似乎并未一窝蜂投入一家,而当OpenStack逐渐成熟,思杰也最终选择回归,但思杰明确表示不会出品OpenStack发行版,在既扩展了多个开源云平台的支持,又在一定程度上推动市场竞争,避免着眼于功利性的开源之争。

笔者认为,尽管存在一定市场不确定因素,但OpenStack倍受追捧是不争得事实。如果OpenStack早日得到商业化应用,让更多用户体验到云服务,把商业成果放在开放云上,建立一个非商业云的标准是值得关注。

阻击Docker一家独大

对大多数人来说,Docker技术将成为在云计算领域下一个重大趋势。Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。曾经成为了实际上的容器格式标准,其技术可支持超过500万个容器,而且可跨越主要操作系统和云服务平台。但随着CoreOS推出自己的容器rkt,并随后发起了一项开放式的容器标准之争便一发不可收拾。

对大多数人来说,Docker技术将成为在云计算领域下一个重大趋势。但一些巨头开始发力相关领域,尤其是谷歌或将推出替代该技术的一种新支持方式。早在去年12月,Docker最早的支持者之一硅谷初创公司CoreOS公布了一个开源项目Rocket。

据了解,Docker是建立在支持谷歌庞大在线软件之上,是一种更有效构建和操作运行Google Search、Google Maps、Gmail的方式。作为一个软件集装箱工具,允许开发人员打包代码并且运行在大规模分布式系统上,并不需要考虑运行在自己的数据中心或在亚马逊公有云服务上。

对于流行的软件应用而言,必须要运行在大型的机器网络上,也是唯一可以让开发者即时获取信息的方式。Docker可以简化这些应用程序的创建,由此受到如此多的关注。

自支持Docker以来,凭借其影响力使得亚马逊、微软以及其他公司都竞相加入Docker阵营。但谷歌同样开始支持Rockert,并且集成该项技术到Kubernetes云计算软件,宣称是“Kubernetes项目一个重要里程碑”。

Docker试图提供整个行业一个通用的容器标准。如果每个人都采用这个标准,运行软件将变得更容易。但利用Rocket,CoreOS希望提供一个新的容器标准来摆脱任何一家厂商的独大。除了谷歌,其他大公司也正在开始支持Rocket项目,包括RedHat和VMware。

但谷歌Kubernetes项目,Pivotal软件将继续使用Docker和Rocket。Docker已经广泛使用,Rocket项目成为整个行业的一个可行选择或面临一些挑战。

由此,对于开源云平台中的产品而言,众多技术中也存在各自的特点和应用偏好,开发者们在享受主流(或市场最为推崇的)开源技术带来的魅力同时,也会去了解其它类似的平台特点,通过不同的“版块”来对整个生态去学习,比较之余在不断地完善和发展中带给玩家更好的服务体验。