2011-05-08 42 views
5

實際上很簡單的問題。我正在嘗試使用Python作爲開發語言來評估Google Apps的可能性。用它創建一個Web應用程序或Web站點似乎很實用,但是如何創建Web服務?
我對Google Apps for Python創建SOAP或REST服務的解決方案不感興趣,因爲簡單的Google搜索應該提供大量解決方案。我對經驗和易用性更感興趣。使用Google Apps Engine或Azure的Web服務?

但真正的問題是:當在谷歌應用程序與Web服務在微軟Azure環境比較Web服務,這將提供更好的性能?最好的用戶體驗?我並不關心實際的開發語言,但需要在Google App Engine和Microsoft Azure中對Web服務的優缺點進行比較。

不知何故,天青似乎更適合於服務,而谷歌似乎對網站更好。一個艱難的選擇......
如果兩者都可以合併成一個解決方案,會非常有趣。 :-)
順便說一句,選擇使用哪個引擎也意味着選擇適當的開發環境和編程語言。雖然我精通.NET和Python以及其他許多語言,但服務引擎的選擇決定了我將來的項目的重點。

+3

Google應用引擎!= Google應用 – systempuntoout 2011-05-08 14:24:40

+2

「Azure似乎更適合服務,而Google似乎更適合網站。」考慮到成本,我認爲你是相反的。如果您的服務就在那裏,您將永遠不會對GAE收費。對於Azure,只要您的服務上線,您就會收取費用。對於一直被販賣的網站,現收現付的優勢並不突出。 – hyperslug 2011-05-08 18:16:34

+1

webservice只是一個被其他程序佔用的web應用程序。沒有什麼特別的東西可以讓它在支持輕鬆編寫webapps的平臺上編寫web服務變得更加困難或容易。 – 2011-05-09 23:09:33

回答

2

當Windows Azure的建設服務,他們會僅僅是在你的虛擬機(在Windows Server 2008 SP2或R2 SP1)運行的進程。您可以在任何三個角色類型的主機很容易服務:

  • Web角色(實際上是Windows Server和IIS運行) - 剛剛從自己的過程中添加一個WCF端點IIS或自主機)。
  • 工作者角色(與IIS沒有運行Windows Server) - 從自己的過程
  • VM角色的自我主機(您自己的Windows 2008服務器VM推到Windows Azure) - 主機與你安裝/設置任何機制。

每個VM在Windows Azure中可能暴露共有5個端點。這些可以是輸入(面向外部)和內部端點的組合,每個端口都支持tcp,http或https。您可以在虛擬機角色的屬性中定義端點。

內部端點僅可用於部署中的其他VM。您無法從其他任何地方看到它們/訪問它們,包括其他Windows Azure部署。外部世界可以訪問輸入端點。

如果你想在谷歌運行訪問您的Windows Azure服務的應用程序,只需通過IP +端口連接到端點。您需要了解的一件事是帶寬使用情況。由於您的Google託管的應用程序將位於一個數據中心,而您的Windows Azure服務位於另一個數據中心,因此您需要爲進出Windows Azure服務的數據支付入口/出口的費用(並且我猜測上面有一個關聯的帶寬費用Google方面,但我不確定)。

設置服務其實很簡單。對於基於.NET的示例,請查看Windows Azure Platform Training Kit中的實驗(這也是其他很好的示例,例如設置您的第一個Windows Azure應用程序)。對於python服務主機,您需要從您的VM角色的OnStart()事件處理程序執行python.exe,並傳入您的腳本名稱(以及可選的端口號來偵聽)。有關啓動python.exe的簡單示例,請查看Steve Marx的博文here

編輯:如果你正在尋找託管多個服務(例如:多個端口),您可以選擇將它們託管在一個虛擬機角色中或單獨角色中,以優化成本(已知5個端點的限制)或性能(獨立縮放每個服務)。

+0

是的,谷歌和MS都收取帶寬使用費。通過在本地存儲中兌換數據,雖然可以節省一些帶寬,但需要額外存儲的成本。我對Google Apps感興趣,但我已經有了一些非Azure網絡服務。將這些人轉移到Google是浪費時間。 :-) – 2011-05-11 13:19:19

相關問題