2015-05-19 32 views
2

我們目前有一個窗口服務,它在對數據庫(SQL數據庫)執行一些處理後向用戶發送一些通知電子郵件。每天運行一次。替代Azure雲中的運行窗口服務

我們希望在天藍色的雲上移動它。一個替代方案是將其放在Azure虛擬機上。但我正在爲此尋找其他最佳解決方案。

我研究了經常性和按需網絡工作,但我不確定這是否是最佳解決方案。 也有可能更新App.config中服務代碼的配置,而無需重新部署雲服務代碼。我的意思是我們可以從Azure門戶管理配置。

在此先感謝。

回答

6

更新2016年11月4日

因爲這是書面的,有2個額外的可在Azure中是根據什麼功能,你既需要很好的選擇特點:

Azure Functions(這是基於在下面描述的WebJobs中):可以以各種方式觸發/調用的無服務器代碼,並且具有擴展支持。

Azure Service Fabric:微服務平臺,支持actor模型,有狀態和無狀態服務。


你有3個基本選項:

  • Windows服務上的VM
  • WebJob
  • 雲服務中運行

有大量的信息在那裏的這些選擇之間的權衡,但這裏是一個簡短的總結。

VM - 優點:您可以根據原樣移動服務,而無需更改太多或任何代碼。他們還具有與Azure中其他資源(blob存儲,虛擬網絡等)的最簡單連接。缺點是你放棄了所有的PaaS的優勢,仍停留管理自己的虛擬機基礎架構

WebJob - 優點:多調用選項(隊列,斑點,手動,隊列接收循環,連續while循環風格等),預定(將涵蓋你的情況)。易於部署(可以通過網站,作爲控制檯應用程序,自動通過Kudu),有一些內置的Azure門戶日誌記錄 - 是的,要回答您的問題,您可以更改門戶網站本身的配置,以便連接字符串和應用程序設置。

缺點 - 您需要更新代碼,無法訪問底層資源(如果需要的話)以及更多需要牢記的事情而不是劣勢 - 它使用與webapp相同的資源它與...一起部署。

網絡作業是最新的選項,但同時似乎有積極的發展,以增加功能和實用性。

雲服務 - 就像託管虛擬機一樣,有一些部署選項,如果需要,可以訪問底層虛擬機。需要對現有服務進行一些代碼更改。

在您的用例中沒有提到任何東西,這讓我認爲Web Job不應該是您嘗試的第一件事。

(編輯:特洛伊亨特有一個偉大的和相對最近的一篇博客說明大部分點我提到關於網上工作上面:http://www.troyhunt.com/2015/01/azure-webjobs-are-awesome-and-you.html