微軟虛擬學院開班了,在此記錄一下自己的學習筆記,如不對的地方,請各位前輩批評指正。
Windows Azure概覽
------------------------------------------------------------------
計算(Compute)
儲存(Storage)
控制(fabric controller)
內容分髮網絡(Content Delivery Network)
串連(Connect)
計算(Compute)
-------------------------------------------------------------------
Windows Azure計算服務可以執行各種各樣的任務, 每種任務都是通過一個或者幾個Role來完成。Windows Azure通常會同時運行一個Role的幾個執行個體並通過負載平衡機制保障他們的高可用性。
,有下面這麼幾種Role:
1. Web Roles: 主要用來建立基於Web的應用程式。每一個Web Role都有一個已經配置好的IIS7。使用者可以在上面部署通過ASP.net/ WCF等微軟技術實現的Web應用。同時不限於微軟技術web應用,PHP或者Java的也可以。
2. Worker Role: 工作角色是用來執行基於Windows的工作任務的。和Web Role不同就是他沒有預配置好的IIS。工作角色可能會做些計算密集型的工作,比如渲染啊、模擬什麼的。一般可以用Web Role和使用者互動,然後把這些計算密集型的任務交給Worker Role去處理。 同樣,除了使用微軟.net技術外,程式員還可以使用其他非微軟的技術來開發worker ro的應用。
3.VM Role: 這個比較好理解,就是一個Windows Server 2008 R2的虛擬機器,使用者可以通過類似遠端桌面之類的工具登入上去,就像本機電腦一樣使用。
使用者可以通過HTTP、HTTPS、TCP等協議串連到各個Role,不過需要注意的是,由於Azure會有內建的負載平衡,每次串連的樣本可能都不一樣,所以要保證運行在雲上的應用是無狀態的。
使用者可以根據負載的情況來決定是需要增加還是縮減使用的執行個體數。比如訪問量或者計算量增加時需要增加執行個體獲得更多計算能力,反則反之。雖然可以通過程式來實現,不過需要使用者主動調整。就是不會說因為你的應用承受的壓力大了就自動多開幾個樣本。其實也有道理,多開要多收錢的,肯定得你自己去弄表示同意才好。
儲存Storage
-------------------------------------------------------------------
光計算不行,肯定還需要資訊儲存。Windows Azure提供了下面幾種儲存方式:
1. Blobs: 這些二進位大對象可以是視頻、音頻啥的,有一個簡單的樹形結構,每個容器可以包含一個或者幾個Blob。Blob可以大到1T(1024G)。另外還可以包含一些簡單的中繼資料資訊,比如電影名字,歌手公司名等等。可以理解為就是一個在雲上的NTFS檔案系統。
2. 表(Table): 不要把這個和資料庫中的表弄混了,不是一碼事。每個表中存的是包含屬性的實體Entity。這中結構比傳統RDBMS好的地方就是伸縮性好,而且可以是跨機器的伸縮。
3. 對列(Queue):這個側重於資料交換,比如Web Role和worker Role間的資料交換可以通過隊列來實現。
Windows Azure的儲存,可以由Azure應用來存取,也可以由本機電腦或者其他雲平台上的應用通過HTTP協議以REST的方式來存取。
控制fabric controller
-------------------------------------------------------------------
Windows Azure計算和儲存都駐留在微軟資料中心中。資料中心有成千上萬的電腦構成。要管理前面提到的計算Compute和儲存Storage就得有個管事的,就是fabric Controler。
這個Fabric Controler本身也是一個分布式的應用。他來管理雲環境下的所有資源,包括電腦、負載平衡器等等。他通過和每台電腦上fabric代理聯絡,從而知道每台機器的工作情況,實現統一管理。他的主要工作包括根據配置情況來啟動適當的虛擬機器VM並把他們納入管理;狀態監控、效能檢測,補丁更新等等。
Windows Azuer提供了下面幾種虛擬機器可供選擇
Extra-small, with a single-core 1.0 GHz CPU, 768MB of memory, and 20GB of instance storage.
Small, with a single-core 1.6 GHz CPU, 1.75 GB of memory, and 225 GB of instance storage.
Medium, with a dual-core 1.6 GHz CPU, 3.5 GB of memory, and 490 GB of instance storage.
Large, with a four-core 1.6 GHz CPU, 7 GB of memory, and 1,000 GB of instance storage.
Extra-large, with an eight-core 1.6 GHz CPU, 14 GB of memory, and 2,040 GB of instance storage.
內容分髮網絡(Content Delivery Network)
--------------------------------------------------------------------------
使用Blob儲存方式常見的情境之一就是視頻服務,而使用者來自世界各地。CDN就是來把這些資料緩衝到靠近客戶的資料中心從而提高效能。
其實通俗的理解,就是一個全球緩衝就好了。windows Azure現在只有對Blob類型資料的CDN。
串連(Connect)
-------------------------------------------------------------------------
前面提到了雲端儲存,可是現實情況是不可能讓大家在一夜之間把資料全都搬到雲上去。何況還有不少人對雲的安全性心存疑慮,更是不願讓核心資料離開自己的視線。當如果有雲端計算需要訪問本機資料的情況下怎麼辦呢?這就是connect要解決的問題。
如所示,要使用windows Azure Connect,本地需要一個endpoint Agent代理,這個代理使用IPv6,所以只有支援IPv6的作業系統才行,比如windows server 2008,server 2008 R2, Vista和Windows 7.
Windows Azure應用也需要配置一下一遍和Azure Connect工作。配置完成後,就可以通過IPSec的方式來進行本地和雲端的通訊了。配置完成之後,雲端程式可以無縫的訪問本地的資料資源,用同樣的串連字元就可以了。
先到此為止,下節課繼續學。
峻祁連