2011-10-03 49 views
3

我有一個Windows應用程序,它執行一些計算並從命令行調用。在我的Windows機器上,我有一個在Apache下運行的PHP腳本,它執行應用程序並顯示輸出。託管(命令行)Windows應用程序的最佳解決方案?

是否有任何託管解決方案,我可以用來做同樣的事情?我無法弄清楚EC2或Azure是否是正確的解決方案。基本上,我需要一個Web服務器+執行我的應用程序的能力。

對此提出建議?謝謝。

回答

4

您可以將您的應用程序託管在.NET平臺即服務AppHarbor上。你可以將你的web前端移植到.NET上,或者試着讓你的PHP工作與Phalanger一起工作。 AppHarbor正在編寫Background Tasks,這可能與您的工作負載非常匹配。

0

如果它是一個Windows應用程序,並且您有源代碼,我將使用Azure工作者角色。使用PaaS(如Azure)而不是IaaS(如亞馬遜)的好處是,您不必費心保持服務器的最新狀態。

當您重寫應用程序以使其作爲工作者角色工作時,真正的時間投資將會是時間。完成這項工作所需的時間取決於您的應用程序現在的工作方式。如果使用大量光盤訪問,則可能會很困難,並且亞馬遜服務器可能會更好。但是如果它只是在內存中查找數字,Azure工作者角色是一個非常好的候選人。

使用亞馬遜服務器的真正優勢是,您可能根本不需要做任何工作。除了維護服務器。

+0

也可以運行整個事情(PHP的網站*和*命令行工具)在Azure Web角色中。似乎它應該是直截了當的。 – codingoutloud

2

我只需運行Windows Azure Web角色中IIS已經擁有的PHP腳本。

0

正如問題中所述,Azure和EC2都能很好地完成這項工作。這兩種系統都是爲這種任務而設計的。

所以這個問題真的變成了:哪個是最好?這取決於兩件事情:應用程序需要做什麼以及您自己的經驗和偏好。

由於這是一個Windows應用程序,應該可能會傾向於Azure。儘管EC2支持Windows,但Azure的工具和支持資源可能更深一些。

如果成本是一個因素,那麼一個(有點過時的)資源在這裏:http://blog.mccrory.me/2010/10/30/public-cloud-hourly-cost-comparison/ - 結論是,總的來說,Azure和亞馬遜的計算收費大致相似。

0

史蒂夫馬克思有一個blog post,描述瞭如何在Azure上 此運行另一臺Web服務器(即不是IIS)可能有你需要的一切 - 你可以部署Apache和可執行文件,並以完全相同的方式運行。

或者 - 您可以部署沿側您的可執行文件在輔助角色有點代碼,將定期運行該應用程序,所有這些都取決於您的具體要求

相關問題