2012年12月4日到6日,微软TechEd China 2012大会在北京国家体育馆和北京九华国际会展中心举办。
http://technet.microsoft.com/zh-cn/teched2012
本次大会提供的动手实验室(HOL)自12月5日上午10点10分开放,到12月6日下午4点40分结束,共有1100多名IT专业人士和开发者参加,根据大会现场系统监控和学员反馈结果来看,动手实验室取得圆满成功。
动手实验主要采用虚拟机方式进行,每个实验虚拟机规模从50G到200G左右。根据最终统计结果,平均每个实验环境的虚拟机在运行的时候需要占用6.4G内存,其中比较大、比较复杂的实验,例如进行SQL Server AlwaysOn高可用性实验、System Center Hyper-V私有云等,需要同时启用多个虚机,而需要占用的内存多达10~20G。
而在每个时间段(1小时),则有最多120名学员同时进行动手实验,其中每30名学员进行同一套实验。1小时后,将有另一批学员进入该实验室,进行另外一套实验。
如何让HOL参加者有更好的体验和满意度?这是在HOL策划早期就摆在我们面前的首要问题,而这也将是HOL的终极目标。
本次HOL为每个实验者提供了双屏幕,一个提供实验环境,一个提供实验手册,便于大家学习和动手。为了更好地体验Windows 8的触摸优先的设计,实验室还提供了触摸屏供实验者来体验。
但如果不能提供各种实验环境,让大家体验这些产品和服务的美妙新特性;或者系统运行速度慢,操作不流畅;甚至系统中断等,都将根本性地降低满意度,导致差的动手实验体验。
首要问题就是:如何实现HOL的高性能、高可用性,支持大规模并发,支持多种复杂实验环境的高效产生、提供和管理?同时,所有这些都要在非常有限的预算、非常紧张的时间表的约束条件下完成!
最终,HOL团队选择了私有云的技术方案,共15台服务器、1台光纤交换机、包含双控制器的存储提供了私有云的后台基础设施。
一朵Windows Server 2012 Data Center私有云为TechEd China 2012而孕育、升腾。
如何更好地做好私有云架构的规划,在TechNet上有一个系列的文章值得学习:私有云的参考架构,具体网址见:
http://social.technet.microsoft.com/wiki/contents/articles/3819.reference-architecture-for-private-cloud.aspx#Planning_and_Design_Guides
特别是对于投入长期业务运营的私有云,在早期应该进行全面的规划,包括:
· IaaS规划
· 服务交付规划
· 运营规划
· 系统管理规划
· 安全性规划(设计整体架构的各个方面)
如何基于上述参考架构进行规划,在具体实践中,有很多细节需要注意。例如,在服务交付环节,如何确保学员登录后,就可以直接进入虚拟机提供的实验环境,而不是等待虚拟机的Provision;同时,如何定时、自动进行下一时间段的虚拟机的provision,避免下一时间段出现等待的现象。特别重要的是,需要进行科学的负载平衡,确保私有云的容量能够有效支持服务的需求,保证服务质量,等等。这些环节、细节都值得进一步的分析和总结。
从本次TechEd大会HOL在私有云架构实践的最终结果来看,尽早规划、科学规划,确保了HOL的最佳体验和满意度,决定了最终的成败。
Windows Azure Mobile Services增强对iOS 应用的推送提醒服务(Push Notifications)
所谓“云”加“端”应用,特别是移动应用,在云这一面,关键问题有三个:
· 数据:端的存储容量相对比较小,同时不便于持久化保持状态;特别是海量数据、大数据(Big Data),必须存储在云上,这也是为什么“云”加“端”模式,对于移动应用更有吸引力、更具潜力。
· 推送:将云服务、消息、数据推送到端,特别是移动设备,这个是“云”、“端”之间通讯的关键部分。相比较双方数据同步,推送对于业务处理、及时响应等具有更明显的业务意义。
· 安全性:确保数据安全,确保数据在业务权限范围内被合法访问、合法处理,确保合法用户接收到云服务、提醒、数据等。
对于iOS 开发者,一个好消息就是Windows Azure Mobile Services增强了对iOS端的推送提醒服务(Push Notifications),特别是Apple Push Notifications Service (APNS),这是一个和Windows Push Notification service (WNS,针对Windows 8)、Microsoft Push Notification Service (MPNS, 针对Windows Phone 8)类似的服务。
具体介绍可见:https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-ios/
针对WNS、MPNS,可访问:
Windows Store C#: https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-dotnet/
Windows Store JavaScript: https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-js/
Windows Phone 8: https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-wp8/
也可以参考之前的总结《基于Windows Azure Mobile Service,实现云连接(Connected)的Windows 8 Metro应用》:
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/09/29/windows-azure-mobile-service-connected-windows-8-metro.aspx
在具体使用的时候,可以根据业务需要,在自己创建的Mobile Service的数据上,增加对数据Insert、Update、Delete、Read等操作的脚本,如下图所示:
因为是脚本语言,当脚本存在某些小错误而解释器尚未发现的时候,可能会遇到端应用无法正确执行完成服务脚本的情况,需要进一步调试来排查。
圣诞节前,Windows Azure Training Kit又发布了最新的十二月版:
http://www.microsoft.com/en-us/download/details.aspx?id=8396
相比之前的版本,本次最大的亮点当属Windows Azure Mobile Services,特别是Scheduled Scripts。
细心的话,会发现这个差别。下图是十一月版,这也是我和李洪根老师在今年TechEd China 2012的Session《基于Windows Azure, 开发Windows 8及移动应用》上和大家分享的,注意红色框部分:
而在十二月版本,这个部分已经被Scheduler替换掉了:
Scheduler支持以执行脚本方式,按照预先定义的时间(每分/小时/天/月,或按需)执行任务。
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/12/24/3542447.aspx
另外,值得一试的是在今年BUILD大会上展示的Demo,包括如何灵活运行WebSites、Mobile Service、Media Services、Caching,如何有效建立Windows 8和Windows Azure云服务的通讯,如何有效集成Facebook或者Twitter等第三方身份验证方式,等等。
移动服务(Windows Azure Mobile Services)又增新的特性
最近,Windows Azure Mobile Services又增加了一些新的增强特性:
· 预安排脚本(Scheduled Scripts):提前设置或者按需执行的服务器脚本
· 命令行支持(Command-line support):使用Windows Azure的命令行工具,便于创建和管理移动服务
· 在美国东部、美国西部区域之外的欧洲北部数据中心提供移动服务
其中,最让人兴奋的就是预安排脚本(Scheduled Scripts),这个特性可以让一些应用场景的实现变得更加便捷、更加强大:
· 数据聚合:从RSS Feeds、外部Web Services等获取数据进行聚合
· 执行后台操作,例如复杂计算、非同步处理(例如发送邮件)、后台图像预处理(压缩、改变尺寸等)
· 按照设定的时间发送通知提醒,例如圣诞夜(今天就是哦)、新年、促销时段等