一、云計算思想的產生
傳統模式下,企業建立一套IT系統不僅僅需要購買硬件等基礎設施,還有買軟件的許可證,需要專門的人員維護。當企業的規模擴大時還要繼續升級各種軟硬件設施以滿足需要。對于企業來說,計算機等硬件和軟件本身并非他們真正需要的,它們僅僅是完成工作、提供效率的工具而已。對個人來說,我們想正常使用電腦需要安裝許多軟件,而許多軟件是收費的,對不經常使用該軟件的用戶來說購買是非常不劃算的。可不可以有這樣的服務,能夠提供我們需要的所有軟件供我們租用?這樣我們只需要在用時付少量“租金”即可“租用”到這些軟件服務,為我們節省許多購買軟硬件的資金。
我們每天都要用電,但我們不是每家自備發電機,它由電廠集中提供;我們每天都要用自來水,但我們不是每家都有井,它由自來水廠集中提供。這種模式極大得節約了資源,方便了我們的生活。面對計算機給我們帶來的困擾,我們可不可以像使用水和電一樣使用計算機資源?這些想法最終導致了云計算的產生。
云計算的最終目標是將計算、服務和應用作為一種公共設施提供給公眾,使人們能夠像使用水、電、煤氣和電話那樣使用計算機資源。
云計算模式即為電廠集中供電模式。在云計算模式下,用戶的計算機會變的十分簡單,或許不大的內存、不需要硬盤和各種應用軟件,就可以滿足我們的需求,因為用戶的計算機除了通過瀏覽器給“云”發送指令和接受數據外基本上什么都不用做便可以使用云服務提供商的計算資源、存儲空間和各種應用軟件。這就像連接“顯示器” 和“主機”的電線無限長,從而可以把顯示器放在使用者的面前,而主機放在遠到甚至計算機使用者本人也不知道的地方。云計算把連接“顯示器”和“主機”的電線變成了網絡,把“主機”變成云服務提供商的服務器集群。
在云計算環境下,用戶的使用觀念也會發生徹底的變化:從“購買產品”到“購買服務”轉變,因為他們直接面對的將不再是復雜的硬件和軟件,而是最終的服務。用戶不需要擁有看得見、摸得著的硬件設施,也不需要為機房支付設備供電、空調制冷、專人維護等等費用,并且不需要等待漫長的供貨周期、項目實施等冗長的時間,只需要把錢匯給云計算服務提供商,我們將會馬上得到需要的服務。
二、云計算的概念
云計算(Cloud Computing)是由分布式計算(Distributed Computing)、并行處理(Parallel Computing)、網格計算(Grid Computing)發展來的,是一種新興的商業計算模型。目前,對于云計算的認識在不斷的發展變化,云計算沒仍沒有普遍一致的定義。
中國網格計算、云計算專家劉鵬給出如下定義 :“云計算將計算任務分布在大量計算機構成的資源池上,使各種應用系統能夠根據需要獲取計算力、存儲空間和各種軟件服務”。
狹義的云計算指的是廠商通過分布式計算和虛擬化技術搭建數據中心或超級計算機,以免費或按需租用方式向技術開發者或者企業客戶提供數據存儲、分析以及科學計算等服務,比如亞馬遜數據倉庫出租生意。
廣義的云計算指廠商通過建立網絡服務器集群,向各種不同類型客戶提供在線軟件服務、硬件租借、數據存儲、計算分析等不同類型的服務。廣義的云計算包括了更多的廠商和服務類型,例如國內用友、金蝶等管理軟件廠商推出的在線財務軟件,谷歌發布的Google應用程序套裝等。
通俗的理解是,云計算的“云“就是存在于互聯網上的服務器集群上的資源,它包括硬件資源(服務器、存儲器、CPU等)和軟件資源(如應用軟件、集成開發環境等),本地計算機只需要通過互聯網發送一個需求信息,遠端就會有成千上萬的計算機為你提供需要的資源并將結果返回到本地計算機,這樣,本地計算機幾乎不需要做什么,所有的處理都在云計算提供商所提供的計算機群來完成。
三、云計算的主要服務形式
云計算還處于萌芽階段,有龐雜的各類廠商在開發不同的云計算服務。云計算的表現形式多種多樣,簡單的云計算在人們日常網絡應用中隨處可見。目前,云計算的主要服務形式有:SaaS(Software as a Service), PaaS(Platform as a Service), IaaS(Infrastructure as a Service)。
(1)軟件即服務(SaaS)
SaaS服務提供商將應用軟件統一部署在自己的服務器上,用戶根據需求通過互聯網向廠商訂購應用軟件服務,服務提供商根據客戶所定軟件的數量、時間的長短等因素收費,并且通過瀏覽器向客戶提供軟件的模式。這種模式下,客戶不再像傳統模式那樣花費大量資金在硬件、軟件、維護人員,只需要支出一定的租賃服務費用,通過互聯網就可以享受到相應的硬件、軟件和維護服務,這是網絡應用最具效益的營運模式。對于小型企業來說,SaaS是采用先進技術的最好途徑。
(2)平臺即服務(PaaS)
把開發環境作為一種服務來提供。這是一種分布式平臺服務,廠商提供開發環境、服務器平臺、硬件資源等服務給客戶,用戶在其平臺基礎上定制開發自己的應用程序并通過其服務器和互聯網傳遞給其他客戶。PaaS能夠給企業或個人提供研發的中間件平臺,提供應用程序開發、數據庫、應用服務器、試驗、托管及應用服務。
(3)基礎設施服務(IaaS)
IaaS即把廠商的由多臺服務器組成的“云端”基礎設施,作為計量服務提供給客戶。它將內存、I/O設備、存儲和計算能力整合成一個虛擬的資源池為整個業界提供所需要的存儲資源和虛擬化服務器等服務。這是一種托管型硬件方式,用戶付費使用廠商的硬件設施。IaaS的優點是用戶只需低成本硬件,按需租用相應計算能力和存儲能力,大大降低了用戶在硬件上的開銷。
四、云計算的核心技術
云計算系統運用了許多技術,其中以數據管理技術、數據存儲技術、虛擬化技術、云計算平臺管理技術最為關鍵。
海量數據分布存儲技術——云計算系統由大量服務器組成,同時為大量用戶服務,因此云計算系統采用分布式存儲的方式存儲數據,用冗余存儲的方式保證數據的可靠性。主服務器存儲文件系統所有的元數據,包括名字空間、訪問控制信息、從文件到塊的映射以及塊的當前位置。控制系統范圍的活動,如塊租約管理、垃圾收集,并定期與每一個塊服務器通信,為其傳遞指令并收集其狀態。客戶與主服務器的交換只限于對元數據的操作,所有數據方面的通信都直接和塊服務器聯系,這大大提高了系統的效率,防止主服務器負載過重。
海量數據管理技術——云計算需要對分布的、海量的數據進行處理、分析,因此,數據管理技術必需能夠高效的管理大量的數據。
虛擬化技術——通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式。虛擬化技術根據對象可分成存儲虛擬化、計算虛擬化、網絡虛擬化等,計算虛擬化又分為系統級虛擬化、應用級虛擬化和桌面虛擬化。
云計算平臺管理技術——云計算資源規模龐大,服務器數量眾多并分布在不同的地點,同時運行著數百種應用,如何有效的管理這些服務器,保證整個系統提供不間斷的服務是巨大的挑戰。云計算系統的平臺管理技術能夠使大量的服務器協同工作,方便的進行業務部署和開通,快速發現和恢復系統故障,通過自動化、智能化的手段實現大規模系統的可靠運營。