以公有云搞定“不合理”需求环境
2014-08-11邱燕娜
邱燕娜
栏目寄语:
为了强化云技术,落地云应用,彰显云价值,微软(中国)携手中国计算机报举办了“微软Cloud OS第二届云创益大赛”。本届大赛历时111天,共吸引了6647位个人组选手回答了70,078道题,59支参赛团队参赛,共计30多万次官网访问量,29,000多条官方微博互动。大赛为参赛者提供了一个了解、体验和应用微软“全云”的平台,同时也涌现出一批优秀的团队和作品。为了树立“全云”时代的标杆、表彰优秀参赛团队,本栏目将持续报道10支进入决赛圈的参赛团队及其优秀作品。
易维清借助微软Windows Azure公有云服务构建环境信息系统,可以根据计算需求租用资源,不但快速满足了看似不合理的复杂的环境信息系统的应用需求,还有效降低了成本。
“不合理”需求
作为我国环境信息系统之一,中国重点流域水文预测预报系统隶属于环保部的重点流域环境保护监管项目,是北京易维清信息技术股份有限公司(简称易维清)与北京大学环境学院共同完成。当前,水污染问题备受关注,只有清晰地划分排污权责,才能真正做到有据可依、有效管理,减少水污染。为此,自2012年起,环保部不断加大投资,持续推进中国重点流域水文预测预报系统的建设。
中国重点流域水文预测预报系统具有探索性、公益性、示范性等特征,系统的建设不但难度很大,而且面临很多限制。其建设难度主要体现在:
首先,环境领域很多科学研究工作具有前沿性,需求变动往往非常频繁。有时候在研究过程中,相关研究人员经常会推翻之前的所有做法,改变整体技术路线,导致需求发生颠覆性的变动。其次,环境信息系统的负载普遍波动很大,因为很多系统都涉及科学模型计算,而科学模型运算对磁盘、内存和CPU有极高的要求。而在运算完成之后,系统仅执行查询、报表输出等对负载要求不高的操作,负载马上会回落至较低水平。中国重点流域水文预测预报系统还有一些特殊的情况。如果系统只是用来预测每月或每日的平均流量,计算时间超过30分钟即可接受。但系统还肩负着应急处置辅助决策的任务。当出现环境突发事件的时候,需要在短时间内模拟计算大量情景给决策者提供真正的帮助。这给计算资源提出很高要求。另外,我国环境信息系统的投资通常是多年滚动进行的,不会一次释放,因此项目组需要严格控制成本,充分利用已有资源和已建成的大量系统,同时还要避免重复性劳动。投资不大,而对计算资源的需求却很高,需求还频繁变动,环境信息系统往往会提出这样看起来根本“不合理”的需求。
同时解决技术和成本问题
“用户的所有要求一定是合理的!”易维清的项目负责人李楠介绍,易维清希望改变传统的本地部署模式,而尝试采用公有云服务来满足中国重点流域水文预测预报系统运行的需求。为此,易维清项目组从系统的需求出发,比较了当前主流公有云服务,综合考虑开发效率、部署难度和价格等因素后选择了Windows Azure,其中包括Virtual Machines、Web Sites、SQL Azure、Virtual Network、ArcGIS Server 10.2 (地理信息服务平台)和Microsoft Visual Studio (编程开发平台)。
为了更好地了解采用公有云的优劣势,易维清的项目组采用一台服务器这种传统模式与WindowsAzure托管模式进行简单的成本效益分析。李楠告诉记者,在传统模式下,针对系统的需求,他们最起码要购置一台4核服务器进行托管。而在通常情况下,项目初期经费很难到位,项目组难免要先垫付资金。而采用WindowsAzure服务,他们不用再采购服务器等硬件,这可以大幅降低项目初期的开发成本,还可避免资金垫付。而且,借助WindowsAzure便捷的技术与服务选择、搭配和配置,项目组可以方便地按需租用资源,在大部分时间(99%的时间)内系统在单核模式下运行即可,而只有极少数时间(1%的时间),也就是说进行模型计算时,才需要租用8核服务器的资源。易维清选择WindowsAzure VM的伸缩技术,可以同时解决技术和成本两个棘手的问题,只有在有应急需求时他们才需要增加CPU数量,平时系统则一直运行在低负载状态。
采用WindowsAzure服务还可以从操作系统、SQL Server和日常运维等方面显著降低成本。分析结果表明,采用Windows Azure,首年的系统运行成本可以降低94%。李楠认为,从中长期来看,一方面要考虑到如果采用传统模式,每年有10%的折旧;另一方面要考虑到如果采用WindowsAzure服务,由于存储负载等需求的增长,费用每年增长约10%,以5年来计算,使用WindowsAzure可以节省近80%。
搭建混合云优化资源配置
基于数据安全的考虑,易维清采用的是混合云模式。易维清的做法是,将系统所涉及的所有数据保存在与公网隔离的内网中,模型运算所需原始数据经过处理后,通过ETL(数据抽取、转换和加载)导入公网数据库服务器。这套公网数据库服务器和ETL方案正是之前其他项目的成果。模型驯化与参数率定工作,则由工作站推送至天河一号超级计算机平台进行运算。
通过WindowsAzure的VPN功能将公网数据服务器引入WindowsAzure中组成混合云。通过转换,降低参数率定后模型的算法复杂度,将新的算法从天河一号超级计算机平台送入WindowsAzure中的模型运算虚拟机。使用Windows Azure虚拟机功能将用于模型计算的虚拟机和提供地理信息服务的ArcGIS Server部署在其中。使用Windows Azure Web Sites进行Web应用程序的部署,形成用户最终访问的网站。模型计算虚拟机和ArcGIS Server虚拟机为网站提供服务调用。用户通过网站进行数据的输入、计算参数的设置和多种方式的数据查询,模型计算和地理信息的处理都是由虚拟机在后台完成。采用SQL Azure和通过VPN引入的SQL Server满足数据库需求。值得一提的是,系统的核心功能是计算,而无需大文件存储功能,传统关系型数据库即可满足数据更新要求。
李楠介绍,易维清的项目团队还通过自主研发的系统开发中间件——易维清源代码生成软件形成了敏捷开发模式,以满足需求的频繁变动。项目组首先要在SQL management studio上搭建数据结构模型;然后在中间件中完成功能设计,一键生成整个Visual Studio解决方案的源代码;最后,通过Visual Studio进行二次开发,完成测试和部署。通过这种开发模式,项目团队可以较好地应对突如其来的需求变动,同时又与WindowsAzure紧密结合起来提高生产和测试的效率。endprint