2010-05-17 110 views
1

只是一個關於Azure的問題。Windows Azure平臺如何擴展我的應用程序?

是的,我大致瞭解Azure和雲計算。我會這樣說:

說,以正常的方式,我建立一個程序偵聽TCP端口。我在服務器上運行這個服務器程序。我還構建了一個客戶端程序,通過指定的端口連接到服務器。一旦連接了一個客戶端,我的服務器程序就會計算一些東西並返回給客戶端。

以上是普通模型,或者說我的程序模型。

現在我想使用Azure。我想用,因爲我的客戶太多了,比方說每天有100萬。我不想租用1000臺服務器並維護它們。 (只是客戶數量的假設)

我已經看過Azure定價計劃。它談到CPU並談論小型,中等,大型實例。

我不知道他們的意思。例如,在我上面假設的情況下,我需要多少個實例?或最多我可以從蔚藍超大(8個小例子?)

Azure爲我的程序如何規模?如果我選擇小型實例(我的服務器程序很少,只是計算一些數據並返回給客戶端),Azure會爲我規模嗎?或者Azure給我一個虛擬服務器並讓它超載?

請考慮只有CPU,而不是存儲或網絡流量。

回答

3

您可以選擇兩件事:運行VM的大小(小,中,大)以及要運行的虛擬機的數量。這意味着您可以選擇一個小型VM(單個處理器)並運行100個「實例」(100個VM),或者您可以選擇一個大VM(同一臺服務器上有8個處理器)並運行10個VM(10個VM) 。

今天,Windows Azure不會自動調整您的比例,因此您可以根據需要增加使用Web門戶或Service Management API來增加實例的數量。

+0

謝謝,現在明白了 – Jack 2010-05-18 08:50:50

0

要考慮的一個因素是如果您的應用程序可以利用多核心環境(多線程,共享內存等)來提高其規模。如果可以的話,最好使用5個2核心(即中等)的VM,而不是10個1x核心(小)的VM。在某些情況下,您可能會發現2個4x核心虛擬機的性能優於5個2核心。

如果你的應用程序不是並行/多核,那麼你可以做一些'x'數量的小型虛擬機。無論如何,收費是線性的 - 即2核VM是單核成本的兩倍。

其他因素包括虛擬機中可用的暫存磁盤大小&。

另外一個建議 - 您可能需要考慮利用Azure隊列(即將客戶端發佈到隊列並且工作人員從那裏拉出)。這將允許你透明地(對客戶)增加/減少工作人員不必擔心連接等。另外,如果一個處理步驟失敗並且崩潰了你的實例,那麼這個消息將會持續存在並被其他人收回。

相關問題