原文地址:http://blog.sanc.idv.tw/2012/07/windows-azure-web-sites-vs-web-role.html
今年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那樣的強大。
後記
這篇簡單的將官方的差異做了一個小小的比對與翻譯,如果各位大大發現有誤,也請和小弟說喔!!謝謝。