2011-08-26 67 views
14

我正在評估MS雲端Windows Azure以託管3個完全分離的網站。Windows Azure我可以在同一個額外小型實例或小型實例上運行多個WebSnet

每個網站都有自己的數據庫,他們沒有連接,所以3個網站和3個數據庫。

我的目標是優化啓動項目的成本,並可根據需要進行擴展。

我想知道:

  • 如果能夠主機上的同一個實例(超小型實例或小實例)3個網站。
  • 如果可以在同一個Sql Azure數據庫上託管3個數據庫(所以我會使用我的3個數據庫的SQL存儲總量),或者我必須爲每個網站數據庫支付一次SQL Azure實例。

感謝您對此的時間。

+0

感謝理查德爲您的修改 – GibboK

+0

看看這篇文章。這太神奇了:[在Windows Azure Web角色中運行多個網站](http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/) – tugberk

回答

20

因爲完整的IIS現在正在Web角色中運行,所以您絕對可以在同一個實例上運行多個網站,從SDK 1.3開始。正如Jonathan在MSDN文章鏈接中指出的那樣,您可以設置Sites元素來定義每個網站。您還應該查看Windows Azure Platform Training Kit,它有一個專門針對構建多站點Web角色的實驗室。

您也可以利用類似Cloud NinjaWindows Azure Accelerator for Web Roles,它提供了一個多租戶解決方案,您可以加載到你的Web角色(檢查出更多的信息雲遮顯示視頻here)。

託管多個網站時,請記住它們都在實例上共享相同的資源。因此,您可能會發現超小型實例不能滿足您的性能需求(它僅限於768MB RAM和大約5Mbps帶寬)。我認爲,如果您需要處理更多流量,您可以使用小型實例並擴大規模。

+0

感謝您的回答 - – GibboK

6

你絕對可以在同一個實例中運行3個網站。查看this MSDN article,它向您展示瞭如何構建您的配置文件,以便您可以在一個角色中託管多個網站。有一點需要注意,但是自從您提到「按需擴展」以來 - 當您使用多個網站擴展實例時,您將擴展實例,這意味着所有網站都將一起擴展。您無法僅縮放共享實例上的其中一個網站。

對於數據庫,理論上可以這樣做,但是它會是「手動」的,因爲您必須將所有表格放在同一數據庫中的三個數據庫中,並且您可能希望以某些數據前綴排序指標,以便您知道哪個表屬於哪個應用程序。這當然不是推薦的做法,但如果它適用於您的解決方案,那麼沒有任何技術可以阻止您這麼做。如果可能的話,我會推薦多個數據庫。

+0

感謝您的回答。在我的情況下,這將是一個合理的解決方案使用一個實例與3個網站和3個獨立的數據庫。另一個問題,但不相關。那麼Azure支持呢?包括技術支持?價格?什麼是平均時間來解決票的問題?感謝您的幫助。 – GibboK

+0

這應該作爲一個單獨的問題發佈,但是...... :-)取決於你認爲的技術支持。技術支持人員是否會檢查您的代碼是否有問題,可能不會,但是,他們確實做了非常出色的工作,確保他們指出您正確的方向來解決您可能遇到的任何問題。如果您發現某些更具全球性的問題,他們還會將問題升級到產品團隊。換句話說,他們很棒。您可以從http://www.microsoft.com/windowsazure/support/獲得支持,並且不需要任何費用。 –

+0

感謝Jonathan Rozenblit的反饋,不幸的是我找不到任何技術支持價格表..但它是另一個主題:-) – GibboK

8

在過去的幾個月裏,我一直在一對額外的小實例上運行三個網站,其中包括albahari.com,linqpad.net和LINQPad授權服務器(使用LINQ to SQL)。訣竅是直接從blob存儲中提供大量靜態內容,從而不受5MBit /秒I/O帶寬限制的約束。我從來沒有接近過度記憶。

當您需要更好的可靠性,安全性和性能時,一對額外的小型Azure實例是共​​享主機的絕佳替代方案。

編輯:接近一年現在,Azure上的多個網站仍然沒有問題。我永遠不會回到共享主機。

+0

有用的信息,因爲我現在將所有的東西都移到azure中。順便說一句,LINQPad是最好的,我每天都用它......謝謝。 –

相關問題