最佳实践:Windows Azure 网站 (WAWS)


编辑人员注释:本文章由 Windows Azure 网站团队的项目经理
Sunitha Muthukrishna 撰写。

Windows Azure 网站 (WAWS) 允许您在 Windows Azure 上构建可高度伸缩的网站。下面概述了 WAWS 的优势:

  • 有效的资源利用:随着客户群增长,您的应用程序的使用率也会相应增加。您可以基于网站的流量模式主动伸缩您的网站。
  • 基于使用率的成本计算:在按需选择基于云的策略方面,成本起着关键的作用。Azure 网站提供了基于使用率的模型(按增长付费)和 6 或 12 个月的计划以供选择。要了解详细信息,请参阅 Windows Azure 网站定价
  • 更快的上市时间:您可以专注于应用程序,而无需担心基础结构。这样便可以赢得更多时间以释放开发人员的创造力和生产力,这反过来又缩短了应用程序的上市时间。

最佳实践

这些实践有助于您充分利用基础结构提供的 Windows Azure 网站,并为最终用户提供可靠的高性能网站。

  • 构建可伸缩的架构

凭借 Windows Azure 网站,可以在 Azure 上构建可伸缩的解决方案,但前提是您的网站需要充分利用服务提供的可伸缩基础结构,这一点至关重要。

下面介绍了设计可伸缩解决方案的几个操作:

1. 架构中的瓶颈可能导致高延迟。您应该识别当前架构中的所有主要瓶颈,其产生的原因有很多,例如,应用程序设计不佳、带宽限制。重构您的应用程序架构,以避免这些瓶颈。

2. 使用不同的规模配置(实例大小和数量的组合)对网站执行负载测试,以便了解常规负载下的正确规模配置。可以使用 Visual StudioApache Jmeter 等多种工具执行负载测试。

3. 使用 Web 分析工具(如 Google AnalyticsWebTrends)确定流量模式和您的网站平均每秒收到的请求数。

4. 设置自动伸缩以管理意外的流量高峰。要了解详细信息,请参阅如何伸缩网站

5. 如果您的应用程序使用数据库层,请集成使用分布式缓存解决方案(如 Azure 缓存服务)来提高性能。

  • 设计可承受故障的架构

尽管 WAWS 提供了高标准的 SLA,但要实现业务连续性,还是要了解在使用云解决方案时存在的服务失败风险以确定减少此类事件影响的方法,这一点很重要。

下面介绍了此类情况下减轻影响所必需的一些解决方案:

  • 通过 Windows Azure SDK 或者使用第三方服务(如 Cloud Cellar)构建您自己的工具,来创建自动化备份和还原策略。
  • 至少在 2 个数据中心设置网站冗余副本,并且在这些数据中心之间实现入站流量的负载平衡。
  • 如果数据中心的服务出现故障,请使用 Global Traffic Manager 设置自动故障转移功能。
  • 在您的网站中设置内容分发网络 (CDN) 服务,以通过缓存内容提高性能,并且使网站具有高可用性。
  • 如有可能,删除您的 WAWS 网站使用的任何紧密耦合组件/服务的依赖关系。

例如,如果您的网站使用了数据库,并且由于某种原因数据库服务在特定时间出现故障,将会导致您的架构出现单点故障。这里的数据库就是一个紧密耦合的组件,但无法从您的架构中删除。在此类场景下:

-   您必须跨多个数据中心进行数据库复制,并且在这些数据库之间设置自动化数据同步以减轻故障转移期间的影响。

-   您必须将您的应用程序设计为在这些情况下具有弹性。

如果您需要依赖组件,复制策略将有助于增强架构可靠性。

  • 在移动到云之前,设计风险缓解策略以减少意外中断
  • 创建测试环境并通过停止站点来模拟故障场景,以便评估您的网站在故障下时的性能
  • 自动化基础结构

除了云解决方案之外,还有许多操作关系到维持网站的成功与否,这包括开发、部署以及各种其他操作。实现这些操作的自动化,可以更轻松地管理您的应用程序递交周期。使用 WAWS REST API,可以访问所有 WAWS 功能,因此自动化变得更加简单。

用于管理网站的一些主要操作如下所示:

  • 部署到网站

可以根据您的喜好使用各种部署策略(如 Web 部署GIT、FTP 等)来向您的网站推送内容。通过Windows Azure SDK 构建工具,可以简单实现自动化。

  • 使用测试站点进行生产测试

WAWS 支持测试发布,该功能可以对网站的测试版本进行更新部署,并且在更新面向客户的网站之前进行生产环境测试。要了解详细信息,请参阅在 Windows Azure 网站上进行测试发布

  • 启用诊断日志记录

WAWS 具有内置的诊断功能,可以帮助您对应用程序进行调试。有两种类型的诊断功能:

  • 站点诊断:可以启用详细错误日志记录、失败的请求跟踪和 Web 服务器日志记录。
  • 应用程序诊断:可以捕获 Web 应用程序产生的信息。

要了解详细信息,请参阅如何在 Windows Azure 网站上启用诊断日志记录

  • 启用监控

WAWS 支持通过 Monitor 管理页面进行功能监控。可以设置各种指标的警报(如 CPU 时间、HTTP 客户端错误、HTTP 服务器错误等)以持续监控您的网站。要了解详细信息,请参阅如何监控 Windows Azure 网站

  • 安全性

WAWS 平台遵守安全性和可靠性的主要行业标准,以便为您的客户提供一个安全的平台。但是,如果您的应用程序出现安全漏洞,您的架构就可能容易受到攻击。

要在 WAWS 上构建一个安全解决方案,您在构建可以抵御攻击的应用程序时必须遵循安全编码实践。要了解详细信息,请参阅如何编写安全代码

 进一步阅读

Windows Azure 网站教程

Windows Azure Traffic Manager

Windows Azure 文档

如何使用 Web Deploy API

Windows Azure 安全性与合规性概述

 

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2014/02/10/best-practices-windows-azure-websites-waws.aspx

Comments (1)

  1. haoren says:

    请问,自动伸缩机制是否支持网站的本地文件更新?

    如果我的一个网站更改了本地的某个文件,或多用户可能分别更新了不同实例中的相同文件,结果会怎么样?( 多实例的状态下,我试过好像没有什么问题)

    如果数据是基于服务器本地文件的变更而不是SQLSQERVER数据库的情况下,有什么需要注意的吗?

Skip to main content