2012-06-15 52 views
3

我的問題有兩個部分,我知道它們是基本的,但無法清除發佈這樣的想法。使用windows azure開發中的差異

我們計劃在windows azure上構建一個新的應用程序。在閱讀了雲中的一些文章後,我在雲上構建了一個示例應用程序,執行像CRUD這樣的基本操作。

  1. 所以我想知道,在azure應用程序上工作時,您都會感受到所有的根本區別。我已經使用MVC構建了應用程序框架。在使用MVC的正常Web應用程序和使用MVC的雲應用程序中編寫代碼方面,我沒有感覺到太多差異。 構建雲應用程序時的待辦事項是什麼?

  2. 我們正在計劃聘請一些在Windows Azure上工作的經驗豐富的人,市場上有幾位獵頭人員用一堆簡歷來轟炸你。儘管人們還沒有在Windows Azure上工作過,但他們只是包含在那裏恢復。如何評估候選人以評判他在雲計算上的潛力。任何提示,這將是有益的。

回答

6

1.根本區別

的Windows Azure是要很好地工作ASP.NET。考慮到虛擬機是Windows Server 2008 R2/SP2,沒有太多你不能做的事情。本地應用程序和Windows Azure應用程序之間的巨大差異在於這些虛擬機的行爲方式,Windows Azure如何管理SLA和可用性,底層客戶機和主機操作系統維護的完成方式等等。想到幾件事:

  • 負載均衡。沒有辦法將流量引導到一組Web或角色實例中的特定VM實例(除非您構建自己的請求路由器)。所以你需要規劃無狀態
  • 會話管理。相關的第一點。無法使用inproc,需要使用Cache,表存儲或SQL提供程序,從而提供無縫的會話體驗。
  • 服務。 Windows Azure提供身份管理,緩存,流量管理器(跨數據中心負載平衡),CDN(blob邊緣緩存),blob存儲,表存儲(無模式,NoSQL)等。您需要仔細查看這些服務,看看它們最適合您的應用。例如:表存儲可以擴展到每個賬戶100TB,並且每GB的成本非常低,但是程序員需要學習一種新的內容持久化方式,特別是如果他們習慣了SQL Server。
  • 部署。你需要了解如何維護你的應用,監控它,擴展它,升級它。
  • 供貨情況。您需要了解Windows Azure如何管理您的操作系統(除非您使用您管理的虛擬機),如何處理故障(例如,硬件故障)
  • 安全性。 Windows Azure SQL數據庫安全性與SQL Server安全性不同。

2.面試

架構技能是至關重要的。編程技巧可以更容易學習,尤其是Windows Azure Training Kit或一些好書。這裏只是一個我會詢問的事情的快速列表,當面試Windows Azure項目的候選人時。經驗豐富的Windows Azure開發人員將能夠處理其中的大部分。

  • 描述的場景,他們將結合(或獨立)任務到同一個(或單獨)角色
  • 解釋如何監控和擴展應用程序
  • 瞭解升級的應用程序
  • 的各個方面瞭解如何安裝和運行第三方工具和替代(非.NET)語言
  • 架構師的成本vs性能與可用性
  • 瞭解存儲解決方案(SQL,第三方SQL &的NoSQL,斑點/表/隊列)
  • 瞭解Windows Azure中的隊列與服務總線隊列
  • SQL Server和Windows Azure的SQL數據庫,包括聯合會,安全性,瞬時性故障,跨數據庫之間的差異的利弊查詢和交易
  • 瞭解內容分發網絡邊緣緩存
+2

的能力(和限制),我覺得你剛剛編寫的下一個Azure的認證;)從我+1對建築技能,極大的答案。 – user728584

3

1)正如你所說;差異不大。我非常喜歡隊列,他們讓構建異步流程變得輕而易舉。在沒有OPS幫助的情況下啓動環境的能力是一個巨大的節省時間。對我來說最大的負面影響是部署時間。在內部,TeamBuild可以在我的測試服務器上使用< 1分鐘。對於Azure,根據數據中心的一天中的時間/使用情況,最多可能需要30分鐘。

2)除了一些關於連接ACS/ADFS的特殊知識外,我不確定尋求具有Azure經驗的人會得到什麼。這真的就像寫一個內部的應用程序。人們把各種廢話放在簡歷上,只是爲了進入大門,希望你不會注意到。只要他們說他們可以做的所有事情都會讓他們感到滿意,你認爲你需要他們做到。也許讓他們做一個場景,他們必須登錄到Azure門戶並創建一個新的主機/數據庫。讓他們部署一個包。讓他們對Cloud Project進行一些更改(連接字符串,vm大小,實例)。讓他們調試一個工作者角色項目。如果他們做不到這些,你就知道他們在說謊。今天我正在採訪某人在某項技能上使用形容詞「巨大」的人。你可以打賭我會瞄準那個!