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