自2013年以来,我们一直在使用Azure云服务(Web角色)。之所以使用它,是因为当时角色内缓存是Web Farm在Azure中工作的唯一可用缓存。
到目前为止,App Service(以前称为Web App / Web站点)和Redis Cache可用,并且App Service可以完成Cloud Services提供的几乎所有功能。
根据this的比较,我们仅看到App Service无法执行的4个小区域(IMHO)–
远程桌面访问服务器
安装任何自定义MSI
能够定义/执行启动任务
可以收听ETW事件
题
在将角色内缓存更新为Redis缓存时是否值得将现有的Cloud Service转换为App Service?
换句话说,我们是否应该考虑在Azure云服务中托管(而不是在App Service中托管)?
最佳答案
我认为您可能对这个问题的看法远胜于事实,所以这是我的看法。
自从最初只是Cloud Services以来,我就一直在使用Azure,并且与他们一起完成了一些案例。
今天(例如过去的1-2年),我采用了从Web Apps和WebJobs开始的方法,直到我发现不太合适的原因为止。对于我的大多数客户,App Services可以正常运行,尽管有些项目仍需要Cloud Services。
我发现对WebApps和WebJobs进行轻松的部署和管理对我来说是一个巨大的胜利-无需创建该怪物包文件并重新部署整个应用程序,而只需进行一些小改动就可以了。
与WebRoles相比,我还发现WebJobs(使用SDK)的生产率更高—尽管有时我需要一个没有UI的WebApp来托管webjob,如果它们是处理器和内存猪。仅通过添加一个属性就可以使您的代码使用QueueTrigger监视队列这一事实可节省大量时间,并削减所有样板代码。
我也曾在项目上使用过Redis(尽管目前还没有),并且使用起来很容易-一旦确定了一些知识并习惯了它。