2014年11月12日星期三

Pivotal以Cloud Foundry平台雲服務 改變大數據及開發格局


目前,本港雲運算仍以「基建即服務」(Infrastructure as a Service,IaaS)為主流。不少服務供應商均是提供虛擬平台,只將原本內部虛擬機器(VM),移到外部的IT基建。中信電訊(CITIC Telecom)就是典型例子,採用了VMware平台,而Rackspace則採用OpenStack平台。

未來的趨勢,IaaS愈趨虛擬化,基建和設備均以軟件服務形式出現。理論上,IT資源虛擬化之後;均凡數據庫、作業平台、儲存、動態路由、防火牆、高可用性和擴充能力等等,變為軟件的其中一部份。

事實上,開發應用一向必須兼顧基建;從數據庫的連接以至擴充能力,均必須配合基建。但是,開發與基建部門之間不和,甚至互相指責,一直困擾IT部門運作。

故此,近期興起雲運算上,可直接開發應用的「平台即服務」(Platform as a service,PaaS),引起了不少興趣。開發人員以「數據庫即服務」(DB as a Service),直接開發高性能的應用,而擴充和配置的連接,全交虛擬化的IaaS自動配置。

李凱翔是Pivotal亞太區產品策略總監,長期以來向客戶建議平台發展策略,如何從傳統IT架構,過渡至雲運算及大數據的平台。李凱翔曾向紐約及新加坡等 證券交易所的數碼化項目,提供諮詢服務。

「PaaS約可分兩種;首先是公共雲(Public Cloud)。微軟Azure可算是PaaS代表。

但Azure基於微軟的技術;不少企業陸續採用開源設計。AWS也有近似PaaS服務;通過大量API部署網絡及儲存服務。」Google也推出PaaS平台App Engine,放棄了關聯數據庫,改以本身的GQL(取代SQL)作查詢語言,採用了類似AWS物件DataStore設計,但只支援java和Python。

以往,籌建內部的PaaS較難;直至Cloud Foundry(CF)和RedHat的OpenShift出現,公開源碼建立內部PaaS,才成為可能。CF原為VMware自行開發,2011年變成開源項目,成立CF基金會。此後,CF影響力不斷擴大,現有三十多家成員;包括英特爾、HP、Rackspace。去年IBM也加入並推出Bluemix的CF平台。

VMware推出本身CF版本,合併EMC多項數據庫和大數據技術,同一平台上解決了不同要求的實時交易和分析要求,甚至從不同來源蒐集數據,建立供企業共同的「數據湖」(Data Lake),迎接物聯網時代的數據爆炸。

去年,VMware和EMC注入有關資產和人材,成立Pivotal公司;股東包括「通用電力」(GE),GE屬下不少產品產生大量實時數據,正好以「數據湖」解決難題。

PaaS與大數據平台緊密結合

Pivotal包含多種數據庫技術;同一平台處理數據交易和分析不同要求;包括「完全在線」(In memory)的Gemfire數據庫,可作OLTP和分散於多地又可實時更新的金融交易;而數據庫掘挖和OLAP分析,則以Greenplum的MPP平行處理技術,類似IBM的Netezza和SAP的Hana;挖掘非結構性的大數據,則採用Hadoop平台,加上Gemfire XD和HAWQ,直接以SQL語言直接分析Hadoop。

「採用了PaaS,開發時必須兼顧公共雲特性和API,私有雲或其他公共雲之間,應用難以互通。例如使用vCloud AIR(VMware的公共雲),應用移到其他雲平台;例如是AWS或OpenStack時,可能須重新開發。」

CF為基建的PaaS,開發後可移植任何雲平台執行;可用直接用於建立私有雲,架設於AWS、vCloud Air、CITIC SmartCloud,甚至Rackspace之類OpenStack公共雲,也可隨時移回私有雲的環境;獨立任何雲的架構(Cloud Agnostic),為日後外判IT基建鋪路。

PaaS有利外判IT基建

「例如,只要AWS上安裝CF的Instance,AWS就變成了純粹提供主機服務,開發時不須理會AWS的API,仍享受AWS快速配置的各種好處。以往,開發必須清楚使用的Web Server、中間件、數據庫;實際上如何存放、位置和特性;再人手連接資源,也須清楚應用如何作負載平衡等。

「有人誤以為PaaS只是IaaS上一層。實際上,PaaS解決問題,對上多於對下。

PaaS可讓開發人員毋須理會基建,直接開發於不同環境,自動擴充的應用;優點為分工更清晰;應用開發、系統操作(Operator)、基建,可各司其職。」

「不少機構聘用大量操作和維護IT基建的人手,其實應用和數據,才是業務真正核心的所在。如果有一天,企業不想再管理某些基建,利用CF建立PaaS,就可毋須改動設計,移到公共雲以外判基建。」李凱翔說,長遠而言PaaS可精簡化IT部門和分工模式。

直接處理大數據分析

不少雲端應用結合外部數據;例如從Datasift導入監察網上社交媒體數據。原始數據不會再載入專用的數據庫,而是直接流入了Hadoop的「數據湖」,供所有人共同,既減輕專用數據庫的成本(Hadoop為開源技術),也不會形成數據孤島。

開發人員隨時針對Hadoop內新數據,緊密配合應業務(Line of Business,LOB),按照實際推出新的應用。

李凱翔說,Pivotal也在GreenPlum上開發出Pivotal HD,利用Gemfire XD和Hadoop上的查詢引擎HAWQ,可利用SQL語法,快速查詢Hadoop資料。

「數據直接供OLTP和GemFire的叢集(Cluster)上作在線分析後,馬上寫入Hadoop檔案系統作OLAP操供GemFire XD快速分析。」從OLTP進來資料,可結合Hadoop數據,不間斷作出實時分析報告,時刻掌握業務實況。」李凱翔解釋:「Gemfire XD和HAWQ的另一優點,乃開發人員不須再學習開發MapReduce,直接用SQL語言,查詢Hadoop數據並產生報告。」

數據格式和性質正不斷改變,改變開發模式。數據庫設計從前必須兼顧容量和Schema設計,未來數據實時出現流入「數據湖」後,Pivotal HD可轉化其為結構;如利用Splunk作Ingestion前端,自動建立新的數據Schema,再以GemFire XD在線技術快速分析。

PaaS有利快速交付應用

PaaS也可支援雲平台上新興的DevOps快速開發;以往開發多採用「瀑布」(Waterfall)流程,變為「持續交付」(Continuous Delivery)模式;即系統分析首先向業務人員取得業務要求(Requirements),彼此多月磋商,才能獲一致的功能要求(Functional Specifications)。IT人員再著手比對資源,預估系統規模(Sizing)報價購置。而配置開發環境時;又得安裝函式庫(Framework)、中間件、應用服務器、數據庫,再於系統上作概念驗證(POC),製作樣本測試,供LOB用戶確定後,於正式基建設備上調校性能。應用開發的一般周期,極為漫長。

PaaS上,CF開發人員的數據庫和基建,變成了一項服務;只要將慣常使用數據庫;例如MySQL或Mongo DB,下載CF註冊成服務,有如App Store一樣,隨時啟動後即可迅速開發,只有數據庫的Broker則位於CF,所有實際連接,均交IaaS平台處理;開發只針對數據庫的特點,完全毋須理會平台限制。

因此,開發人員一俟取得用戶要求,一點按「數據庫即服務」,即配置了環境和參數;設計出原型(Prototype)後,開發人員可迅速向LOB人員取得反饋,測試並排錯,甚至安排自動發佈,均處同一平台。有了CF,開發人員也合併了測試和正式環境,完工後發署並正式使用,毋須擔心擴充時的瓶頸問題。

最近,Pivotal也聘用了於Cloudscaling及Rackspace負責DevOps的Andrew Clay Shafer,解釋PaaS如何改善開發流程。

李凱翔說:「事實上,Pivotal前身正是Agile Development最流行的開發服務廠商Pivotal Labs;其開發工具Pivotal Tracker已獲Twitter、Best Buy、Groupon、Salesforce.com、EMI等採用。」

工欲善其事,IT基建作為業務運作的利器,必須朝PaaS轉型,迎接千變萬化的商業形勢和大數據的時代。



沒有留言:

發佈留言