修長虹 梁建坤 董鴻曄
沈陽藥科大學網絡中心 遼寧 110016
隨著多核處理器、虛擬化、分布式存儲、寬帶互聯網和自動化管理等技術的發展以及信息化處理需求的增長云技術應時而生,云計算作為一種新興的網絡服務方式,將傳統的以桌面為核心的任務處理轉變為以網絡為核心的任務處理,通過網絡利用云中的各種資源,實現IT基礎設施的自動、按需使用,提高資源的利用率,降低成本。
云計算(Cloud Computing)是網格計算(Grid Computing)、分布式計算(Distributed Computing)、并行計算(Parallel Computing)、效用計算(UtilityComputing)、網絡存儲(Network Storage Technologies)、虛擬化(Virtualization)、負載均衡(Load Balance)等技術的發展,或者說是這些計算機科學概念的商業實現。是一種新興的商業計算模型。它將計算任務分布在大量計算機構成的資源池上,使各種應用系統能夠根據需要獲取計算、存儲空間和各種軟件服務。提供資源的網絡資源池被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,按使用付費。狹義云計算是指 IT基礎設施的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需的資源;廣義云計算是指服務的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需的服務。這種服務可以是IT和軟件、互聯網相關的任意其他的服務,它具有超大規模、虛擬化、可靠、安全等特點。
云計算系統架構模型可分為3層:訪問層、應用接口層和基礎管理層。訪問層包括個人空間服務、運營空間租賃;企事業單位數據備份、網站大容量在線存儲等。應用接口層可以將云計算能力封裝成一套標準的接口服務,包括網絡接入、用戶認證、權限管理;公用API接口、應用軟件、web service等。基礎管理層負責對云計算的資源進行管理,采用合適的算法調度資源,提供高效的服務,包括集群系統、分布式文件系統、并行計算等。
從云計算系統的架構模型,可以看出:對于開發一個云計算系統,必須掌握以下幾點技術:高可靠的系統集群技術,并行計算技術,分布式文件系統,終端開發技術等。
支撐云計算系統運行的是集群系統,由多臺同構或異構的計算機連接起來協同完成特定的任務就構成了集群系統。在這樣的工作環境下就構成了計算的分布性,被解決的問題劃分出的模塊是相互關聯的,若是其中一塊算錯了,那么必定會影響到其他模塊,對于數據計算的準確性就要依賴集群系統了。
云計算系統核心技術:并行計算。并行計算是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來并行計算。并行計算系統既可以是專門設計的、含有多個處理器的超級計算機,也可以是以某種方式互連的若干臺獨立計算機構成的集群。通過并行計算集群完成數據的處理,再將處理的結果返回給用戶。
分布式文件系統的設計應滿足透明性、并發控制、可伸縮性、容錯以及安全需求等。客戶端對于文件的讀寫不應該影響其他客戶端對同一個文件的讀寫。分布式文件系統需要做出復雜的交互,盡量保證文件服務在客戶端或者服務端出現問題的時候能正常使用是非常重要的。分布式文件系統能提供備份恢復機制以保證了分布式處理的可靠性。
作為一個云計算系統,是為需要的人提供服務和計算,而服務和計算都在“云”中,“云”對用戶來說是個黑盒子,用戶可以看作一個云網絡虛擬出來的操作系統,不需要知道它的內部實現,只需要根據“云”內的各種服務來實現自己的業務,而業務的使用和展現都在終端。現階段,通過瀏覽器幾乎覆蓋了所有的網絡操作,瀏覽器現在已經成為了用戶和“云”進行交互的主要工具,云計算系統通過瀏覽器向用戶提供服務。隨著云計算的發展,當云計算運用到為非瀏覽器終端提供服務時,會出現非瀏覽器終端。面對不同用戶的需求,要開發不同的終端,提供更加高效的服務。
SPI是最常見的云計算服務模式的縮寫
Saas:Software as a Service 軟件即服務
Paas:Platform as a service 平臺即服務
Iaas:Infrastructure as a Service 基礎設施即服務
在云計算中,根據其服務集合所提供的服務類型,整個云計算服務集合被劃分成4個層次:應用層、平臺層、基礎設施層和虛擬化層。這4個層次每一層都對應著一個子服務集合,下面所示為云計算服務層次。

與大家熟悉的計算機網絡體系結構中層次的劃分不同。在計算機網絡中每個層次都實現一定的功能,層與層之間有一定關聯。而云計算體系結構中的層次是可以分割的,即某一層次可以單獨完成一項用戶的請求而不需要其他層次為其提供必要的服務和支持。
(1) SaaS
軟件即服務(Software-as-a-service,SaaS)是云計算領域發展最成熟、應用最廣泛的服務。它是一種通過互聯網,為用戶提供軟件及應用程序的服務方式。由于基于 SaaS的軟件只有在用戶需要時才被使用,SaaS也被稱為“按需”軟件。SaaS模式大大降低了軟件,尤其是大型軟件的使用成本,并且由于軟件是托管在服務提供商服務器上,減少了客戶的管理維護成本,可靠性也更高。對普通用戶而言,他們主要面對的是 SaaS這種服務模式,而且幾乎所有的云計算服務最終的呈現形式都是SaaS。
(2) PaaS
平臺即服務(Platform-as-a-Service,PaaS)是把計算環境、開發環境等平臺作為一種服務提供的商業模式。云計算服務提供商可以將操作系統、應用開發環境等平臺級產品通過Web以服務的方式提供給用戶。通過PaaS服務,軟件開發人員可以不購買服務器的情況下開發新的應用程序。
(3) IaaS
基礎設施即服務(Infrastructure-as-a-Service,IaaS)是把數據中心、基礎設施硬件資源通過Web分配給用戶使用的商業模式。IaaS領域最引人注目的例子就是亞馬遜公司的Elastic Compute Cloud。值得一提的是,IaaS服務很好地實現了云計算按需付費的理念,通過“彈性云”用戶可只在需要時才接入這些基礎設施資源,并只為自己使用的部分。
事實上,這三個領域的界線并不是想象的那么清晰,它們之間存在很多交叉。大多數云計算服務提供商也并不是只提供某一種服務。
它旨在通過網絡把多個成本相對較低的計算實體整合成一個具有強大計算能力的系統,在此系統之上,對用戶提供所需服務。云計算的核心理念就是通過不斷提高“云”的處理能力,進而減少用戶終端的處理負擔,最終使用終端用戶簡化成一個單純的輸入輸出設備,并能按需享受“云”的強大計算處理能力。云計算將所有的計算資源集中起來,并由云核心管理軟件實現自動管理,無需人為參與。這使得應用用戶更加專注于自己的業務,有利于創新和降低成本。
(1) 超大規模
“云”具有相當的規模,Google云計算已經擁有100多萬臺服務器, Amazon、IBM、微軟、Yahoo等的“云”均擁有幾十萬臺服務器。企業私有云一般擁有數百上千臺服務器。“云”能賦予用戶前所未有的計算能力。
(2) 虛擬化
云計算支持用戶在任意位置、使用各種終端獲取應用服務。所請求的資源來自“云”,而不是固定的有形的實體。應用在“云”中某處運行,但實際上用戶無需了解、也不用擔心應用運行的具體位置。只需要一臺筆記本或者一個手機,就可以通過網絡服務來實現我們需要的一切,甚至包括超級計算這樣的任務。
(3) 高可靠性
“云”使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用云計算比使用本地計算機可靠。
(4) 通用性
云計算不針對特定的應用,在“云”的支撐下可以構造出千變萬化的應用,同一個“云”可以同時支撐不同的應用運行。
(5) 高可擴展性
“云”的規模可以動態伸縮,滿足應用和用戶規模增長的需要。
(6) 按需服務
“云”是一個龐大的資源池,按需購買;云可以像自來水,電,煤氣那樣計費。
(7) 使用成本低
由于“云”的特殊容錯措施可以采用極其廉價的節點來構成云,“云”的自動化集中式管理使大量企業無需負擔日益高昂的數據中心管理成本,“云”的通用性使資源的利用率較之傳統系統大幅提升,因此用戶可以充分享受“云”的低成本優勢,經常只要花費幾百美元、幾天時間就能完成以前需要數萬美元、數月時間才能完成的任務。 云計算可以徹底改變人們未來的生活,但同時也要重視環境問題,這樣才能真正為人類進步做貢獻,而不是簡單的技術提升。
(8) 潛在的危險性
云計算服務除了提供計算服務外,還必然提供了存儲服務。但是云計算服務當前壟斷在企業手中,而他們僅僅能夠提供商業信用。對于政府機構、商業機構(特別像銀行這樣持有敏感數據的商業機構)對于選擇云計算服務應保持足夠的警惕。一旦商業用戶大規模使用私人機構提供的云計算服務,無論其技術優勢有多強,都不可避免地讓這些私人機構以“數據(信息)”的重要性挾制整個社會。對于信息社會而言,“信息”是至關重要的。另一方面,云計算中的數據對于數據所有者以外的其他用戶云計算用戶是保密的,但是對于提供云計算的商業機構而言確實毫無秘密可言。所有這些潛在的危險,是商業機構和政府機構選擇云計算服務、特別是國外機構提供的云計算服務時,不得不考慮的一個重要的前提。
就云計算本身而言,它將很有可能徹底改變用戶使用電腦的習慣,使用戶從以桌面為核心使用各項應用轉移到以Web為核心進行各種活動。而計算機也有可能退化成一個簡單的終端,不用再像現在一樣需要安裝各種軟件,同時為這些軟件的配置和升級費心費神。未來的計算機可能僅僅用作網絡連接以及使用云計算之上的各項服務。
從短期來看,云計算所帶來的各項變化對個人的影響還比較小,或許和從前的許多技術一樣,云計算將首先給企業(尤其是中小企業)帶來最為直接的變化:他們能夠快速搭建自己想要的各種應用,而不用再為服務器資源而煩惱。而云計算最終能否普及至個人,恐怕還需看未來一段時間的發展。
[1]吳朱華.云計算核心技術剖析.人民郵電出版社.2011.
[2]劉鵬.云計算.電子工業出版社.2011.
[3](美)david s. linthicum(著),馬國耀(譯).云計算與 soa.人民郵電出版社.2011.