2015-05-19 61 views
2

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

我们希望在天蓝色的云上移动它。一个替代方案是将其放在Azure虚拟机上。但我正在为此寻找其他最佳解决方案。

我研究了经常性和按需网络工作,但我不确定这是否是最佳解决方案。 也有可能更新App.config中服务代码的配置,而无需重新部署云服务代码。我的意思是我们可以从Azure门户管理配置。

在此先感谢。

回答

6

更新2016年11月4日

因为这是书面的,有2个额外的可在Azure中是根据什么功能,你既需要很好的选择特点:

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

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


你有3个基本选项:

  • Windows服务上的VM
  • WebJob
  • 云服务中运行

有大量的信息在那里的这些选择之间的权衡,但这里是一个简短的总结。

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

WebJob - 优点:多调用选项(队列,斑点,手动,队列接收循环,连续while循环风格等),预定(将涵盖你的情况)。易于部署(可以通过网站,作为控制台应用程序,自动通过Kudu),有一些内置的Azure门户日志记录 - 是的,要回答您的问题,您可以更改门户网站本身的配置,以便连接字符串和应用程序设置。

缺点 - 您需要更新代码,无法访问底层资源(如果需要的话)以及更多需要牢记的事情而不是劣势 - 它使用与webapp相同的资源它与...一起部署。

网络作业是最新的选项,但同时似乎有积极的发展,以增加功能和实用性。

云服务 - 就像托管虚拟机一样,有一些部署选项,如果需要,可以访问底层虚拟机。需要对现有服务进行一些代码更改。

在您的用例中没有提到任何东西,这让我认为Web Job不应该是您尝试的第一件事。

(编辑:特洛伊亨特有一个伟大的和相对最近的一篇博客说明大部分点我提到关于网上工作上面:http://www.troyhunt.com/2015/01/azure-webjobs-are-awesome-and-you.html