Windows Azure - Web Sites VS Web Role

  • 1580
  • 0

Windows Azure - Web Sites VS Web Role

今年Windows Azure剛出Web Sites的時候,一直覺得他和Web Role很像,也詢問過John哥這個問題,後來發現官方大概也聽到了大家的聲音XDD,所以有了這篇文章,而一直想找時間整理翻譯,後來一拖,就拖到現在了QQ… ( 這段時間都跑去測試遠端桌面玩3D遊戲XDD )。另外,原文有多加上VM的部分,但我覺得VM和Web Sites還有Web Role比較沒甚麼好比的,反正VM就全部都是自己來嘛,所以這篇文章主要在Web Sites和Web Role的比較。

P.S 這篇文章會不定期更新。

Web Site VS Web Role 由適用角度來看

我們先來從適用的角度來看看。

Windows Azure Web Sites 適用於 Windows Azure Cloud Services 適用於
現代的應用程式
就如同現在一般的網站,含有HTML、JavaScript、ASP.NET、PHP與Database,並沒有複雜的多層應用時,可以考慮Web Site;同樣的,Web Site也可以依據需求調整運算大小。
多層式架構應用程式 
整個程式架構由多層組合而成。例如訂單的處理,可能需要大量的前端服務窗口;或是前端服務窗口不需要很多,但後面的運算邏輯很複雜,就可以採用Cloud Services ( 也就是Web Role和Work Role );因為每層可獨立的依據需求調整運算大小,並且擁有非同步的後台。
只需要持續不斷的開發
部署可以直接從您的版本控制(使用Git或Team Foundation Service ) 或是FTP,就可以輕鬆開發。
應用程式需要進階的管理
當應用程序需要Administrator權限或是需要遠程桌面連線、或是需要提升特殊權限的應用程式時,就必須要使用Cloud Service,而且Cloud Server不支援FTP和Git ( 但是支援Team Foundation Service )。
當代流行的Open Source應用程式
只需要按幾下,就可以馬上使用目前流行的Open Source應用程式,例如WordPress、 Joomla!、和Drupal。
應用程式需要更進階的網路
應用程式需要在Windows Azure Connect或 Windows Azure Virtual Network下網路隔離時,也只能選擇Cloud Service。

就如John哥之前告訴小弟的,Web Site提供了一個快速方便的部屬環境,但如果要深入Windows Azure的服務與應用,還是Cloud Service莫屬。

接下來,我們來依據功能面來看看。

Web Site VS Web Role 功能比較

這邊是Web Site 和 Web Role的功能比較。

功能 Web Site Web Role 備註
存取Azure的服務,像是Caching、Service Bus、Storage、SQL Azure Yes Yes  
支援ASP.NET、ASP、Node.js和PHP Yes Yes  

共享內容和配置

Yes No  
透過GIT或FTP的方式發布網站 Yes No Web Role不支援GIT和FTP,只能直接使用Visual Studio打包好的套件或是利用Visual Studio直接部屬
超快速部屬 Yes No Web Site無論是想使用一些OpenSource或是已經寫好的程式,部屬速度上都比Web Role還快
整合MySQL服務 Yes Yes Web Role 可以整合ClearDB這家公司的MySQL服務,並透過連線字串來存取,但是沒有辦法使用像SQL Azure的入口網站來調整與配置工作
多部屬環境(生產部屬/預備部屬) No Yes Web Role可以切換預備部屬,來進行內部測試,或是切換成生產部屬來正式對外服務,當然!!無論是預備還是生產,都是要錢就是了

網路隔離

No Yes  
遠端桌面存取Server No Yes Web Role可以遠端桌面連進去偵錯除錯喔!!
提升權限來執行應用程式的能力 No Yes  
定義/執行 啟動任務的能力 No Yes  
使用不受支援的Frameworks和 Libraries之能力 No Yes  
支援Windows Azure Connect和 Windows Azure Network No Yes  

如上表,我們可以得知,兩個功能上的差異性,但除了功能上的差異,實際上,Web Site的擴充性也有限制,並非Cloud Service那樣的強大。

後記

這篇簡單的將官方的差異做了一個小小的比對與翻譯,如果各位大大發現有誤,也請和小弟說喔!!謝謝。

參考資料