来自文思海辉的高级副总裁吴凯这样说道:“在Microsoft Azure 平台上,通过使用VM Depot将我们硬件(CPU)大幅度提升使用效率至60%,并且在同时又把测试环境的准备周期降低至原先的1/3. Microsoft Azure与 VM Depot这一方案组合帮助了文思海辉迅速跟上云计算步伐,向来自世界各地的客户与商业伙伴提供服务。”
文思海辉技术有限公司(Pactera Technology International Ltd)是一家咨询与科技服务的提供商,这家公司拥有全球运营的能力,并且拥有严格的质量标准和高效的交付流程。从1995年创立以来,文思海辉一直致力于向全球客户提供世界领先的商业/IT咨询、解决方案和外包服务,并且在金融服务、电信、制造、高科技、生命科学、能源、旅游交通、零售与分销等领域中积累起了相当丰富的行业经验,主要客户包括众多财富500强企业同大中型中国企业。
文思信息技术有限公司和海辉软件(国际)集团公司分别是文思海辉的两个前身,这两家公司都是在中国出名的软件外包服务提供商。在2012年8月11日,文思信息与海辉软件宣布,两家公司合并成文思海辉技术有限公司,两家公司合并后的文思海辉,在人员规模上已经成为中国软件外包行业之最,在通过资源、业务的优势互补后,向商业客户提供了更加优质的服务。
文思海辉通过将战略总部设在中国,并在北美、亚太地区、欧洲设立地区总部,文思海辉为客户提供零障碍沟通的个性化定制与最佳经济收益完美结合的优质服务。通过位于美国、欧洲、澳大利亚、日本、新加坡、马来西亚和中国的交付中心,为客户提供企业应用服务、商业智能、应用开发与维护、移动解决方案、云计算、基础设施管理、软件开发与全球化、业务流程外包的一站式服务,满足客户对全球范围无缝交付和技术支持的需求,同时支持客户的业务发展战略,帮助客户赢得成功。
硬件成本与开源所带来的机遇与挑战
随着公司业务的不断拓展,有越来越多的项目需要及时的进行开发与交付,与此同时我们不得不面对越来越高的硬件成本及其维护费用。以一个中等规模的开发测试团队为例,整个团队在整个软件的开发测试周期里至少需要开发、测试、数据服务器、版本控制柜服务器和自动化构建服务器等。
由于这些机器在整个开发测试的过程中专属于某一个开发测试团队,所以这些硬件上的资源难免会出现闲置的情况。以CPU为例,大部分开发测试团队所使用服务器上的CPU资源利用率只有30%左右。再加上不同的团队分布在不同的地点,也为统一管理这些硬件带来了很大的困难。
同时随着互联网的发展,有越来越多的项目开始接触与使用各种各样的开源软件,这其中不单单有开发测试时所使用的工具,甚至整个项目都是构建在开源软件的解决方案上的。开源软件的灵活性带给客户更多选择且在某些情况下更为经济方便,但与此同时也存在一些问题众所周知,开源软件的文档与技术支持方面是远逊于商业化软件的,这就对整个软件开发测试过程中环境的准备与配置提出了挑战。也许在准备环境的过程中,我们遇到了原来没有预期的困难,而短时间内我们找不到十分完美的解决方案,为了解决这个问题我们可能会投入大量的精力与时间。
敏捷软件开发的理论被越来越的人所理解与采用,绝大多数团队在进行开发测试项目时或多或少都会采用一些敏捷开发的方法。敏捷开发的核心是持续集成与持续交付,这要求我们能够对客户方的需求变更做出反应,并且持续的交付有真正价值的软件给客户。这对整体上的测试环境提出了新的需求。以测试环境为例,假定我们的发布周期为每周一次,每次用来准备一个测试环境的时间是3小时,一个团队中至少有3个测试环境。那么一周中至少有9个小时会被我们用来准备测试环境,如果整个开发周期是八个月,按每个月4周进行计算,那么就会有288小时被浪费在重复的准备测试环境这项工作上。
方案与解决之道
不论是上面提到的硬件成本与维护费用的提升,还是开源软件与敏捷开发所带来的对开发测试环境的需求,都要求我们能够找到一个可行的解决方案来达到降低成本、持续集成和持续交付。伴随着Microsoft Azure进入中国市场,国内IT行业对云计算应用的热情日益高涨。作为业界前沿的科技服务供应商,我们决定基于Microsoft Azure与System Center平台构建混合云平台并迁移一部分开发测试环境。Microsoft Azure是一个开放的云计算平台,并非是Microsoft技术开发者专享。Microsoft Azure对于开源技术提供了完美的支持。本地基于开源技术的开发测试环境迁移到Microsoft Azure平台,并不意味着要放弃或更换原有的开发技术而全面转向Microsoft技术领域。
采用Microsoft Azure以及System Center构建混合云的开发测试环境后,硬件成本得到了明显的降低,同时硬件资源的闲置率和硬件资源统一管理也得到了一定程度的解决。
得益于Microsoft Azure对开源软件的大力支持,在Azure平台上我们可以通过微软开放技术有限公司(Microsoft Open Tech)发布的VM Depot服务迅速、轻松地搜寻需要的Linux虚拟机镜像。VM Depot上的Linux虚拟机镜像是为了快速启动Debian、Ubuntu、CentOS及其他发行版而创建和准备的,其中很多镜像实例已经含有诸多平台的服务器配置,比如Ruby on Rails、Django、PHP、Drupal、Word Press、Wiki和Apache Solr等平台。所有这些镜像都可以通过Microsoft提供的Windows、Linux或Mac OS命令行工具来部署。通过VM Depot服务自动生成的一个简单的命令脚本就可以在非常短的时间内新建并启动一台配置完全的Linux虚拟机。这对整个开发测试过程中测试环境以及部署软件带来极大的便利。
收益与体会
在对部分开发测试环境进行云迁移测试后:
1.大幅降低硬件采购与维护费用
在采用虚拟化技术的云平台之前,一个中型开发测试团队共需要开发测试机6台,各种服务器5台。迁移到云平台后,5台服务器采用虚拟化技术,同时3台测试机也可以适当的降低配置。采用虚拟化技术后,整体硬件的利用率也得到了很大的提升,比如CPU的使用率能够在60%左右。
2.产品的测试周期大幅缩短
在基于开源软件的开发测试环境中,测试环境的构建一直是一个比较浪费时间的环节。现在利用Microsoft Azure和VM Depot服务相结合,将一个Linux环境配置好时间缩短到了1小时以内。对比原来3小时环境准备,时间成本上降低了很多。以上文的举例来说,在持续8个月的开发测试活动周期里,环境准备时间共需要288小时,现在依靠Azure与VM Depot的帮助,可以压缩到96小时以内,并且还可以通过脚本自动化的方式进一步压缩整个环境的部署时间。通过测试环境部署时间的压缩,可以大幅缩短测试周期。
3.交付用户时的部署时间大幅缩短
如果用户同样使用Azure云平台,那么通过使用VM Depot服务可以在部署环境准备方面节省大量的时间。并且可以通过脚本化部署的方式将实时的改动同步到生产环境中,真正做到以最短的时间交付给客户最有用的软件。
4.镜像的重用率提升
由于开发组众多,各个开发组之间所使用的服务器类型有很多都是一样的,可以按照团队工作性质,创建通用的镜像文件上传到VM Depot。每次构建环境就可以重复使用,避免每次重新制作镜像的重复工作。
5.采用VM Depot节省了存储镜像的空间使用
Microsoft Azure上可以创建自己的镜像,方便以后环境构建,但是在Microsoft Azure上保存镜像会占用存储空间并产生相应的费用。利用VM Depot服务后,镜像的保存转移到了服务提供者,我们Azure账户就省去了存储空间的成本,并且不影响环境构建需求
通过将部分开发测试环境迁移到云端的实践,我们认为基于Microsoft Azure或者混合云构建一个开发测试环境是一种明智的选择。Microsoft Azure的IaaS服务对于构建开发测试环境来说提供了很好的扩展性,同时Microsoft Azure也不是Windows开发者专属,借助VM Depot等服务开源技术同样可以在Microsoft Azure平台上创造辉煌。