首页 文章

替代在Azure Cloud 中运行窗口服务

提问于
浏览
2

我们目前有一个窗口服务,它在对数据库(SQL数据库)进行一些处理后向用户发送一些通知电子邮件 . 每天运行一次 .

我们想在天蓝 Cloud 上移动它 . 一种替代方法是将其按原样放在Azure VM上 . 但我找到了其他最好的解决方案 .

我研究重复和按需Web工作,但我不确定这是最好的解决方案 . 还有可能更新App.config中的服务代码配置,而无需在 Cloud 上重新部署服务代码 . 我的意思是我们可以从Azure门户管理配置 .

提前致谢 .

1 回答

  • 6

    Update 11/4/2016

    自编写本文以来,Azure中有两个额外的功能,这两个功能都是很好的选择,具体取决于您需要的功能:

    Azure Functions(基于下面描述的WebJobs):无服务器代码,可以通过各种方式触发/调用,并具有扩展支持 .

    Azure Service Fabric:微服务平台,支持actor模型,有状态和无状态服务 .


    你有3个基本选择:

    • 在VM上运行的Windows服务

    • WebJob

    • Cloud 服务

    关于这些选择之间的权衡,有很多信息,但这里有一个简短的总结 .

    VM - 优点:您可以基本上按原样移动服务,而无需更改太多或任何代码 . 它们还具有与Azure中其他资源(blob存储,虚拟网络等)的最简单连接 . 缺点是您放弃了所有PaaS优势,仍然无法管理自己的VM基础架构

    WebJob - 优点:多个调用选项(队列,blob,手动,队列接收循环,连续循环样式等),已安排(将覆盖您的情况) . 易于部署(可以通过网站,作为控制台应用程序,通过Kudu自动执行),在Azure门户中有一些内置的日志记录 - 是的,为了回答您的问题,您可以更改门户网站本身的配置以获取连接字符串和应用程序设置 .

    缺点 - 您需要更新代码,您无法访问底层资源(如果您需要),并且需要记住更多的东西而不是缺点 - 它使用与部署的Web应用程序相同的资源 .

    Web Jobs是最新的选项,但同时似乎正在积极开发以增加功能和实用性 .

    Cloud Service - 类似于托管VM,具有一些部署选项,如果需要,可以访问底层VM . 需要从现有服务进行一些代码更改 .

    你在用例中没有提到任何让我认为Web作业不应该是你尝试的第一件事 .

    (编辑:特洛伊亨特有一个伟大的,相对较新的博客文章,说明我上面提到的关于网络工作的大多数观点:http://www.troyhunt.com/2015/01/azure-webjobs-are-awesome-and-you.html

相关问题