2013-01-02 83 views
4

我不知道如果我要問一個很愚蠢的問題,因爲我無法找到關於這個話題在網絡上什麼。袒護我,請原諒我的愚蠢:)。Azure的釋放併發症

我們正在考慮構建一個web應用程序並依賴Azure。這個應用程序背後的主要思想是用戶能夠一起工作在雲中的特定任務。我非常喜歡即時發佈的概念,用戶不會因爲停機而煩惱,但我不知道如何實現這一目標(如果可能的話)。假設有10.000個用戶正在使用此web應用程序,並且我發佈了包含數據庫更新的軟件。

  • 當我將我的軟件的新版本發佈到Azure時會發生什麼?
  • 我的窮人用戶的工作進展如何?
  • 在我發佈新版本之前,我應該先將網站放入嗎?
  • 我可以「剛剛發佈」,並讓用戶在請求新頁面時儘快享受「新」世界嗎?

我很驚訝,我找不到有關在Azure中發佈策略的任何信息,我在錯誤的地方尋找?

誰能說明這一點?

+0

您是否考慮過一組服務器?單獨一臺服務器可能不適合您的需求,因爲如果我理解您的話,您必須在運行時重新加載新組件。使用羣集將允許您將用戶路由到一個實例,而另一個實例可以更新。 –

回答

1

是的,你可以。

我建議你創建可視化標準輸入輸出模板的應用程序之一,當你點擊你的蔚藍的網站在門戶網站管理員在「升級」,並直接位於「生產」環境看一看。

說,例如,用戶在其上連接到SQLSERVER1「生產」環境中工作。您將新版本發佈到連接到Sqlserver1的「分段」。然後,您只需使用交換切換兩個,然後分段就成爲「生產」環境。

我不知道他們是否有存儲在會話或服務器緩存的東西發生了什麼工作。猜猜他們會迷路。但客戶端的東西將無縫工作。

「在發佈新版本之前,我應該先將網站放下嗎?」 我會提出一個警告(如果用戶工作conissts會話的東西等等)說短暫的停機時間在5分鐘,然後在swith告訴大家它已經結束。

+0

謝謝你,那就是我正在尋找的東西。 「azaging」這個詞用azure給我點擊谷歌,可以幫助我進一步:)。 /再次弓thx! – bas

3

的Windows Azure是一個很好的平臺,與許多不同的功能,它可以簡化大量的軟件管理任務。但是,請記住,無論您使用多麼出色的平臺,您的應用程序都依賴於正確的系統架構和代碼質量 - 編寫良好的應用程序將完美無瑕;寫得不好的應用程序會失敗。所以不要指望Azure能夠解決所有問題(但它可能對很多人有幫助)。

What happens when I publish a new release of my software into Azure? 

Windows Azure雲服務具有生產和分段部署的概念。新代碼部署將首先進行升級。然後你可以在那裏做一個快速的QA(有時候「預熱」應用程序以確保它擁有所有的緩存 - 但這取決於應用程序設計)並執行「S​​wap」 - 分段部署變爲生產和生產部署變爲分段。這使您能夠在新代碼發生任何問題時執行「回滾」。交換操作相對較快,因爲它大部分是內部DNS交換機。

What will happen to the brilliant work in progress of my poor users? 

在最低站點負載(夜間)期間執行代碼部署總是一個好主意。有時不可能,例如如果您的應用程序由全球組織使用。那麼你應該使用「最低」的活動時間。

爲了保護用戶,您可以實施諸如每隔X分鐘發生一次的「自動草稿保存」等解決方案。但是,如果您的應用程序旨在與雲系統配合使用,用戶在新代碼發佈期間不應該看到任何功能故障。

Should I bring the site down first before I publish a new release? 

這取決於您的應用程序的體系結構。如果應用程序的設計非常好,那麼你不需要這樣做。與我一起工作的Windows Azure應用程序每個月都有一次新的代碼發佈,我們從未開始(最近兩年)不必將該網站關閉。

我希望這會讓您更好地瞭解Azure雲服務。

+1

是的,非常感謝!我認爲當你真正開始開發和發佈時,大多數事情變得「清晰」,但這絕對有助於消除一些不確定因素,並且在某些情況下可以證實我心中的模糊假設。無論如何,非常感謝您花時間幫助我! – bas