最近看到亞馬遜第一次單獨(dú)公布AWS財(cái)報(bào),一年?duì)I收57億美元,市場(chǎng)份額占比第一?;旌显剖袌?chǎng),2014年,IBM以綜合的IT能力,收入70億奪魁。云計(jì)算喊了這么多年,不知不覺(jué)已經(jīng)變成了幾十億美元的大生意。云計(jì)算時(shí)代真的來(lái)了!
今天不是來(lái)說(shuō)AWS的,說(shuō)說(shuō)大數(shù)據(jù)怎么上云的一些思考:
1、首先說(shuō)說(shuō),大數(shù)據(jù)和云的關(guān)系,云是一種網(wǎng)絡(luò)形態(tài)的概念,是繼1980年代大型計(jì)算機(jī)到客戶端-服務(wù)器的大轉(zhuǎn)變之后的又一種巨變。云計(jì)算(Cloud Computing)是分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)、效用計(jì)算(Utility Computing)、網(wǎng)絡(luò)存儲(chǔ)(Network Storage Technologies)、虛擬化(Virtualization)、負(fù)載均衡(Load Balance)、熱備份冗余(High Available)等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。除了技術(shù)上的融合形態(tài),更重要的體現(xiàn)了一種服務(wù)模式的一種融合和改變,對(duì)于云來(lái)說(shuō),大數(shù)據(jù)只是上面的一種服務(wù),和其他的web服務(wù),數(shù)據(jù)庫(kù)服務(wù)沒(méi)有區(qū)別。
2、I層(云的基礎(chǔ)設(shè)施)現(xiàn)在業(yè)界最火的方案是OpenStack,OpenStack是一個(gè)由NASA(美國(guó)國(guó)家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權(quán)的自由軟件和開(kāi)放源代碼項(xiàng)目。
OpenStack是一個(gè)開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目,由幾個(gè)主要的組件組合起來(lái)完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項(xiàng)目目標(biāo)是提供實(shí)施簡(jiǎn)單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺(tái)。OpenStack通過(guò)各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個(gè)服務(wù)提供API以進(jìn)行集成。
OpenStack云計(jì)算平臺(tái),幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類似于 Amazon EC2 和 S3 的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructure as a Service, IaaS)。OpenStack 包含兩個(gè)主要模塊:Nova 和 Swift,前者是 NASA 開(kāi)發(fā)的虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算模塊;后者是 Rackspace開(kāi)發(fā)的分布式云存儲(chǔ)模塊,兩者可以一起用,也可以分開(kāi)單獨(dú)用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,還有包括 Dell、Citrix、 Cisco、 Canonical等重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非???。
在云環(huán)境中,Openstack解決了I層的問(wèn)題,所有物理資源的管理和分配由I層來(lái)負(fù)責(zé)。
3、正是因?yàn)镮層將資源和存儲(chǔ)進(jìn)行了虛擬化然后對(duì)上提供,大數(shù)據(jù)上云最大的兩個(gè)問(wèn)題是資源管理和數(shù)據(jù)存儲(chǔ)。同時(shí)大數(shù)據(jù)又是重載的業(yè)務(wù),對(duì)資源的需求非常高,因此需要大數(shù)據(jù)和openstack充分配合,大數(shù)據(jù)上云才能運(yùn)行的好。
4、傳統(tǒng)數(shù)據(jù)中心,大數(shù)據(jù)集群的資源管理和分配目前主要的方案是mesos/YARN.
從上圖大家可以看出,Mesos/YARN來(lái)對(duì)物理資源直接進(jìn)行管理,然后分配給上層的組件使用。 資源隔離方面,docker方案發(fā)展很快,所以又有YARN和kubernets結(jié)合的方案。PaaS作為一個(gè)服務(wù)直接架在YARN上。在沒(méi)有直接I層能力的情況下,應(yīng)該是非常合適的一種的過(guò)渡方案,但是如果YARN管理的不是直接的物理資源,而是I層虛擬出來(lái)的VM/docker之類,mesos/YARN和I層的能力就出現(xiàn)了一定的重合和沖突,這個(gè)時(shí)候mesos/YARN應(yīng)該把VM/Docker級(jí)資源管理和分配的能力釋放給I層,聚焦于job級(jí)資源的分配和調(diào)度。此時(shí)PaaS在架構(gòu)在YARN/MESOS上就非常多余。
5、對(duì)于存儲(chǔ)存在同樣的問(wèn)題,HDFS是對(duì)物理硬盤的直接抽象成對(duì)象存儲(chǔ),并提供3份冗余來(lái)保障數(shù)據(jù)的可靠性。云上的I層對(duì)存儲(chǔ)通常也會(huì)抽象,并且進(jìn)行一定的冗余,來(lái)動(dòng)態(tài)分配給上層應(yīng)用。HDFS直接架在I層上,就存在反復(fù)冗余的問(wèn)題。同時(shí)大數(shù)據(jù)的核心是對(duì)數(shù)據(jù)的處理,數(shù)據(jù)存儲(chǔ)的位置對(duì)性能起到非常關(guān)鍵的作用,多層反復(fù)虛擬化之后,數(shù)據(jù)存儲(chǔ)的不確定性,性能損耗非常大。因此I層最好將物理硬盤直接提供出來(lái)給大數(shù)據(jù)服務(wù)可見(jiàn),讓用數(shù)據(jù)的人直接管理數(shù)據(jù)效率最高。