繁体   English   中英

从Azure中的辅助角色部署Web角色

[英]Deploy Web Role from Worker Role in Azure

我正在研究Windows Azure的一些内容,以便决定是否迁移到Azure。

基本信息
要回答这个问题,您需要对我的应用程序有一些基本的了解,因此请继续。

该应用程序是一个连接到SQL Server数据库的ASP.NET MVC 3应用程序。

它是一个单实例应用程序,这意味着每个客户最终都会在我们的服务器上运行自己的应用程序实例,并将其作为网站部署到IIS 7。

我有一个SQL Server,其中每个实例都有自己的数据库。

我也有一组Windows服务来做一些后台处理。 这应该很简单,因为我将重写它们以在Windows Azure中使用工作者角色-服务中的大多数逻辑无论如何都位于其自己的类(库)中,因此它本身的服务仅调用一个或多个类中的方法。

现在到问题
每当有人注册免费试用版时,我都会将记录添加到我拥有的Admin数据库中。

然后,我有一个Windows服务,该服务将ASP.NET MVC 3应用程序的新实例部署到IIS,向几个文件夹授予权限,运行数据库部署脚本并更新记录以反映它已经被部署,最后发送一封电子邮件,告知他们已经创建了他们的免费试用版-这是您访问它的方式。

因此,如何从辅助角色在Windows Azure中部署新实例? 最好,我只是将一个新网站添加到现有的Azure实例中,并为该特定网站创建一个新的SQL Azure数据库。

这是否需要大量工作来设置? 可能吗

我认为您想要实现的大多数事情都是可能的。

肯定需要进行一些设置工作!

有关如何实现所需内容的一些想法,请查看MS SaaS示例-http: //www.fabrikamshipping.com/-该示例专门用于将现有应用程序移植到Azure上的SaaS。 在此应用程序内,他们有一个“入职过程”-该过程包括设置新的SQL连接和新的门户。

http://blogs.msdn.com/b/vbertocci/archive/2010/10/07/new-online-demo-introducing-fabrikamshipping-saas.aspx上有很多不错的博客(请观看视频)。

基于两个引号,我建议将其称为多租户应用程序:

它是一个单实例应用程序,这意味着每个客户最终都会在我们的服务器上运行自己的应用程序实例,

和...

Windows服务将ASP.NET MVC 3应用程序的新实例部署到IIS,将访问权限授予几个文件夹

如果我正确理解的话,这里有一个“ IIS”服务器(在Windows Azure中,它是一个Web角色,可扩展到多个实例),并且对于每个新的“租户”,您都会设置一些新的东西来支持该租户。

如果确实如此,那么您绝对可以从辅助角色执行此操作-只需查看Nate Totten的多租户Web角色博客文章和相关代码即可。 查看实际操纵IIS的webdeploy代码。

进一步:看看Cloud Ninja ,这是我的一些队友与Fullscale180一起发布的项目。 这是一个多租户应用程序,演示了如何在单个部署中管理多个客户以及如何监视和扩展。

最后:如果您需要实际创建全新的服务主机和存储帐户,则Windows Azure Management API的最新更新将支持此功能。 我希望这会有所帮助...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM