先知先觉:无论你是自雇咨询师还是企业内部系统的云开发者,你的客户或雇主都希望有Windows Azure专业人士能够在开发、部署以及规模化甚至整个应用程序生命周期中实施最佳实践。

虽然Windows Azure源于Windows平台即云服务(WpaaCS),但是通过把它们部署至微软的云环境而实现传统。NET应用程序的规模化并不仅仅是简单地上传和运行它们的可执行文件而已。开发者必须预先估计到从传统企业LAN上运行的客户端/服务器模式迁移至由互联网、网络应用程序以及云计算数据存储所连接的移动设备和PC所需的架构和代码的修改。

这里有五个最佳实践以及微软公司自己资源的链接,可供在开发运行在Windows Azure上可靠、安全和高效的应用程序时使用,Windows Azure可按云计算和混合IT进行配置:

1. 提供系统弹性。将应用程序分解为冗余微服务单元的协作集合,其中每一个单元都可以提供最简单的特性和功能,从而实现将不可避免的服务停用的影响降至最低。对于那些对业务流程不重要的功能,可实现相关工作区的自动化。

2. 在灾难事件中确保应用程序的可用性和数据的耐用性。无论灾害事件是自然的还是人为的,我们都应通过跨多个地理上相距遥远的数据中心的地理复制微服务及他们的数据源来为它们准备IT环境。Windows Azure能够在同一区域中两个数据中心位置之间实现 blob和表数据的复制,而无需任何额外的成本支出。具体例子包括美国中北部和中南部,北欧和西欧,或者东亚和东南亚。

3. 针对基于云计算的应用程序采用优化的编码实践。为确保使用最佳实践,可使用最新的Windows Azure训练套件(WATK),微软公司的WATK可帮助开发者提高用户使用体验(UX),并针对基于云计算的应用程序开发遵循最佳实践。打开Visual Studio中实际训练实验室的源代码,并将示例部署在你的Windows Azure开发实例中。然后,运行云计算应用程序以评估用户使用体验——尤其是使用移动设备。2013年八月发布的那一版WATK包括了在Windows Azure网站上自动扩展应用程序的新实验室、创建Windows Azure移动服务以及使用Active Directory进行身份验证等功能。

4. 确保你的Windows Azure应用程序与数据的安全性。如Windows Azure授权中心的合规性文档中所述,管理者将需要验证Windows Azure是否符合行业标准——如ISO/IEC 27001:2005 审核和认证、SOC 1 和 SOC 2 SSAE 16/ISAE 3402证书,以及云计算安全联盟的云计算控制矩阵。信任中心的Windows Azure HIPAA实施指南还介绍了应如何遵守HIPAA和HITECH 条例以确保个人健康信息(PHI)免于出现数据泄漏事件。一个用于在Windows Azure中存储和/或处理PHI的HIPAA商业伙伴协议(BAA)要求客户拥有一个批量许可/企业协议或(EA)或 Windows Azure的only EA enrollment方案和微软协议。Windows Azure 的EA定价和条款将变得相当简便,对于计划外资源使用增长的企业折扣和拖欠支付将于11月1日生效。

图1 2012年6月1日推出的Windows Azure Storage Explorer v5预览版提供了一个新的图形用户界面并支持日志和监控功能,这是一个可从CodePle网站下载的免费软件。

5. 充分使用免费存储和服务管理工具。这些工具有助于客户减少或消除编写。NET代码以实现在Windows Azure blob存储中增加、移动和删除内容等功能的需要,并可让你检查服务总线队列中的消息状态而无需创建一个专用的应用程序。这些工具可从CodePlex获得,具体包括Windows Azure Blob传输工具、Windows Azure SQL数据库和存储备份工具、Windows Azure存储资源管理器(参见图1)以及最近更新用于Windows Azure 和Windows服务器的服务总线资源管理器(参见图2)。

图2 2013年9月Paolo Salvatori发布的服务总线资源管理器2.1版支持服务总线1.1版,可实现Windows服务器和通知中心,并显示QueueDescription、TopicDescription以及 SubscriptionDescription 等对象的MessageCountDetails 属性(上文所强调)。

虽然开发者应遵循这里所列出的最佳实践,但是当在Windows Azure云计算中进行开发工作时在手边保有如下这些源于微软模式和实践团队的书籍用于开发参考将是非常有帮助的:

将应用程序迁往云计算,第三版

开发多租户的云计算应用程序,第三版

基于Windows Azure构建云计算混合应用程序