Windows Azure - 簡介
好久好久好久沒更新了~( 二年了吧 XD )
趁最近有空把一些之前寫的文件,放上來讓給有些需要的人參考,希望對你們有幫助。
這篇的大綱為
1.1 認識Window Azure
1.2 Window Azure提供的服務有哪些
1.2.1 VM(虛擬機器)
1.2.2 WebSite(網站)
1.2.3 CloudServices(雲端服務)
1.2.4 Storege(儲存)
1.3 Window Azure架構
1.1 認識Window Azure
Windows Azure是由微軟所發展的一套雲端運算作業系統[註1],用來提供雲端線上服務所需要的作業系統與基礎儲存與管理的平台,是微軟的雲端運算的核心組成元件之一,以及微軟線上服務策略的一部份。
Windows Azure Platform一開始提供的是平台即服務(PaaS),在 2012 Spring Release 時,正式開放了基礎建設即服務 (IaaS) 的相關解決方案。
Window Azure 網址
https://www.windowsazure.com/zh-tw/
註1
雲端運算是指從遠端執行以及透過網際網路存取的電腦和應用程式。在雲端運算中,虛擬機器在大型資料中心內執行並取代實體電腦和伺服器。藉由將許多使用者的運算需要彙總到單一資料中心內,所達成的規模經濟可產生諸如更低的電源耗用量、更簡單的安裝和維護作業,以及更方便進行容量和效能升級等明顯的成效。您從本機桌上型電腦或伺服器重新部署到雲端的許多應用程式都不用變更就可以執行。
資料來源:wiki
1.2 Window Azure提供的服務有哪些
VM(虛擬主機)
WebSite(網站)
CloudServices(雲端服務)
Storege(儲存)
1.2.1 VM(虛擬機器)
每建立一個雲端服務就會產生一個虛擬的虛擬的空間,也就是產生一個VM(os 為Windows Server 2008 x64企業版作業系統的虛擬化版本) ,而一開始使用免費帳號的話.空間為1G,假如想加大空間的話,就需要另外付費.
底下為參考表
VM大小 |
CPU |
RAM |
本地儲存大小 |
I/O優先權 |
Extra Small(XS) |
1 * 1.0GHz |
768MB |
20GB |
低 |
Small |
1 * 1.6GHz |
1.75GB |
225GB |
中 |
Medium |
2 * 1.6GHz |
3.5GB |
490GB |
高 |
Large |
4 * 1.6GHz |
7GB |
1000GB |
高 |
Extra Large(XL) |
8 * 1.6GHz |
14GB |
2040GB |
高 |
1.2.2 WebSite(網站)
在 Windows Azure 上建置可高度擴充的網站
快速、輕鬆地將站台部署至可高度擴充的雲端環境,讓您可以從小規模開始,然後再依流量成長擴充。
使用您選擇的語言及開放原始碼應用程式,然後以 FTP、Git[註1] 及 TFS 來部署,或者使用WordPress, Drupal, Joomla, Umbraco and DotNetNuke來建立網站。
目前Azure可以提供下列Framework建立網站.
ASP.NET, Silverlight RIA , Node.js ,PHP , Java
參考https://www.windowsazure.com/zh-tw/home/scenarios/web-sites/
註1:Git是用於Linux核心開發的版本控制工具。用於MacOs。
1.2.3 CloudServices(雲端服務)
使用豐富的 PaaS 環境,建立高可用性、可擴充的應用程式及服務支援進階多層式案例、自動化部署及彈性擴充。為世界各地的客戶提供絕佳的 SaaS 解決方案。
例如:管理cache,設定CDN[註1]還有Windows Azure 服務匯流排等[註2]。
註1(CDN, Content distribution network)內容分散傳遞服務, 是指一種透過網際網路互相連接的電腦網路系統,提供高效能、可擴展性、及低成本的網路將內容傳遞給使用者。
註2 Windows Azure EAI 可讓您將雲端運用在內部部署整合案例,例如從 Windows Azure 存取內部部署系列的商業應用程式,像是 SAP 和 Oracle EBS
1.2.4 Storege(儲存)
Windows Azure提供了三種不同格式的儲存體服務(Storage Services),用來提供給Windows Azure上執行的應用程式儲存資料使用。依據不同的儲存格式會有不同的限制,因為這些儲存服務都是以分散式巨量儲存(Distributed Mass Storage)為核心概念所設計出來的,為了要達成快速在分散式儲存空間中儲存與管理資料(還包含高可用度的贅餘儲存管理),微軟有在資料的儲存上做一些限制。
1) BLOB
BLOB(大型二進位物件)資料是用來儲存像是檔案,圖片,視訊檔,可執行檔,壓縮檔等二進位格式的檔案,基本上它的儲存單位就是檔案,為了要讓BLOB的功能應用更寬廣,微軟也在BLOB服務上開發了內容傳遞網路(Content Delivery Network)的服務,讓BLOB可以作為大容量的檔案或資料儲存與供應的地方,以支援類似YouTube這樣的大型Web應用程式的服務。
2) Table
Table(表格)是給具結構化資料的應用程式儲存與管理的一種儲存服務,
它在Windows Azure儲存區中會以Key-Value鍵值對方式儲存,並且由Partition來切割在Windows Azure儲存區的儲存位置,它實際的資料是XML,透過REST API呼叫時,
會需要依據SDK上的說明,自行建置XML的要求與解析回應的資料,但若是.NET Framework的開發人員,在Windows Azure SDK中提供的Microsoft.WindowsAzure.StorageClient命名空間就有提供輔助的API以及型別,將這件事在API中處理掉了。SDK提供的輔助組件所應用的技術是WCF Data Services,因此若對WCF Data Services熟悉的開發人員,會很容易的上手Table儲存的開發。
雖然Table可以儲存結構化的資料,但它並不是關聯性資料庫,所以像是join,彙總函式等都無法使用,要由開發人員另外處理。
3) Queue
Queue(佇列)是一種先到先服務(First-Come, First-Serve),或稱為FIFO(先入先出)的儲存服務,它可以允許應用程式將訊息儲存到佇列中排隊,然後由負責處理的應用程式(通常是Worker)由佇列提取訊息並處理以後,將訊息由佇列中移除。訊息可以是字串或是最長8KB的二進位資料,佇列經常會作為跨執行個體通訊以及工作切割通知的訊息傳遞之用。
1.3 Window Azure架構
簡單來說就是用戶與使用者透過網站存取平台
詳細一點的描述的話,Window Azure為管理伺服器,網路以及儲存資源所開發的一種特殊版本Windows Server作業系統。
資料中心的每一台實體的電腦,都會利用VM的方式,虛擬出許多台的虛擬主機,而每一台實體電腦都一定會有一個裝了Windows Azure Host OS的VM,和多個裝了Windows Azure Guest OS的VM,其中Windows Azure Host OS是負責管理這台實體電腦上所有的Windows Azure Guest OS,並進行頻寬控制等等事情。
雖然單一的實體機有Windows Azure Host OS進行控管,但別忘了Datacenter中心有那麼多台實體電腦,所以,由數台機器組成的Cluster伺服器群 ( 我們稱為"Fabric Controller" ),而Fabric Controller就負責管理這些龐大的電腦,如下圖。
而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來掌控。
參考:http://zh.wikipedia.org/wiki/Windows_Azure