1. 程式人生 > >雲端計算學習筆記002---雲端計算的理解及介紹,google雲端計算平臺實現原理

雲端計算學習筆記002---雲端計算的理解及介紹,google雲端計算平臺實現原理

什麼是雲端計算:

l  說的明白一點:

•    雲端計算其實就更大限度的發揮網路的資源。

•    那為什麼叫雲,為什麼不到網際網路計算?Cloud

l 大多數計算的網路拓撲圖都用一塊“雲”來表示網際網路。於是就形成了雲端計算的說法

l  狹義:是指IT基礎設施的交付和使用模式,是指通過網路以按需、易擴充套件的方式獲取所需要的資源。提供資源的網路被稱為“雲”。雲中的資源在使用者看來是可以無限擴充套件的,並且可以隨時獲取。

l  廣義:是指服務的交付和使用模式,是指通過網路以按需、易擴充套件的方式獲取所需要的服務。

一塊網路通常用一塊雲來表示,所以習慣上,就把網路計算,稱為雲端計算.

雲端計算相關概念

l  雲端計算

•   雲端計算是為使用者提供無限計算資源的商業服務,是能夠自我管理計算資源的系統平臺,是應用服務按需定製、易於擴充套件的軟體架構。

l  --- XXX ---

l  計算資源包括:CPU運算資源、儲存資源、網路頻寬等

l  雲端計算是平行計算、分散式計算和網格計算的發展,是這些電腦科學概念的商業實現。

l  雲端計算是虛擬化(Virtualization)、效用計算(UtilityComputing)、IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟體即服務)等概念混合演進並躍升的結果。

雲端計算的幾大形式

l  雲端計算服務類形

•    基礎設施即服務( IaaS)  - 提供硬體裝置

•    app – engine

//比如使用者自己弄了一個軟體,就可以釋出到谷歌的這個app– engine平臺上,然後全世界就可以得到你的這個軟體的服務了.

•    軟體即服務( SaaS ) -   WebService

//軟體服務,就是說,自己的webservice可以為世界的其他使用者提供服務

•    網路服務

•    平臺即服務(PaaS) - hadoop(平臺) ,Oracle(),MS,

//就是各種大型雲服務,比如資料服務,儲存服務等等.

•    管理服務提供商(MSP)

//給企業,提供相關的管理服務.

•    商業服務平臺

//商業服務,比如給不同公司提供,自己的管理系統等等.

•   雲安全

//雲查殺等等..

l  InfoWorld網站同數十家公司、分析家和IT使用者討論出了雲端計算的幾大形式。

l  --- XXX ---

l  下面將大體介紹每一種雲端計算形式

基礎設施即服務 (實用計算、虛擬化)

IaaS —— Infrastructure as a Service

•    是為IT行業創造虛擬的計算和資料中心,使得其能夠把計算單元、儲存器、I/O裝置、頻寬等計算機基礎設施,集中起來成為一個虛擬的資源池來為整個網路提供服務。

•    用多少算多少

•    Amazon WebServices,簡作AWS

•    彈性計算雲EC2 (ElasticCompute Cloud)——計算

•    簡單儲存服務S3 (SimpleStorage Service)—— 儲存

•   Google App Engine

l  Amazon使用彈性計算雲(EC2)和簡單儲存服務(S3)為企業提供計算和儲存服務。

l  收費的服務專案包括儲存伺服器、頻寬、CPU資源以及月租費。月租費與電話月租費類似,儲存伺服器、頻寬按容量收費,CPU根據時長(小時)運算量收費。

l  Amazon把雲端計算做成一個大生意沒有花太長的時間:不到兩年時間,Amazon上的註冊開發人員達44萬人,還有為數眾多的企業級使用者。

l  有第三方統計機構提供的資料顯示,Amazon與雲端計算相關的業務收入已達1億美元。雲端計算是Amazon增長最快的業務之一。

l  S3:S3的基礎視窗是桶,桶是存放檔案的容器。S3給每個桶和桶中每個檔案分配一個URI地址,因此你可以通過http或者https協議進行訪問。(認證、許可權控制)

l  Google App Engine這種服務讓開發人員可以編譯基於Python的應用程式,並可免費使用谷歌的基礎設施來進行託管(最高儲存空間達500MB)。

l  對於超過此上限的儲存空間,谷歌按“每CPU核心每小時”10至12美分及1GB空間15至18美分的標準進行收費。

網路服務

l  網路服務 WebService

•    提供API讓開發者能夠開發更多基於網際網路的應用

•    Google Earth

•    Baidu Map

•    中移動的 FetionWeb Service

l  網路服務是一組組存在於網際網路上的API,也就是一些具有URL的函式,給使用者提供二次開發的能力

雲端計算服務的部署形式

  1. Google的雲端計算思路

隸屬PaaS的Google雲端計算

Ø  屬於部署在雲端的應用執行環境

Ø  支援Python和Java兩種語言

Ø  通過SDK呼叫Google的各種服務。如GoogleMap、Mail等

Ø  使用者可快速、廉價(可免費使用限定的流量和儲存)地部署自己開發的應用(如創新的網站、遊戲等)

Ø     隸屬SaaS的Google雲端計算

Google雲端計算平臺技術架構

Ø  分散式檔案系統Google Distributed File System

Ø  並行資料處理MapReduce

Ø  分散式鎖 Chubby

Ø  結構化資料表BigTable

1.      注意,這裡的GFS就是google file system.

也就是檔案系統

和Windows下的NTFS,和linux下的FAT是一個意思.

2.      GFS就是google filesystem.是一個分散式的系統,比如內部把這個系統裝到了很多機器上,但是對於外界來說,這個系統就是一個整體.

3.      從外部上看,是一個整體,但是從內部看的話,其實是安裝在很多系統上的.

4.      MapReduce實際上是一種思想,比如和mvc相似.

MapReduce:例子:比如有一堆單詞:

hello world credream

 good

nice

hello world

world

統計每個單詞出現的次數

這裡用MapReduce解決問題:

首先進行Map(分組),分析空格和回車,指的是一個單詞.通過這些分解

Hello 1

World 1

Credream 1

Good 1

Nice 1

Hello 1

Worl 1

World 1

然後在通過Reduce(合併)

Hello 2

World 3

Credream 1

Good 1

Nice 1

另外一個例子:

1,4,6,2,99,3,23,54,23 55

找出這裡最大的一個數字,當資料十分龐大的時候,就需要用MapReduce

用MapReduce處理的話會這樣處理:

他會把1,4,6,2,,交給機器A

把99,3,23交給B處理

把,54,23 55交給機器C處理

然後把三個機器得到結果進行對比,然後得出結果99

這裡MapReduce的思想就是,把問題細化,交給很多機器同時處理

BigSql資料庫就是一種NoSQL資料庫:

以前用的那些比如mysql等等,是關係型資料庫

而這裡是NoSQL資料庫,也就是說NOT only SQL,不僅僅是sql語句

這裡的取名和Linux=Linux isnot unix相似.

NoSQL資料庫:是專門用來儲存海量資料的.

這就是google的雲端計算的架構.

1.            GFS設計原則:

Ø 機器失效不能視為異常現象

Ø 能應付對大型/超大型檔案處理

Ø 支援大量使用者同時訪問

2.            GFS組成-

Ø GFS叢集:一個的Master和多個ChunkServer(塊伺服器)組成,並可以多客戶端Client訪問

Ø GFS設計要點

Ø 每個檔案拆成若干個64M檔案塊Chunk組成

Ø 每個Chunk都由Master根據其建立時間指定ChunkHandle(64)

Ø 檔案塊被儲存在ChunkServer本地磁碟

Ø預設情況下3處熱備份Chunk塊檔案

4.            Client職責

Ø 包含檔案系統的API

Ø 負責和ChunkServer和Master通訊

Ø 代表應用程式進行讀寫操作

Ø Client和Master進行元資料操作

Ø Client和ChunkServer進行檔案資料操作

5.            Master職責

Ø 負責管理所有檔案系統的元資料

Ø 元資料包括:名稱空間訪問控制資訊檔案到Chunk的對映資訊等

Ø ChunkServer職責

Ø 負責儲存chunk檔案塊

ØLinux檔案系統

6.            採用中心伺服器模式Master

Ø 可以方便地增加ChunkServer

Ø Master掌握系統內所有Chunk Server的情況,方便進行負載均衡

Ø 不存在元資料的一致性問題

Ø 不快取資料

Ø 必要性:Client流式讀取,非重複讀寫

Ø可行性:Master本身管理多個Server,很複雜

l   摩爾定律正在走向終結…

Ø 單晶片容納電晶體的增加,對製造工藝提出要求

Ø CPU製造18nm技術,電子洩漏問題

Ø CPU主頻已達3GHz時代,難以繼續提高

ü  散熱問題(發熱太大,且難以驅散)

ü  功耗太高

摩爾定律是由英特爾(Intel)創始人之一戈登·摩爾(Gordon Moore)提出來的。其內容為:當價格不變時,積體電路上可容納的電晶體數目,約每隔18個月便會增加一倍,效能也將提升一倍。換言之,每一美元所能買到的電腦效能,將每隔18個月翻兩倍以上。這一定律揭示了資訊科技進步的速度。

單詞計數 體現M/R演算法