最佳实践: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 Studio
和
Apache Jmeter
等多种工具执行负载测试。
3.
使用 Web
分析工具(如
Google Analytics
或
WebTrends)确定流量模式和您的网站平均每秒收到的请求数。
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 网站 (WAWS)的更多相关文章
- 通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 随着身份盗窃和各种形式的网络犯罪迅速增多,使用安全套接字层 (SSL) 对网站进行保护变得越来越 ...
- Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Erez Benari 撰写. Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含(Server ...
- 在 Windows Azure 网站 (WAWS) 上对 Orchard CMS 使用 Azure 缓存
编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 如果您当前的 OrchardCMS 网站在 Windows Azure 网站 ...
- Windows Azure 网站 (WAWS) 和中间证书
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站上使用 SSL 已经司空见惯.虽然向网站上传和分配证书通常简 ...
- 获取证书以用于 Windows Azure 网站 (WAWS)
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows A ...
- 在 Windows Azure 网站中进行纵向扩展和横向扩展
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Byron Tardif 撰写. 当您开始一个新的 Web 项目,或者刚刚开始开发一般的网站和应用程序时,您可能希望从小处着手. ...
- 进一步探索:Windows Azure 网站中解锁的配置选项
编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站 (WAWS) 中管理网站时,许多选项可使用 Azu ...
- Windows Azure 网站自愈
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写. 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢 ...
- Windows Azure 网站开发Stacks支持
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Daria Grigoriu 和 Windows Azure 网站开发人员体验合作伙伴共同撰写. Windows Azure 网 ...
随机推荐
- WebService:The remote server returned an error: (400) Bad Request
开发工具:VS2010.开发组件:WebService.运行环境:Windows 今天一个同事在进行计费接口联调试时,发现了一个非常奇怪的问题:接口在家里环境测试,一切正常,但是部署到现网环境之后,连 ...
- Java通过JDBC链接数据库,数据库中wen
连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8
- iOS 证书那些事
关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做iOS开发的同学没少被折腾.对于一个iOS开发小白.半吊 ...
- mongodb数据库调试问题:‘db object already connecting, open cannot be called multiple times’
在微博小系统的调试过程中: (1)登入登出可以正常显示,就是在注册的时候网络连接突然停止,但是用户名和密码已经存入数据库中,报错为:undefined is not a function 错误主要指向 ...
- IISExpress实现外部访问
首先修改IISExpress配置文件 \IISExpress\config\applicationhost.config 在website中添加一个binding <binding protoc ...
- 类 BufferedReader
以前学习的时候也没有太在意,在项目中使用到了才发现呵呵 1.读取一个txt文件,方法很多种我使用了字符流来读取(为了方便) FileReader fr = new FileReader("f ...
- 面试题之 query转为obj
要注意处理编码后的字串 对于a=123要得到number形的值 function parseQueryString(url) { var obj = {}; var query = url.sear ...
- 个人收集资料整理-WinForm
[2016-03-23 20:29:56] 别人收集常用: http://www.cnblogs.com/babycool/p/3541192.html
- [android]Gradle: 执行失败的任务 ': processDebugManifest'
发现这一问题的解决方案: gradle 组装-信息确实给了我提示清单有不同版本的 SDK 并不能合并. 编辑我的清单和 build.gradle 文件和再工作的一切所需. 要弄清楚你需要编辑 uses ...
- Android利用Fiddler进行网络数据抓包,手机抓包工具汇总
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...