在 Windows Azure 網站中進行縱向擴展和橫向擴展

編輯人員註釋:本文章由 Windows Azure 網站團隊的項目經理 Byron Tardif 撰寫。web

當您開始一個新的 Web 項目,或者剛剛開始開發通常的網站和應用程序時,您可能但願從小處着手。可是,您可能不會停滯不前。在概念證實階段,您可能不但願在新的 Web 場上耗費資源,但隨着事業不斷髮展,您沒法使用一小臺服務器來實施大型市場營銷活動。在 Windows Azure 網站的雲中進行開發和部署時也同樣。數據庫

在本博客文章中,我將向您介紹您能夠採用的開發、測試和實施方式,同時控制好預算的時間和成本。windows

Windows Azure 網站中的標準、免費和共享模式安全

部署網站時最重要的注意事項之一是爲您的網站選擇合適價位的平臺。一旦您完成開發和測試周期,此網站即是貴公司的網站,或者是一個重要的新數字市場營銷活動或業務線應用程序。所以,您要確保您的網站根據業務需求可用且可響應,同時不超出預算。服務器

您的選擇取決於多種因素,如:工具

·   您計劃託管多少個站點?例如,數字市場營銷活動可能包括您使用的每一個服務的社交媒體頁,以及每一個目標市場的不一樣主頁。測試

·   您指望網站的受歡迎程度如何? 什麼時候流量水平會更改?您的評估可能基於業務線應用程序的員工數量,或者營銷網站的 Twitter 粉絲和 Facebook 愛好者的數量。您可能還指望流量可以因季節性因素、商務拓展活動(如社交媒體活動)和廣告而有所差別。網站

·   這些站點將使用多少資源(CPU、內存和帶寬)?  spa

Windows Azure 網站的好處之一就是,將 Web 應用程序和網站投入生產時您不須要回答這些問題。使用管理門戶中提供的伸縮選項,您能夠根據用戶需求和業務目標實時地伸縮您的網站。翻譯

Windows Azure 網站中的站點模式

Windows Azure 網站 (WAWS) 提供 3 種模式:標準、免費和共享。

其中每種模式(標準、共享和免費)均提供不一樣的配額,用於控制您的站點可使用的資源量,並提供不一樣的伸縮能力。下圖彙總了這些配額。

標準模式和服務級別協議 (SLA)

標準模式在專用實例上運行,所以不一樣於購買 Windows Azure 網站的其餘方式。此外,該模式對 CPU 使用率沒有限制,而且在 3 種模式中的存儲量最大。請參閱上表瞭解詳細信息。

標準模式還有一些值得一提的重要功能:

·   沒有數據輸出帶寬限制 – 站點上的前 5 GB 出站數據免費提供,額外帶寬按照「即付即用」費率訂價。

·   自定義 DNS 名稱 – 免費模式不容許使用自定義 DNS。標準模式容許使用 CNAME 記錄和 A 記錄。

標準模式支持每個月 99.9% 的企業級 SLA(服務級別協議),即便站點只有一個實例也是如此。Windows Azure 網站能夠在單個實例站點上提供此 SLA,由於咱們的設計包括實時站點配置功能。配置發生在後臺,而不須要更改您的站點,而且對任何站點訪問者都是透明的。這樣便可消除伸縮均衡中可用性方面的顧慮。

共享模式和免費模式

簡而言之,共享模式和免費模式不提供標準模式的伸縮靈活性,而且它們有一些重要的限制。

免費模式與免費或共享模式下的其餘站點共享計算資源運行,而且對該站點(以及訂閱中的其餘免費站點)在每一個配額間隔可使用的 CPU 時間量設置了上限。達到該限制後,該站點(以及訂閱中的其餘免費站點)將中止返回內容/數據,直到下一個配額間隔。此外,免費模式對站點能夠向客戶端提供的數據量(也稱爲「數據出站」)也設置了上限。

正如其名稱所示,共享模式也使用共享計算資源,而且也具備 CPU 限制(儘管比免費模式高),如上表所述。共享模式還容許 5 GB 出站數據,若是超出此限制,則按「即付即用」費率計費。

所以,可能因爲上述限制,免費模式和共享模式都不是適用於您的生產環境的最佳選擇,但它們仍是有用的。免費模式很是適用於試用和了解 Windows Azure 網站,例如:瞭解如何設置發佈配置、鏈接到 Visual Studio,或者使用 TFS、Git 或其餘部署工具部署。相比於免費模式,共享模式具備額外的功能,所以很是適用於在有限受控的負載下進行開發和測試您的站點。對於更重要的生產環境,標準模式能夠提供更多服務。

伸縮操做、代碼和用戶會話/體驗

操做縱向擴展站點或橫向擴展站點能夠提升用戶體驗, 而且伸縮操做對現有用戶會話沒有任何影響。

此外,每次伸縮操做都很迅速(一般幾秒鐘內便可完成),而且不須要更改站點的代碼,也不須要從新部署站點。

接下來,咱們將討論「縱向擴展」和「橫向擴展」的含義。

Windows Azure 網站伸縮動態

Windows Azure 網站提供了多種方式伸縮您的網站, 可使用管理門戶完成這些操做。若是您正在經過 Microsoft Visual Studio 2012 管理站點,則也可使用這些操做,如咱們的服務文檔中詳細說明。

縱向擴展

縱向擴展操做相似於將您的非雲網站移動到更大的物理服務器上。所以,當您的站點達到配額,系統通知您已超出現有模式或選項時,則有必要考慮進行縱向擴展。此外,縱向擴展幾乎能夠在任何站點上進行,沒必要擔憂多實例數據一致性的影響。

Windows Azure 網站中縱向擴展操做的兩個示例以下所示:

·   更改站點模式:例如,若是您選擇標準模式,您的網站對 CPU 使用率沒有任何配額限制,而且出站數據只需支付超出套餐所含 5 GB/月的出站數據的那部分。

·   標準模式中的實例大小:在標準模式中,Windows Azure 網站容許選擇不一樣的實例大小:小型、中型和大型。這也相似於移動到更大的物理服務器,CPU核數和內存量愈來愈多:

小型:1 個核,1.75 GB 內存

中型: 2 個核,3.5 GB 內存

大型: 4 個核,7 GB 內存

橫向擴展

橫向擴展操做至關於建立您的網站的多個副本,並添加一個負載平衡器以在副本之間分配處理。當您在 Windows Azure 網站中橫向擴展某個網站時,不須要單獨配置負載平衡,由於平臺已提供此配置。

要在 Windows Azure 網站中橫向擴展您的站點,若是是共享模式,您須要使用實例計數滑塊在 1 到 6 之間更改實例計數;若是是標準模式,則在 1 到 10 之間進行更改。這將生成您的網站的多個運行副本,而且自動處理負載平衡配置,以在全部實例之間分配傳入的請求。

要從橫向擴展操做中受益,您的站點必須爲多實例安全型。編寫多實例安全站點超出了本文章的範圍,請參考適用於 .NET 語言的 MSDN 資源,例如http://msdn.microsoft.com/zh-cn/library/3e8s7xdd.aspx

能夠在一個網站中組合執行縱向擴展和橫向擴展操做,從而提供混合縮放。有關多實例站點的相同考量也將適用於這種狀況。

Windows AzurePowerShell 中的自動縮放和縮放

在本博客文章中,我介紹了 Windows Azure 網站中縱向擴展和橫向擴展所涉及的概念,着重於經過管理門戶手動執行這些任務;Visual Studio 中也提供了相似的手動設置。

咱們還向 Windows Azure 網站添加了自動縮放功能,容許根據響應需求在您的網站上對縱向擴展/橫向擴展的設置進行無人蔘與的更改。

此外,Windows Azure PowerShell 還容許執行某些縮放操做,以及對您的站點和訂閱實施多種控制。

最後的思考

Windows Azure 網站容許您以較低的成本(甚至成本)開發、部署和測試網站或 Web 應用程序,同時無縫伸縮該站點,直至造成更適合生產的配置,而後以經濟高效的方式進一步伸縮。

在本博客文章中,我着重介紹了您網站中的縱向擴展和橫向擴展功能,可是請記住,您的站點可能只是使用其餘組件(如數據庫、數據源、存儲或第三方 Web API)的更復雜的應用程序的一部分。每一個組件都具備本身的伸縮操做,評估您的伸縮選項時應將其考慮在內。

固然,伸縮網站將會影響成本。有助於評估您的成本以及指定伸縮操做將對您的成本產生的影響的簡單方法是使用Azure 訂價計算器

本文翻譯自:

http://blogs.msdn.com/b/windowsazure/archive/2013/07/11/scaling-up-and-scaling-out-in-windows-azure-web-sites.aspx

相關文章
相關標籤/搜索