2

我正在进行 Windows Azure 试用,以评估将许多商业 ASP.NET 站点从专用托管迁移到 Azure。一切顺利……直到现在!

一些背景 - 使用 SQL Azure 和 SQL 报告在 Web 角色(即与网站相对)下设置站点。站点内容位于 X: 驱动器下(还有一个 B: 驱动器似乎映射到同一位置)。审判还剩几天。

在没有任何明显警告的情况下,我的测试站点突然停止工作。检查服务器(通过 RDP)我看到 B: 和 X: 驱动器消失了(我认为只剩下 C: D & E: 了),并且在 IIS 中应用程序池和站点消失了。然而,在 Portal 中,似乎没有任何改变 - 似乎存在相同的服务和配置。

大约 20 分钟后,丢失的驱动器、应用程序池和站点重新出现,我的测试站点又开始工作了!但是,B:驱动器不见了,现在有一个 F:驱动器(显示与 X 相同:);我之前安装的 MS ReportViewer 2008 控件也不见了。就好像服务器已被另一个服务器替换(但 IIS 配置已从原始服务器恢复)。

你可以想象,这让我很担心!如果这可能在生产中发生,那么我不会考虑在 Azure 上为客户托管商业站点(除非有一些冗余系统可用于在发生此类故障时保持站点正常运行)。

谁能解释可能发生的事情,如果这在实时订阅下是可能的/可预测的,如果是这样,如何解决它?

4

3 回答 3

4

要记住的另一件事是 Azure Web 角色不是持久的。我不确定您是如何安装 MS Report Viewer 2008 控件的,但是当您将解决方案推送到 Azure 时,您在部署包之外添加或安装的任何内容都不能保证在未来某个时候可用。

我承认,当谈到 Azure 的整体架构时,我并不完全了解全貌,但我确实知道 Web 角色可以并且确实不时地重新创建自己。当角色回收时,它会恢复到安装时的状态。这就是为什么 Microsoft 建议至少使用 2 个角色实例的原因,因为虽然其中一个可以回收,但它们永远不会同时回收两个,这是保证 99.9% 正常运行时间的一部分。

您可能还需要考虑使用 Azure VM。它们是持久的,但需要您在更新和软件方面维护服务器,就像我怀疑您已经在使用专用托管一样。

大约两年来,我一直在大型(4 核)Web 角色中托管我的解决方案,也使用 SQL Azure,并取得了巨大的成功。我有大约 3,000 名用户,很少看到我的网络角色的利用率超过 2%(这意味着我有很大的增长空间)。总的来说,在我看来,这是一个很棒的托管解决方案。

于 2013-08-15T19:08:43.643 回答
1

听起来您希望 Web 角色充当虚拟机实例。

Web 角色不是持久的(机器可以随时销毁和重新创建),因此您应该在 Azure 项目中将任何其他必需的设置设置为“启动任务”(切勿手动安装软件)。

因此,您至少需要 2 个实例,以便可以自动执行滚动升级(即 Windows 安全补丁、修补程序等),而无需让整个部署脱机。

如果这不适合您的用例,那么您应该查看 Azure 虚拟机,但您需要自己管理更新等。正确使用 Web 角色通常会更好,因为您可以更轻松地进行缩放等。

于 2013-08-15T19:31:21.120 回答
1

根据Azure SLA,Microsoft 保证其所有产品每个计费月的正常运行时间为 99.9% 或更高。(每月 20 分钟将是 0.0004% 的损失,并不重要,只是表明他们仍在其 SLA 范围内)

当前状态显示sql数据库昨晚在美国北部出现问题,但目前所有服务似乎都已启动

就个人而言,我已经看到仪表板出现故障,并报告了非常奇怪的问题,但我编写的服务一直运行良好。当我遇到这个问题时,它被报告在Azure 状态平台状态twitter 提要上

虽然我看到了颠簸,但它们很少而且相差甚远,而且我发现可靠性明显高于与我合作过的其他供应商。

至于解决方法,我会建议您的网站使用标准模式并增加网站的实例。你可以尝试查看最新 Azure 版本中可用的新加载项。 Metrichub 的Active Cloud Monitoring可能是您需要的。

于 2013-08-15T16:25:30.803 回答