目前云計算、云存儲、云備份等技術可謂是鋪天蓋地,而目前市場對一款產品是否是云,沒有明顯的界定。因為云本來就沒有一個標準。人們對云的認識基本就有4種不同的觀點:云即設備、云即集群、云即IT系統、云即服務。
云即設備:這是最原始的觀點,也就是所謂的云只是指代一堆設備,因為沒有設備的支撐,哪來的云。
云即集群:光有設備還不行,還需要這堆設備有機的聯系起來,相互協同,對外呈現為一個集群,這是在“云即設備”上的一次發展。
云即IT系統:上面說到的集群,也只是一堆服務器放在一起,可以協作,若要進一步發展,需要加上軟件作為靈魂,比如某企業的IT系統。
云即服務:IT系統一般是用來支撐企業的業務的,但是我們能不能通過他來盈利呢?
這就涉及到商業模式上面了。主要有如下幾種模式:
直接賣了:如果像賣房子一樣,受眾很小,因為需要購買一整套IT系統的人很少。
租出去:這就如同租房子一樣,受眾相對于賣房子大很多。但是盈利慢
利用IT系統來運營某種業務,用來賺錢:這種方式受眾更大,像郵箱、網頁、博客,幾乎全民都是客戶,所以盈利面很大。這樣看來,能提供某種形式IT服務的一整套IT系統都是云。從這個角度,所有的互聯網運營商,比如各大網站,都是云運營商。
給云下個定義
那么云目前最主流的定義是啥?上面提到過,設備組成集群,集群搭上軟件稱為IT系統,IT系統用來服務,好了我們可以把之前的觀點結合起來下個定義:云是一個可運營的IT系統,但是這個定義缺少最關鍵的東西,就是資源迅速靈活地部署和回收。所以云當前最主流的定義為:云是一個智能IT系統,它是可運營的,迅速靈活部署和回收資源的智能IT系統。
那么云應該具有如下性質:云提供商擁有一定規模的硬件基礎(計算、存儲、網絡);作為服務進行交易,而不是實物交易,客戶只是租用資源。也就是說,云其實是一種商業模式,如果認為只有底層使用了硬件集群和虛擬化技術的系統才是云這種觀點是非常狹隘的。
誰催生了云
誰催生了云?當然是需求。互聯網以及智能終端的普及,讓信息得到了爆發性的增長,那么對IT基礎架構(計算、存儲、網絡)來說,正在快速被飽和。而傳統的IT系統存在三個問題:業務部署周期長;資源不能充分回收利用,存在孤島;手動部署無法滿足需求。這就是痛點。
比如,在傳統IT中,如果運營部門分析出網頁游戲業務會有20%的增長,就會對其擴容,比如增加Web服務器、數據庫服務器、存儲系統的數量或容量,這就需要采購設備,遵循一系列的流程,這個周期會非常的長,甚至慢于業務的變化周期。與此同時,另外一個在線視頻業務卻可能業績不好,利用率不足60%。
最原始的想法是將在線視頻業務的的40%余量分配給網游部門,不過會存在大量的技術風險。比如兩種業務部署在同一個操作系統,會增加業務的粘度,不利于運維,然是如果把業務部署在不同的服務器上,更不利于運維。加上現在數據中心中存在不同的協議、不同廠商的設備,如果靠手動來部署、管理和回收資源,效率低而且容易錯,業務上線的速度也不快。
云:商業模式or技術架構?
不過上面的說法只是云誕生的一部分理由,實際上最初的云,實際是一種商業模式,當商業模式與計算機技術結合之后,才產生了云這個代名詞。這也是云沒有外在的像技術一樣嚴格的標準的原因。
要解決之前提到的業務部署周期長,無法實現自動化,資源不能方便的回收和復用等,最容易想到的技術手段自然是虛擬化。服務器虛擬化,即虛擬機系統,充分利用了資源,再加上Vmotion,DRS(Distrubted Resource Scheduler)等技術,極大的增加了部署靈活性和資源均衡性。我們來看看部署了虛擬機以后對之前的問題帶來的變化。
資源充分利用問題:舊業務余量會自動回收,新業務所需的應用可以直接以虛擬機的形式部署在物理機,因為操作系統各用各的,粘合影響得以避免。
上線業務周期長的問題:部署虛擬機消耗的時間比物理機少了很多,上線速度加快
手動部署問題:使用一種資源自動化分配和回收平臺來解決自動化部署問題。
那么所謂虛擬化,其實就是在傳統的數據中心上加上一個彈性層,這樣整個數據中心就變成了軟數據中心了。如果還能做到部署回收自動化、可度量化、服務化、可運營的數據中心,則就是一個云數據中心了。綜上所述,云系統中重要的角色有:
虛擬化
集群化
自動化:實現資源自動部署、調度、分配、回收的管理者。對內可以與其他組件進行通信,管理資源;對外可以響應業務部署的需求,并且將這些需求轉化為對內的資源調度;這個模塊綜合起來就是“自動化”。
可度量化:也就是用戶用了什么資源,用多少時間,耗費多少成本,毛利率如何,報價幾合可以精確度量、定價。
縱觀云發展的過程中,說不清到底是先有云這種商業模式還是先有云這種技術架構的,兩者其實是相互催生、相輔相成。回顧存儲系統的技術發展過程。最開始的時候,存儲系統只需要關心數據存儲,只要提供一塊空間,怎么管,怎么用,底層是不關心的,后來,存儲系統開始注重數據管理,開發了諸如快照、重刪、容災等功能。再后來,又到了數據運營階段,還關心數據怎么用的問題,此時需要更貼近用戶的應用,注重業務展現。
公有云和私有云
現在我們已經有了一個云化的數據中心了,那么可以按照數據中心的是對企業內部開放服務還是給任何人開放服務來分為私有云和公有云:私有云即數據中心對企業內部開發,提供云服務,比如存儲空間申請、企業應用系統的快速部署等;公有云指可以對外營業,通過互聯網提供各種云服務的云。
私有云讓企業IT部門角色轉變
傳統的IT部門是一個支撐部門,始終處于業務部門的牽引之下,所有的采購、經費申請必須以業務需求為前提。那么怎么提升IT部門的地位,只要也得與業務部門處于平等的地位。云中的“服務”兩字正好滿足了這種需求,比如IT部門可以通過建立規范的資源申請流程,然后建立電子工單審批系統,只有通過審批以后才提供對應的服務。還可以統計某個部門在某段時間內使用了多少IT資源,消耗了多少成本。
這樣IT部門成為一個獨立的服務角色,其他部門向IT部門申請資源的時候,是以協商的態度而不是強勢的牽制的態度,而且因為資源可度量了,IT部門可以做出合理的預測,申請后續經費等資源變得更有說服性。
公有云受制于互聯網帶寬發展
如今互聯網的接入速度還是比較低的,大量用戶的速度還是1Mbps,也就是只有100KB/s的吞吐量的接入速度。此時,若給他一個iSCSI協議訪問的存儲空間是不現實的,最多提供網盤這樣的上傳下載服務。常用的SaaS服務(網頁、聊天、視頻、網盤等)基本上可以基于低速網絡,但是IaaS就困難了,比如訪問虛擬機的時候,如果不是用xshell這種方式,而是使用虛擬桌面登錄,1Mbps非常勉強。而且,如果要安裝軟件,還得把安裝包傳上去。
綜上所述,云目前最能被廣泛推進的地方就是新建數據中心,企業興建私有云,運營商興建混合云
云系統架構及組成
下圖為云具體的架構,可分為如下幾個層次:
物理架構層:比如供電、散熱等
基礎IT架構層:包括網絡、存儲、服務器等。需要注意的是這些服務器與存儲設備不是孤島,他們會組成集群,上面搭載虛擬化,并進行自動化的管理。
基礎架構/集群管理層:有了集群還不夠,需要在上面覆蓋虛擬化層來增加系統的彈性。對于服務器就是VMware這樣的虛擬機平臺。對于存儲,就只能分布式文件系統或者分布式卷管理系統才能滿足這種需求。
資源部署層:現在我們已經可以得到一個網絡、服務器、存儲的集群,還需要一個用來管理和驅動集群的角色。比如進行計算和存儲資源的包裹,將虛擬機在集群節點中靈活移動,自動資源動態分配和回收。
中間件層:應用層與資源層需要一個中間層來適配,這就是中間件層。
應用引擎層:這一層需要提供一個通用的業務開發平臺,可以實現統一發布。
業務展現與運營層:現在數據中心的架構已經具有集群化、虛擬化、自動化的形態了,但是這只是對自己有用,對用戶來說,他們不用關心底層用不用集群或者虛擬化,只關心是否能得到快速的服務和響應。所以我們還需要一個業務展現界面,這就是云服務。
那么出租數據中心其實可以在以下幾個層次中進行:
1、基礎設施即服務(IaaS):所謂基礎設施指的是云系統中的硬件設施如服務器、網絡、存儲。所以IaaS只是提供硬件平臺,具體的計算任務由用戶自行部署。
2、平臺即服務:相對于IaaS,PaaS屏蔽而不出租基礎架構,轉而出租更高一層的軟件平臺。用戶可以通過這個平臺制作應用。因為這個平臺是一種運行與硬件集群中的軟件,用戶實際上相當于租用了計算業務。
3、軟件即服務:SaaS是云服務中的最外層,直接出售業務級別的內容。比如Web網頁等。
云本質是一種服務,是一種方式和方法,而不是某種設備,某個軟件,當然云需要由硬件+軟件來承載而已。所以,云和速度性能沒有直接關系,它的主要目的是廉價高效的利用資源并降低硬件的應用成本和管理成本。云不一定就是一個高速高冗余的東西,而是說底層硬件一般使用并行計算集群和存儲集群,在這個基礎上,云才能表現出更大的效能。