2011-02-01 139 views
2

請告訴我,我的推理是否有效。根據我的理解,當你構建一個Azure應用程序時,你需要從頭開始構建它,並考慮雲(例如,數據庫等資源在Azure應用程序中的處理方式與在舊標準應用程序中處理的方式不同)。Azure體系結構問題

這意味着您無法開始構建關鍵業務Azure應用程序,然後由於某種原因決定以舊式方式託管它(也許您對性能或其他方面不滿意)。

我理解正確嗎?

回答

5

在某種程度上,推理是正確的 - 某些雲資源(如Azure Table存儲)在非託管環境中沒有針對功能特性的功能。

也就是說,Azure爲您提供的大部分功能可以與數據庫,隊列(如MSMQ或Tibco),網絡文件系統等結合使用進行復制。像HBase這樣的NoSQL數據庫可以自行提供託管雲的可擴展性基礎設施,但他們需要重新考慮一下你對數據訪問所做的一些假設。微軟還推出了一個appliance for a private cloud,它在本地複製Azure環境。最後,在雲和非託管環境之間移動所涉及的工作量取決於代碼的分解程度,尤其是在數據訪問和進程間通信方面。

+0

我同意克里斯。作爲一個特殊的例子,如果你的應用程序只是使用SQL Azure的ASP.NET,那麼在帶有SQL Server的標準IIS框上運行它很簡單。 – smarx 2011-02-01 15:58:56

0

是的,但仍...如果您爲客戶編寫Azure應用程序並將其部署到雲: - 如果客戶後來決定要爲他們自己託管它,該怎麼辦? (可能有多種原因:性能,安全性,非策略性供應商鎖定,成本等)在這種情況下,您將不得不再次讓開發人員參與,再次測試等等(它可能會也可能不是同一個人)。你不能通過簡單地改變一行配置參數等來切換到傳統主機(當然,除非你從一開始就真正構建它「爲雙平臺」,爲兩個平臺測試它。等等。

我認爲Azure作爲一個託管選項,對應用程序設計感覺相當侵擾

那個Web角色/工作者角色是什麼?是什麼讓你在Azure上進一步鎖定?是否可以輕鬆地轉移到傳統ASP .NET Web應用程序/ Windows服務?

對不起,這種沉悶的懷疑論者;-)

0

主要有兩種技術途徑,以這樣的:

  1. 您可以移動在內部應用程序,而在Azure上運行的設備進行任何更改。 http://www.microsoft.com/windowsazure/appliance/

  2. 您可以構建解決方案,以便不使用特定於Azure的功能。例如,將數據存儲在Azure SQL中,而不是存儲在Azure表存儲中。在ASP.Net MVC中構建的Web前端將運行在Azure和IIS上。

1

如果與去耦和領域驅動設計考慮設計你的業務系統,那麼這將是很容易遷移到雲(天青,亞馬遜等),規模,分發或做什麼是必要的。

只是幾件事情要記住:

0

我相信當它來到IaaS(OS,主機環境)時,遷移到OnPremise可能並不困難。但是,如果我們大量使用不同的服務,雲供應商將提供PaaS的一部分,那麼在遷移期間我們將不得不面對這種負擔。