[轉載] 平步青云:Windows Azure(一)

來源:互聯網
上載者:User

      本系列將系統地介紹Windows Azure,包括基本名詞、編程以及Windows Azure的應用,並探討Windows Azure可能給我們現行模式帶來的變化。

先把晦澀的關於雲端運算的概念放到一邊,來看看我們在“平步青雲”之前的一些處境。

1. 大量資料即時處理、計算時,使用者不得不等待,我們不得不在編碼中考慮是否採用緩衝並通過效能測試,同時我們還要編寫一些代碼保證緩衝的更新與擦除;
2. 採用非同步編程去解決使用者等待問題;
3. 各種應用程式、Web Service統一的整合平台與五花八門的互動方式,每一次發布都讓你頭痛;
4. 海量資料存放區的問題;
5. 公用模組如日誌記錄。

然後我告訴你,Windows Azure為我們提供了上面五個問題的解決方案,也許你就有興趣來瞭解它了。

這就是Windows Azure的一個典型應用:它在Windows Data Center的一台機器上運行,以服務的方式為使用者供應商業應用程式的使用和資料存取。

 

Windows Azure能做什麼


1. 軟體服務商可以在Windows Azure上為特定的商業公司建立應用程式,然後以SaaS的方式提供給商業公司。
2. 軟體服務商可以為特定使用者建立應用程式,如需要擴大市場為顧客建立的商業網站,Windows Azure都能夠支援。
3. 企業為內部員工建立應用程式,Windows Azure也是一個好的選擇。
接下來,讓我們看看Windows Azure的組成:

 

計算服務(Compute service)負責運行應用程式,儲存服務(Storage service)提供資料存放區。第三個組件,Fabric,是一個管理和監控雲平台上應用程式的工具。本文中將介紹第一個組件。

計算服務(Compute service)


Compute service支援多種多樣的應用程式,它的首要任務就是,解決大量使用者並發請求的瓶頸問題:此前我們採用硬體不斷升級的方式,而現在Compute service支援應用程式以多個相同代碼版本的執行個體運行在多個伺服器上,並且,還支援虛擬機器,我們可以通過Hyper-V的操作介面對每個虛擬機器進行管理。需要運行程式時,開發人員從瀏覽器使用Windows Live ID登入,然後自訂應用程式的託管帳戶以及資料存放區的帳戶。擁有託管帳戶的開發人員就可以在Windows Azure平台上上傳他的程式並定義其配置了。
Windows Azure提供了兩種運行應用程式執行個體的方式:Web role執行個體和Worker role執行個體。

 

      如名稱所示,Web role執行個體可以接收HTTP和HTTPS請求,它必須運行在IIS 7中。開發人員可以建立ASP.NET、WCF或其它可運行在IIS上的.NET應用程式;也可以建立非.NET的應用程式,如PHP和部署在Tomcat上的Java程式。圖三中我們可以看到,Windows Azure內建了硬體負載平衡(load balancing),以為每個伺服器上相同的應用程式執行個體分配Web請求,並管理這些執行個體的生命週期。因為Windows Azure並未為應用程式的每個執行個體建立關聯,所以無法保證同一使用者的一系列請求只被發送到唯一的一個執行個體上。因此,Web role執行個體是無狀態的,所有用戶端特定的狀態都會被寫入到Windows Azure儲存上並在請求完成時發回用戶端。

      Worker role執行個體與Web role執行個體的不同之處在於,它不需要配置也不運行在IIS中,大多數時候,他們是以後台工作的方式運行。我們還可以在Worker role中運行Web server,如Apache Web server。

      開發人員可以只使用一個Web role執行個體、一個Worker role執行個體,或將兩者結合起來使用。如果應用程式的效能下降,他可以通過Windows Azure增加Web role執行個體,或增加Worker role執行個體,或兩者同時增加。如果效能超過要求標準,他可以降低這些執行個體的數目,開發人員可以通過關閉所有的執行個體來停止應用運程的運行。Windows Azure還提供了API,允許通過編程方式動態改變Web role、Worker role執行個體的數目,但無法自動關閉應用程式。

      進行Windows Azure開發時,開發人員並不需要在自己的機器上運行雲平台,而是向啟動並執行雲平台上傳、配置和調試自己開發的程式,可以使用日誌API對平台上的應用程式進行調試,也可以使用組態工具來監控應用程式,如效能計數器、CPU佔用、儲存錯誤等等。這些應用程式都是以使用者模式(User mode)運行,Windows Azure自己管理自身的系統更新,所以不必擔心應用程式帶來系統級(System level)的破壞,這在目前的企業平台上,是經常發生的:一些應用程式整合之後,影響到眾多其它程式,甚至給平台造成破壞。

      光是運行代碼功能,顯然不是Windows Azure的全部,在下一篇,我們將講講儲存服務(Storage service)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.