大數據當道 PaaS市場現狀如何?
譯文【51CTO 4月19日外電頭條】 今年已經被認為是云計算時代的“大數據”元年,各大平臺即服務(PaaS)提供商備受媒體的關注,比如亞馬遜、谷歌、Heroku、IBM和微軟。但是哪些提供商在公共云領域真正提供最全面的Apache Hadoop實現方案?
這一點很顯然:由于許多企業日益采用平臺即服務(PaaS)云模式用于企業數據倉庫,Apache Hadoop以及Hadoop分布式文件系統(HDFS)、MapReduce、Hive、Pig及其他子組件日益受到追捧,用于大數據分析環境。Apache基金會將Hadoop升級到了版本1.0,這表明Hadoop已日趨成熟,準備好用于生產型分析云環境。
能夠借助托管型的MapReduce處理技術,在提供商的數據中心為批處理任務建立高可擴展性的、按需支付的Hadoop集群,這讓企業的IT部門得以避免為零星使用的預置型(on-premise)服務器投入資本開支。因而,Hadoop對亞馬遜、谷歌、IBM和微軟等財力雄厚的PaaS提供商來說已成為標準,以便將Hadoop、MapReduce或兩者封裝成預制服務。
AWS彈性MapReduce
亞馬遜網絡服務公司(AWS)在2009年4月第一個推出了彈性MapReduce(EMR)。EMR可處理Hadoop集群配置,運行和終止任務,并且在亞馬遜彈性計算云(EC2)和亞馬遜簡單存儲服務(S3)之間傳送數據。EMR還提供Apache Hive,它基于Hadoop,面向數據倉庫服務。
圖1:面向亞馬遜網絡服務公司彈性MapReduce特性的CloudWatch任務工作流度量標準示例。
EMR提供了容錯機制,防止從屬系統出現故障;亞馬遜建議在現貨實例(spot instance)上只運行任務實例組(Task Instance Group),以便充分利用較低的成本,同時仍維持可用性。不過,AWS直到2011年8月才添加了支持現貨實例的功能。
亞馬遜就EMR向小集群到超大集群的EC2實例收取每小時0.015美元到每小時0.50美元的額外費。據AWS聲稱,一旦你開啟了作業流程,亞馬遜彈性MapReduce就處理亞馬遜EC2實例配置、安全設置、Hadoop配置和設置、日志收集、運行狀況監控及其他與硬件有關的復雜任務,比如自動從運行中的作業流程中移除有故障的實例。AWS最近宣布了為EMR實例提供免費的CloudWatch度量標準(見圖1)。
谷歌應用引擎-MapReduce
據谷歌的開發人員Mike Aizatskyi聲稱,谷歌的所有團隊都使用MapReduce,谷歌早在2004年就引入了MapReduce。谷歌發布了一套應用引擎-MapReduce 應用編程接口(API),這是“MapReduce API的早期試驗版”,旨在支持在谷歌應用引擎上運行的Hadoop 0.20程序。谷歌團隊后來在2011年3月發布了低級文件API v1.4.3,為采用Blobs存儲的中間結果提供了一種類似文件的系統,還提供了經過改進的開源用戶空間Shuffler功能(見圖2)。
圖2:在I/O 2012大會上演示的谷歌應用引擎-MapReduce的Shuffle過程。
谷歌應用引擎-MapReduce API通過谷歌Pipeline API來協調Map、Shuffle和Reduce等操作。該公司在2012年I/O大會上的視頻演講中描述了應用引擎-MapReduce的現狀。不過直到2012年春天,谷歌都沒有改變其“早期試驗版”這一描述。應用引擎-MapReduce面向Java和Python編程人員,而不是面向大數據科學家和分析專業人員。Shuffler只能處理最大約100MB的數據集,這樣的數據稱不上是大數據。你可以請求使用谷歌的BigShuffler,以處理更龐大的數據集。
Heroku Treasure Data Hadoop附件
Heroku的Treasure Data Hadoop附件讓開發和運營(DevOps)員工能夠使用Hadoop和Hive,分析托管型應用日志和事件,這是這項技術的主要功能之一。其他Heroku大數據附件包括:實現了Apache CouchBase的Cloudant系統、來自MongoLab的MongoDB、MongoHQ、Redis To Go、Neo4j(面向Java的圖形數據庫的公共測試版)以及RESTful Metrics。AppHarbor被一些人稱為是“面向.NET的Heroku”,它提供了一系列類似的附件,使用了Cloudant、MongoLab、MongoHQ和Redis To Go,外加RavenHQ NoSQL數據庫附件。Heroku和AppHarbor都不托管通用的Hadoop實現系統。
智慧云中的IBM Apache Hadoop
IBM在2011年10月就開始提供基于Hadoop的數據分析產品,具體表現為基于IBM企業智慧云(IBM SmartCloud Enterprise)的InfoSphere BigInsights Basic。BigInsights Basic最多可以管理10TB的數據,它還提供面向Linux系統的免費下載版;BigInsights Enterprise是一款收費的下載版。這兩個可以下載的版本都提供了Apache Hadoop、HDFS和MapReduce框架,另外提供了一整套Hadoop子項目。可下載的企業版包括基于Eclipse的插件,該插件用于編寫基于文本的分析工具、類似電子表格的數據發現和探究工具,還可用于編寫JDBC與Netezza和DB2實現連接的代碼。這兩個版本都提供了集成的安裝和管理工具(見圖3)。
圖3:IBM的大數據平臺和愿景。
我之前通過分為上下兩部分的教程,試用了IBM的企業智慧云基礎架構即服務,里面描述了2011年春天提供的一款免費的企業智慧云試用版具有的管理功能。IBM的技術資料沒有明確地表明可下載的BigInsight版本在公共云中提供什么樣的功能特性。面向IT專業人員的云計算:社區服務頁面(http://www.ibm.com/developerworks/cloud/devtest.html)只列出了一個BigInsights Basic 1.1:Hadoop主節點和數據節點(http://www.ibm.com/developerworks/downloads/im/biginsights/)軟件鏡像;一位IBM代表證實了智慧云版本不包括MapReduce或其他Hadoop子項目。智慧云版Hadoop方面的現有教程解釋了如何配置和測試企業智慧云上由3個節點組成的集群。IBM現有的BigInsights云版本似乎缺少數據分析方面的一些關鍵組件。
基于Windows Azure的微軟Apache Hadoop
微軟請來從雅虎分立出來的、專門提供Hadoop咨詢服務的Hortonworks公司,幫助自己在Windows Azure上實現Apache Hadoop,即Hadoop on Azure(HoA)。自2011年12月14日以來,HoA就處于憑邀請才能試用的社區技術預覽版(CTP或邀請測試版)階段。
微軟在搭上Hadoop這股潮流之前,依賴由微軟研究中心開發的圖形數據庫Dryad以及高性能計算附件(LINQ to HPC)來處理大數據分析任務。Hadoop on Azure CTP讓用戶可以選擇預先定義的Hadoop集群,這些集群從小集群(4個計算節點,存儲容量為4TB)到超大集群(32個節點,存儲容量為16TB)不等,從而簡化了MapReduce操作。可以免費加入CTP,獲取預覽版計算節點或存儲容量。
圖4:微軟提供了四個示例的Hadoop/MapReduce項目:計算圓周率、執行Terasort和WordCount基準測試,以及演示如何使用C#來編寫一款用于流傳送數據的MapReduce程序。
微軟還提供了新的JavaScript庫,借助Hadoop,讓JavaScript成為一門一流的編程語言。這意味著,JavaScript編程人員可以用JavaScript來編寫MapReduce程序,并且從Web瀏覽器中運行這些任務,這降低了Hadoop/MapReduce的準入門檻。CTP還包含一個面向Excel的Hive附件,讓用戶可以用Hadoop來處理數據。用戶可以通過附件發布Hive查詢,在Excel用戶熟悉的界面中分析來自Hadoop的非結構化數據。預覽版還包括一個Hive ODBC驅動程序,將Hadoop與微軟的其他商業智能工具集成起來。最近我在Apache Hadoop Services for Windows Azure(http://oakleafblog.blogspot.com/2012/01/introducing-apache-hadoop-services-for.html)上寫了一篇博文,里面解釋了如何運行Terasort基準測試,這是四項示例的MapReduce任務之一(見圖4)。
定于2012年年中面向Windows Azure推出新的、經過改良的功能特性,到時HoA會有相應的升級。該升級將讓HoA團隊能夠準許更多的測試人員試用CTP,可能還包括一個原先承諾的Apache Hadoop on Windows Server 2008 R2,面向實施預置型云或私有云和混合云。微軟還在2011年年底2012年年初積極下調了Windows Azure計算實例和存儲服務的費用。Hadoop on Azure發行版的價格與亞馬遜彈性MapReduce相比將頗有競爭力。
說到大數據,不是只有Hadoop和MapReduce
我同意弗雷斯特調研公司分析師James Kobielus的觀點,他寫過一篇博文,主題思想是“在大數據領域里面,Hadoop/MapReduce將是一種關鍵的開發框架,但不是唯一的開發框架。”微軟還為.NET框架提供了代號為“Cloud Numerics”的CTP,這讓開發和運營團隊得以在Windows Azure中,針對大型分布式數據集執行數字密集型的計算。
微軟研究中心發布了源代碼,用于使用Daytona項目的MapReduce迭代實現機制,在Windows Azure中實施Excel云數據分析技術。不過,開源Apache Hadoop及相關子項目似乎會在可預測的將來主導云托管領域。
提供自動化化程度最高的Hadoop、MapReduce和Hive實現機制的PaaS提供商會最受大數據科學家和數據分析從業人員的支持和追捧。微軟為商業智能應用軟件提供了Excel前端,這讓該公司的大數據解決方案在越來越多的自助服務式商業智能用戶當中占有先機。亞馬遜和微軟目前提供最全面、自動化程度最高的基于云的Hadoop大數據分析服務。
原文鏈接:http://searchcloudcomputing.techtarget.com/tip/Examining-the-state-of-PaaS-in-the-year-of-big-data