2012-02-03 81 views
3

假設我有一個應用程序,它分爲各個層(Presentation,Business,Data Access)。如何獨立將這些圖層部署到Azure?問題在於Azure配置,而不是應用程序的體系結構。將單獨的圖層部署到Azure

+0

您是否打算在同一物理實例集上託管所有三個圖層? – Igorek 2012-02-03 23:37:23

+0

我想先在一個實例中託管所有三層,但隨後以這種方式縮放應用程序,即每層都有N個實例 – 2012-02-04 10:05:08

回答

1

應用程序通常被劃分爲各種角色,每個角色都是具有定義大小和實例數量的Windows Server 2008 R2。您通常會將您的應用分解爲用於擴展和管理目的的角色。在單個部署中部署應用程序通常最簡單。

關於您的場景:如果您想推出獨立於應用程序生活的Web服務層(或者可能服務於您的多個應用程序),那麼您會將該Web服務層(在Web角色,讓我們說)在自己的部署。您需要管理身份驗證/授權,因爲Web服務隨後將使用公共端點進行通信(或者您可以使用服務總線)。

在您的示例中:您可以將您的表示層(例如網站)與一組Web角色以及支持服務(如緩存)一起推送到一個部署。你可以在另一個部署中使用你的業務層,也可以像上面的例子那樣使用web服務運行。然後,您的數據層可以是SQL Azure(數據庫即服務),也可以是獨立的數據庫,如MongoDB,運行在自己的部署中。

每個部署都有自己的項目,並且您會分別部署和管理每個項目。沒有跨越所有部署的配置。

+0

ok。可以說我爲每個角色指定的實例數量等於1.如何指定我希望爲每個角色單獨實例或爲所有角色實例化一個實例?原因是我想從一個實例開始,然後擴大規模。 – 2012-02-04 10:08:19

+1

部署中的每個角色至少有1個角色。它在每個角色的配置中指定。所以如果你有5個角色,你至少有5個實例。這對於一個近乎空閒的系統來說可能是昂貴的(比如在夜間)。如果需要,您可以將功能組合爲單個角色。我[博客](http://www.davidmakogon.com/2011/02/azure-tip-overload-your-web-role-for.html)。如果您想實際關閉角色(例如,您有一個只需運行一個小時的工作任務,然後想要刪除至0個實例),則需要將該角色放入單獨的部署中,並在一小時後刪除部署。 – 2012-02-04 12:05:41