天天看點

《雲計算-劉鵬》學習筆記-第一章:大資料與雲計算0 筆記說明1 大資料時代2 雲計算——大資料的計算3 雲計算發展現狀4 雲計算實作機制5 雲計算壓倒性的成本優勢

文章目錄

  • 0 筆記說明
  • 1 大資料時代
  • 2 雲計算——大資料的計算
  • 3 雲計算發展現狀
  • 4 雲計算實作機制
  • 5 雲計算壓倒性的成本優勢

0 筆記說明

參考書籍為《雲計算-第三版》,作者為劉鵬。

《雲計算-劉鵬》學習筆記-第一章:大資料與雲計算0 筆記說明1 大資料時代2 雲計算——大資料的計算3 雲計算發展現狀4 雲計算實作機制5 雲計算壓倒性的成本優勢

1 大資料時代

大資料的定義如下:海量資料或巨量資料,其規模巨大到無法通過目前主流的計算機系統在合理時間内擷取、存儲、管理、處理并提煉以幫助使用者決策。

大資料具有以下的特征,即4V+1C:

1、資料量大(Volume):存儲的資料量巨大,PB級别是常态,因而對其分析的計算量也大。下面是存儲機關的換算公式:

1EB=1024PB=260位元組

1PB=1024TB=250位元組

1TB=1024GB=240位元組

1GB=1024MB=230位元組

1MB=1024KB=220位元組

1KB=1024B=210位元組

2、多樣(Variety):資料的來源及格式多樣,資料格式除了傳統的結構化資料外,還包括半結構化或非結構化資料,比如使用者上傳的音頻和視訊内容。而随着人類活動的進一步拓寬,資料的來源更加多樣。

3、快速(Velocity):資料增長速度快,而且越新的資料價值越大,這就要求對資料的處理速度也要快,以便能夠從資料中及時地提取知識,發現價值。

4、價值密度低(Value):需要對大量的資料進行處理,挖掘其潛在的價值。大資料明确要求是設計一種在成本可接受的條件下,通過快速采集、發現和分析,從大量、多種類别的資料中提取價值的體系架構。

5、複雜度(Complexity):對資料的處理和分析的難度大。

2 雲計算——大資料的計算

可用公式描述大資料與雲計算的關系:G=f(x),其中x是大資料,f是雲計算,G是目标。即,雲計算是處理大資料的手段,大資料與雲計算就像是一枚硬币的正反面——大資料是需求,雲計算是手段:沒有大資料,就不需要雲計算;沒有雲計算,就無法處理大資料。

雲計算有長、短兩種定義:

1、長定義是:雲計算是一種商業計算模型。它将計算任務分布在大量計算機構成的資源池上,使各種應用系統能夠根據需要擷取計算力、存儲空間和資訊服務。

2、短定義:雲計算是通過網絡按需提供可動态伸縮的廉價計算服務。

上述長定義中的資源池稱為“雲”。“雲”是一些可以自我維護和管理的虛拟計算資源,通常是一些大型伺服器叢集,包括計算伺服器、存儲伺服器和寬帶資源等。

雲計算将計算資源集中起來,并通過專門軟體實作自動管理,無須人為參與。使用者可以動态申請部分資源,支援各種應用程式的運轉,無須為煩瑣的細節而煩惱,能夠更加專注于自己的業務,有利于技術創新、降低成本和提高效率。

雲計算的核心理念是資源池,與網格計算池的概念非常相似。網格計算池将計算和存儲資源虛拟成為一個可以任意組合配置設定的集合,池的規模可以動态擴充,配置設定給使用者的處理能力可以動态回收重用。這種模式能夠大大提高資源的使用率,提升平台的服務品質。

雲計算是并行計算(Parallel Computing)、分布式計算(Distributed Computing)和網格計算(Grid Computing)的發展,或者說是這些計算科學概念的商業實作。雲計算是虛拟化(Virtualization)、效用計算(Utility Computing)、将基礎設施作為服務IaaS(Infrastructure as a Service)、将平台作為服務PaaS(Platform as a Service)和将軟體作為服務SaaS(Software as a Service)等概念混合演進并躍升的結果。從研究現狀上看,雲計算具有以下特點:

1、超大規模。“雲”需要具有相當的規模,如谷歌雲計算已經擁上百萬台伺服器。“雲”能賦予使用者前所未有的計算能力。

2、虛拟化。雲計算支援使用者在任意位置、使用各種終端擷取服務。所請求的資源來自“雲”,而不是固定的有形的實體。應用在“雲”中某處運作,但實際上使用者無須了解應用運作的具體位置,隻需要一台計算機或手機,就可以通過網絡擷取各種能力超強的服務。

3、高可靠性。“雲”使用了資料多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用雲計算比使用本地計算機更加可靠。

4、通用性。雲計算不局限于特定的應用,在“雲”的支撐下可以構造出千變萬化的應用,同一片“雲”可以同時支撐不同的應用運作。

5、高可伸縮性。“雲”的規模可以動态伸縮,滿足應用和使用者規模增長的需要。

6、按需服務。“雲”是一個龐大的資源池,使用者按需購買,像自來水、電和瓦斯那樣計費。

7、極其廉價。“雲”的特殊容錯措施使得可以采用極其廉價的節點來構成雲:“雲”的自動化管理使資料中心管理成本大幅降低;“雲”的公用性和通用性使資源的使用率大幅提升;“雲”設施可以建在電力資源豐富的地區,進而大幅降低能源成本。是以“雲”具有前所未有的成本效益。

按照服務類型大緻可以将雲計算分為三類:将基礎設施作為服務(IaaS)、将平台作為服務(PaaS)和将軟體作為服務(SaaS),如下圖所示:

《雲計算-劉鵬》學習筆記-第一章:大資料與雲計算0 筆記說明1 大資料時代2 雲計算——大資料的計算3 雲計算發展現狀4 雲計算實作機制5 雲計算壓倒性的成本優勢

1、IaaS将硬體裝置等基礎資源封裝成服務供使用者使用,如亞馬遜雲計算AWS(Amazon Web Services)的彈性計算雲EC2和簡單存儲服務S3。在IaaS環境中,使用者相當于在使用裸機和磁盤,既可以讓它運作Windows,也可以讓它運作Linux,因而幾乎可以做任何想做的事情,但使用者必須考慮如何才能讓多台機器協同工作。AWS提供了在節點之間互通消息的接口簡單隊列服務SQS(Simple Queue Service)。IaaS最大的優勢在于它允許使用者動态申請或釋放節點,按使用量計費。運作IaaS的伺服器規模達到幾十萬台之多,使用者因而可以認為能夠申請的資源幾乎是無限的。同時,IaaS是由公衆共享的,因而具有更高的資源使用效率。

2、PaaS對資源的抽象層次更進一步,它提供使用者應用程式的運作環境,典型的如Google App Engine。PaaS自身負責資源的動态擴充和容錯管理,使用者應用程式不必過多考慮節點間的配合問題。但是使用者的自主權降低,必須使用特定的程式設計環境并遵照特定的程式設計模型,隻适用于解決某些特定的計算問題。例如,Google App Engine隻允許使用Python和Java語言、基于稱為Django的Web應用架構、調用Google App Engine SDK來開發線上應用服務。

3、SaaS的針對性更強,它将某些特定功能或應用軟體封裝成服務。

總之:

1、IaaS提供的是計算或存儲資源類型的服務;

2、PaaS提供的是運作使用者自定義應用程式的環境;

3、SaaS提供的是某些專門用途的服務供應用調用。

3 雲計算發展現狀

1、亞馬遜的雲計算稱為Amazon Web Services(AWS),它率先在全球提供了彈性計算雲EC2(Elastic Computing Cloud)和簡單存儲服務S3(Simple Storage Service),為企業提供計算和存儲服務。收費的服務項目包括存儲空間、帶寬、CPU資源以及月租費。月租費與電話月租費類似,存儲空間、帶寬按容量收費,CPU根據運算量時長收費。目前,AWS服務的種類非常齊全,包括計算服務、存儲與内容傳輸服務、資料庫服務、聯網服務、管理和安全服務、分析服務、應用程式服務、部署與管理服務、移動服務和企業應用程式服務等。

2、谷歌是最大的雲計算技術的使用者。谷歌搜尋引擎就建立在分布在200多個站點、超過100萬台的伺服器的支撐之上,而且這些設施的數量正在迅猛增長。谷歌的平台,包括谷歌地球、地圖、Gmail、Docs等也同樣使用了這些基礎設施。

3、微軟緊跟雲計算步伐,于2008年10月推出了Windows Azure作業系統。Azure(譯為“藍天”)是繼Windows取代DOS之後,微軟的又一次颠覆性轉型——通過在網際網路架構上打造新雲計算平台,讓Windows真正由PC延伸到“藍天”上。Azure的底層是微軟全球基礎服務系統,由遍布全球的第四代資料中心構成。目前,微軟的雲平台包括幾十萬台伺服器。微軟将Windows Azure定位為平台服務:一套全面的開發工具、服務和管理系統。它可以讓開發者緻力于開發可用和可擴充的應用程式。微軟将為Windows Azure使用者推出許多新的功能,不但能更簡單地将現有的應用程式轉移到雲中,而且可以加強雲托管應用程式的可用服務,充分展現出微軟的“雲”+“端”戰略。

4 雲計算實作機制

由于不同廠家提供了不同的解決方案,目前還沒有一個統一的技術體系結構,書中綜合了不同廠家的方案,構造了一個供讀者參考的雲計算體系結構如下圖所示,它概括了不同解決方案的主要特征,每一種方案或許隻實作其中部分功能,或許也還有部分相對次要功能尚未概括進來:

《雲計算-劉鵬》學習筆記-第一章:大資料與雲計算0 筆記說明1 大資料時代2 雲計算——大資料的計算3 雲計算發展現狀4 雲計算實作機制5 雲計算壓倒性的成本優勢

雲計算技術體系結構分為以下四層:

1、實體資源層:實體資源層包括計算機、存儲器、網絡設施、資料庫和軟體等。

2、資源池層:資源池層是将大量相同類型的資源構成同構或接近同構的資源池,如計算資源池、資料資源池等。建構資源池更多的是實體資源的內建和管理工作,例如研究在一個标準集裝箱的空間如何裝下2000個伺服器、解決散熱和故障節點替換的問題并降低能耗。

3、管理中間件層:管理中間件層負責對雲計算的資源進行管理,并對衆多應用任務進行排程,使資源能夠高效、安全地為應用提供服務。管理中間件層負責:

  • 資源管理:資源管理負責均衡地使用雲資源節點,檢測節點的故障并試圖恢複或屏蔽它,并對資源的使用情況進行監視統計;
  • 任務管理:任務管理負責執行使用者或應用送出的任務,包括完成使用者任務映象(Image)部署和管理、任務排程、任務執行、生命期管理等;
  • 使用者管理:使用者管理是實作雲計算商業模式的一個必不可少的環節,包括提供使用者互動接口、管理和識别使用者身份、建立使用者程式的執行環境、對使用者的使用進行計費等;
  • 安全管理:安全管理保障雲計算設施的整體安全,包括身份認證、通路授權、綜合防護和安全審計等。

4、SOA建構層:SOA(Service-Oriented Architecture,面向服務的體系結構)建構層将雲計算能力封裝成标準的Web Services服務,并納入SOA體系進行管理和使用,包括服務接口、服務注冊、服務查找、服務通路和服務工作流等。

在這四層結構中,中間兩層,即管理中間件層和資源池層是雲計算技術的最關鍵部分,SOA建構層的功能更多依靠外部設施提供。

基于上述體系結構,以IaaS為例,簡述雲計算的實作機制,如下圖所示:

《雲計算-劉鵬》學習筆記-第一章:大資料與雲計算0 筆記說明1 大資料時代2 雲計算——大資料的計算3 雲計算發展現狀4 雲計算實作機制5 雲計算壓倒性的成本優勢

1、使用者互動接口類應用以Web Services方式提供通路接口,擷取使用者需求。

2、服務目錄是使用者可以通路的服務清單。

3、系統管理子產品負責管理和配置設定所有可用的資源,其核心是負載均衡。

4、配置工具負責在配置設定的節點上準備任務運作環境。

5、監視統計子產品負責監視節點的運作狀态,并完成使用者使用節點情況的統計。

上圖的執行過程并不複雜,使用者互動接口允許使用者從目錄中選取并調用一個服務,該請求傳遞給系統管理子產品後,它将為使用者配置設定恰當的資源,然後調用配置工具為使用者準備運作環境。

5 雲計算壓倒性的成本優勢

由于雲計算有:

1、更低的硬體和網絡成本;

2、更低管理成本和電力成本;

3、更高的資源使用率;

4、容錯能力非常強。

這就是雲計算成為劃時代技術的根本原因。

對雲計算使用者而言,雲計算的優勢也是無與倫比的,對于使用者:不用開發軟體,不用安裝硬體,用低得多的使用成本,就可以快速部署應用系統,而且可以動态伸縮系統的規模,可以更容易地共享資料。租用公共雲的企業不再需要自建資料中心,隻需申請賬号并按量付費。

END

繼續閱讀