Windows Azure 底層架構

27 September 2011 — Written by Sky Chang
#Azure

其實,整體開發上是不需要太深入了解這些東西就可以去在撰寫開發,但我還是覺得,這些觀念是應該要知道的,所以剛剛花了一整個晚上,把Windows Azure的底層架構看過一次,所以稱還沒忘記的時候,趕快把這些記錄下來 ( 我想大概過一陣子我就忘光了吧XDD )。

以下是微軟官方白皮書圖,其實這部分還滿簡單的,簡單的說,就是整個應用程式和Data是建構於Windows Azure之上,然後企業,消費者透過網路來存取。

image

接下來我們針對Windows Azure,進去看他的架構。此圖來自於wiki,其實資料中心的每一台實體的電腦,都會利用VM的方式,虛擬出許多台的虛擬主機,而每一台實體電腦都一定會有一個裝了Windows Azure Host OS的VM,和多個裝了Windows Azure Guest OS的VM,其中Windows Azure Host OS是負責管理這台實體電腦上所有的Windows Azure Guest OS,並進行頻寬控制等等事情。

image

雖然單一的實體機有Windows Azure Host OS進行控管,但別忘了Datacenter中心有那麼多台實體電腦,所以,由數台機器組成的Cluster伺服器群 ( 我們稱為"Fabric Controller" ),而Fabric Controller就負責管理這些龐大的電腦,如下圖。

image

而Datacenter的量那麼大,所以會將Datacenter進行劃分,每一區塊我們稱之為Fault Domain,而Fabric Controller可以控制多個Fault Domain。

最後,Fabric Controller還是要知道每台實體機器裡面VM的狀況,所以Windows Azure Host OS裡面會裝一個Windows Azure Fabric Agent,Windows Azure Fabric Agent會傳回所有的VM狀況給Fabric Controller,讓Fabric Controller來掌控。

所以整體的Windows Azure底層架構大致上是這樣子,當然還有許多更細的細節,大家可以參考以下網站。

參考資料

  1. http://www.microsoft.com/taiwan/windowsazure/whitepapers/default.aspx
  2. http://www.microsoft.com/windowsazure/Whitepapers/IntroducingWindowsAzure/
  3. http://zh.wikipedia.org/wiki/Windows_Azure 
Sky & Study4.TW