最佳实践: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 网 ...
随机推荐
- 在VC中,为图片按钮添加一些功能提示(转)
在VC中,也常常为一些图片按钮添加一些功能提示.下面讲解实现过程:该功能的实现主要是用CToolTipCtrl类.该类在VC msdn中有详细说明.首先在对话框的头文件中加入初始化语句:public ...
- prime算法求最小生成树(畅通工程再续)
连着做了四道畅通工程的题,其实都是一个套路,转化为可以求最小生成树的形式求最小生成树即可 这道题需要注意: 1:因为满足路的长度在10到1000之间才能建路,所以不满足条件的路径长度可以初始化为无穷 ...
- BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )
先cdq分治, 然后要处理点对答案的贡献, 可以以询问点为中心分成4个区域, 然后去掉绝对值(4种情况讨论), 用BIT维护就行了. --------------------------------- ...
- 学习PS必须弄懂的专业术语
在学习PS的过程中,我们经常会遇到一些专业术语,下面我们来对一些常用的.比较难理解的术语进行简单讲解. 像素:像素是构成图像的最基本元素,它实际上是一个个独立的小方格,每个像素都能记录它所在的位置和颜 ...
- DSP的cache一般在何时会生效,防止在cache使用造成数据不一致
在使用DSP的cache使能所有的ddr操作时,发现如果只是写操作,根据cache的机制,如果没有在了L1级hit,则直接使用write buffer来完成写操作. 假如hit的话,那之前一定发生过读 ...
- Composer Yii2 不设置全局变量 归档安装 Win7
1.下载Composer_installer.phar https://getcomposer.org/composer.phar 重命名为 composer_installer.phar 将文件放 ...
- JavaScript 的 Promise
先看这个 http://www.html5rocks.com/zh/tutorials/es6/promises/#toc-api [JavaScript Promise 浏览器支持的Promise ...
- 阿里云ECS每天一件事D4:安装mysql5.5.40
Linux平台上MySQL也没什么好说的了,首先准备一下软件环境: yum install gcc gcc-c++ gcc-g77 autoconf automake make cmake bison ...
- 让.net程序自动运行在管理员权限下
原文:让.net程序自动运行在管理员权限下 如何让.net程序自动运行在管理员权限下 VS2010 c# 编译的WINFORM程序 在Win7 以管理员身份运行 windows 7和vista提高的系 ...
- Springmvc+Spring+Hibernate搭建方法及实例
Springmvc+Spring+Hibernate搭建方法及实例