4

我有一个 ASP.NET MVC 3 应用程序,WoulBeBetter.com,目前托管在 Windows Azure 上。我有一个介绍性特别订阅套餐,该套餐免费使用了几个月,但我对它的价格感到惊讶(平均每分钟 150 欧元!),因为我已经开始付费了。对于一个短期内不会赚钱的网站来说,这实在是太多了,所以我决定转向一个常规的托管服务提供商(DiscountASP.Net

不过,我真正想念的一件事是 Azure 提供的分离的暂存和生产环境,以及零停机时间环境交换。

我的问题是,当托管在传统提供商上时,我该如何去“模拟”一个登台环境?在最大限度地减少新部署的停机时间方面,我最好的方法是什么?

谢谢。

更新:我选择我选择的答案不是因为我认为它是最好的方法,而是因为它是目前对我最有意义的方法。

4

3 回答 3

4

在放弃 Windows Azure 之前,您可以采取一些节省成本的措施来降低每月的账单。例如:

  • 如果您同时拥有 Web 角色和 Worker 角色,请将两者合并。进行后台处理、队列处理等并在您的 Web 角色中运行它们(在 OnStart() 中进行耗时的启动,然后只需添加一个 Run() 覆盖来调用队列处理等。
  • 考虑一下新的 Extra Small 实例,它的成本不到 Small 实例的一半
  • 在您确信您的生产代码运行正常后删除您的暂存部署。不过,请将 cspkg 放在 blob 存储中,以便随时重新部署它。
于 2011-02-17T18:05:37.710 回答
3

我自己使用 DiscountASP。这肯定是非常基本的托管,有点落后于时代。但我发现只是创建一个子目录并在那里发布我的 beta/test/whatever 版本效果很好。它既不花哨也不漂亮,但确实完成了工作。

为此,您需要先创建子目录,然后进入控制面板并告诉 DASP 该目录是一个应用程序。然后您还必须考虑该目录的 web.config 将是它自己的和父目录的组合。您还必须考虑此子目录的 robots.txt 并通常保护它免受爱管闲事的人的影响。

您也可以使用子域来实现这一点,具体取决于您的域的设置方式。

另一种选择:appharbor?他们有一个免费的计划。如果您可以保持在他们免费计划的范围内,它可能会很好用(我从未使用过它们,但目前有兴趣尝试它们)

于 2011-02-17T17:51:56.193 回答
0

1) 获取自动化部署工具。数百万/十亿美元的公司实际上将大量免费/开源软件用于其生产环境。

2) 获得与第一个相同的第二个托管包。将其用作您的登台,然后在登台通过时重新部署到生产环境。

于 2011-02-17T17:52:18.720 回答