托管Windows命令行应用程序的最佳解决方案是什么?

3
我有一个Windows应用程序,它进行一些计算并从命令行调用。在我的Windows机器上,我有一个在Apache下运行的PHP脚本,执行该应用程序并显示输出结果。
是否有任何托管解决方案可以实现同样的功能?我无法确定EC2或Azure是否是正确的解决方案。基本上,我需要一个Web服务器+执行我的应用程序的能力。
有什么建议吗?谢谢。
5个回答

4
您可以将您的应用程序托管在.NET平台即服务——AppHarbor上。您可以将您的Web前端移植到.NET,或者尝试使用Phalanger让您的PHP代码运行在.NET上。AppHarbor正在开发后台任务功能,这可能非常适合您的工作负载。

2
我建议您在Windows Azure Web角色下,直接运行已经拥有的PHP脚本。

0
如果它是一个Windows应用程序并且您有源代码,我建议使用Azure Worker Role。使用PaaS(如Azure)而不是IaaS(如Amazon)的优点在于您无需费心保持服务器更新。
真正需要投入时间的是重写应用程序以使其作为Worker Role工作。完成此项工作所需的时间取决于您的应用程序当前的工作方式。如果它使用大量磁盘访问,则可能会很困难,也许Amazon服务器会更好。但是,如果它只在内存中计算数字,则Azure Worker Role是非常好的选择。
使用Amazon服务器的真正优势是您可能根本不需要做任何工作。除了维护服务器。

也可以在 Azure Web 角色中运行整个东西(即 PHP 网站和命令行工具)。看起来应该很简单。 - codingoutloud

0

如问题所述,Azure和EC2都可以很好地完成工作。这是两个系统设计的任务类型。

因此,问题变成了:哪个更好?这取决于两件事:应用程序需要做什么以及您自己的经验和偏好。

由于这是一个Windows应用程序,因此可能应该倾向于使用Azure。虽然EC2支持Windows,但Azure的工具和支持资源在这一点上可能更加深入。

如果成本是一个因素,那么一个(有些过时的)资源在这里:http://blog.mccrory.me/2010/10/30/public-cloud-hourly-cost-comparison/ -- 结论是,就计算费用而言,Azure和Amazon大致相似。


0

Steve Marx撰写了一篇博客文章,介绍如何在Azure上运行另一个Web服务器(即非IIS)。 这可能包含您所需的所有内容-您可以部署Apache和可执行文件,并以完全相同的方式运行它。

或者-您可以将可执行文件与工作角色中的一些代码一起部署,该代码会根据您的确切要求定期运行该应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接