有一些問題,看上去很簡單,實際上很多人卻答不上來,比如說:夜空為什么是黑的?(不要試圖回答:因為沒有太陽……)
另一個看似簡單的問題來自于我們訪問百度的操作。打開百度,鍵入幾個字符,然后搜索出想要的結果。這似乎是一件非常輕松簡單的事情,但是,換個角度再來想想,在你進行這樣輕松操作的同時,有不計其數的用戶也在同時進行類似的操作。對于百度來說,這樣的訪問需求有如洪水般襲來,源源不斷,而你要知道,網頁搜索僅僅只是百度的一項業務而已……
我們談到BAT時,往往會強調,阿里的特點是交易,騰訊的特點是社交,而百度的特點是流量、數據,面對如此龐大的流量沖擊,你難道不會很訝異:他們如此之多的產品線,而且是如此之多用戶過億的產品線竟然運轉的毫無壓力!
那么,問題來了:究竟百度是怎么做到的?
答案就是云計算。
百度云計算的基礎架構
為了支撐龐大的業務體系,百度構建了龐大的云基礎架構。由于此前,支撐如此龐大業務需求的互聯網服務幾乎不存在,業界也沒有什么可以借鑒的設計,百度自己慢慢摸索這其中的最優道路,早在云計算概念拋出之前,百度已經朝著云的道路在前進,而現在,他們的努力和云不謀而合,已經呈現出很強的競爭力。
百度的云基礎架構可以分為幾層,最底層是數據中心IDC層,這部分可以看做是物理硬件層;其上是IaaS層,這一層涵蓋各類基礎設施,包括最為核心的集群操作系統;在往上是PaaS層,各類業務可以快速的通過平臺租用各類資源;再往上則是SaaS,業務可以直接申請調用服務。
綠色高效的數據中心
百度在國內擁有數十個數據中心,服務器規模達到數十萬臺,還架設了遍布全國的CDN分發網絡,可同時支持動態和靜態的全方位加速。
數據中心的能耗問題是全球產業界都非常關注的問題,而在一個標準的數據中心中,大量的能源并不是消耗在計算上,而是消耗在制冷環節。為了響應國家節能減排的號召,百度還在構建低功耗數據中心上投入了大量精力,比如自主研發的高溫耐腐服務器可大幅降低數據中心散熱、制冷上的能源消耗,降低大氣碳排放,為中國的大氣環境做出一份貢獻。
靈活的資源調配
坐擁如此龐大的資源,如果沒有自動化、智能化的調配系統,是難以想象的。為此,百度在硬件層之上構筑了IaaS層,以解決資源調配的問題。百度云計算的IaaS層有幾個部分組成,主要包括集群操作系統、分布式計算、云存儲、云數據庫、CDN、負載均衡等。
這里的核心就是集群操作系統。傳統模式下,企業的業務直接構筑在物理機上,這種模式的缺陷非常突出:第一,運維人員需求數量龐大;第二,一旦故障出現時,維護非常繁瑣,很大可能會影響到業務連續性;第三,系統可擴展性和可遷移能力極弱。
集群操作系統主要就是解決這個問題。通過這個系統,百度可以將異構的基礎硬件形成統一的資源池,各個業務部門的各種不同應用平滑的接入到資源池中,按需分配和調用,當故障出現時,也可以輕松遷移和調度。這樣的模式解決了百度資源統一管理,按需申請的問題。
百度高級總監劉煬向我們分享了一個很形象的例子,相信很多運維人員深有體會:“在服務器上,機械硬盤是為數不多的機械設備,相比于電子設備,它的故障率非常高。當數據中心規模較小時,這個問題并不突出,但百度IDC中,由于服務器數量龐大,機械硬盤數量堪稱海量,故障硬盤的量也對應提升。傳統方法下,當運維人員接到報警,可能需要手工備份,再設法尋找沒有故障的機器還原,有時候甚至要到處去借機器,業務延續也在一定程度受到影響。但現在,百度與合作伙伴一起打造了硬盤故障檢測系統,系統智能化的對硬盤進行監測和預測,一旦預估到風險,就通過集群操作系統將業務調度到其他機器上,原硬盤通過修復程序之后,再次送回資源池。”這個小小的應用,我們可以看到集群操作系統給百度業務帶來的便利性。
對于需要高性能計算的應用需求,百度還自主研發了大規模的分布式計算作為支撐。可應用在高吞吐離線計算平臺、大規模機器學習平臺和實時流式計算平臺上。
云存儲則是百度根據自身應用的特性,打造的極富特色的存儲體系。包含三種不同的云存儲系統:分布式文件系統、分布式表格系統和分布式對象存儲系統。
在IaaS層面,云數據庫自然也是不可或缺的。百度以MySQL為基礎自主研發了云數據庫平臺,實際運用中,可用性達到99.999%。
CDN和負載均衡部分同樣也為高流量、大數據做了很好的支撐。
IaaS的存在很好的解答了本文開頭的問題,正式因為這種近乎于無線的資源池作為支撐,百度的各項業務可以無視物理硬件環境差異,也無視發生在數據中心中的硬盤故障、風扇故障等狀況,保持業務的連續性。
開放出來的云
獨樂樂不如眾樂樂,為了與整個生態攜手發展,共同釋放互聯網的能量,百度在私有云之外,還為業界提供了開放云服務,在一個平臺上實現了兩朵云。開放云將結合直達號、搜索、網盟站長等百度生態,為企業客戶提供更好的技術平臺服務。
劉煬認為,通過百度開放云,行業用戶可以獲得高性能、高可擴展性和安全可靠的云服務,行業用戶可以通過百度開放云,簡易、快速的獲取計算、存儲、數據庫、分析等等各類公有云服務。
百度云計算的大應用
一個簡單的問題,一些簡單的操作,但在后端,有著龐大的體系作為支撐。百度云計算作為一個支撐平臺,扮演著重要的角色。
回到本文最開始的問題:夜空為什么是黑的?答案百度一下,也許你就知道了。