探索中国CIO人才现状 | 第四季调研报告
什么是服务虚拟化?
2013-03-26  作者:企业网 

  最近关于“服务虚拟化”的讨论很多,然而仅这一术语估计就能让你头晕目眩了。我们谈论的是服务器虚拟化吗?服务虚拟化包括哪些服务呢?虚拟化跟测试有什么关系呢?我将快速解除你可能存在的疑惑。服务虚拟化是用来模拟某个应用程序各组成部分的运转情况,这样一来你就可以在错综复杂、相互联系的应用程序中进行精确而及时的检测。


  有些还无法用于一体化检测的生产服务可以被虚拟化,这样就可以在软件研发过程中适时地进行检测。


  专业技术人员总是需要检测编码跟当前的编写方法是否兼容。然而组合编码已经跟之前的大不相同,所以用传统的测试方法根本就无法在恰当的时间以恰当的价格完成测试任务。生产服务作为一种独立的模组与软件应用程序合并正成为一个快速发展的商业市场。第三方服务例如PayPal或者信用调查服务越来越多地被用于使用应用程序的客户身上。


  使用这些第三方的服务能够提高软件开发的效率,但是同时这也让你的应用程序依赖于一些你无法控制的服务。不妨设想这样一种情况:一个网上零售商有多个供应商,但是他已经为客户开发了一个新的移动应用程。这个新的应用程序使用的是一个第三方供应商提供的信用调查服务。如果没有这个服务,你就无法进行检测,但是这个服务暂时还不能检测。如果不进行服务虚拟化,那么软件开发人员就很难在这些应用程序跟服务之间做出抉择,两者无法兼得。如果软件开发人员选择不进行必要的检测的话,那么就会有出错的风险,之后再解决的话就会更加麻烦更加费钱。如果软件开发人员一直等到第三方服务能够进行检测时再继续研发工作,那么软件研发效率就会降低,他们可能就无法在规定时间内完成研发工作了。另外,即使第三方服务可以检测了,检测一个使用率很高的应用软件性能,其费用也会相当的高,因为第三方提供的服务每使用一次都是要收费的。


  那么在这种情况下研发人员该怎么办呢?服务虚拟化就是一种检测方法,能够帮助企业克服一些检测瓶颈,如无法在短时间内研发能够上市的更高性能的应用程序。你应该了解以下关于服务虚拟化的五个关键点。


  1.在开始服务虚拟化之前,你需要了解你的检测方法,并思考服务虚拟化可以在那些方面提高软件研发效率,同时研发出更高性能的软件。


  2.通过成本/盈利分析来选择需要被虚拟化的服务。需要把测试推迟的成本考虑进去,因为独立的服务或软件还无法用于测试。还要考虑建立和维护测试环境的需要的人力成本,维护没有被完全利用的测试环境的成本,在物理测试实验室环境中软件许可证的成本以及第三方服务使用费的成本。


  3.服务虚拟化能够帮助你发现所有检测阶段中的错误——包括组件检测、性能检测、兼容性检测、系统检测、系统兼容性检测、用户接受度检测以及操作性检测。


  4.记录一个已经存在的服务是明确你的虚拟化组件运转情况的一个非常好的方法。你可以利用记录过程来确定以后需要被模拟的性能,这样你就能够快速建立检测案例了。


  5.你不能指望把你所有的组件都虚拟化。因此,在检测的时候,你需要在真正的组件和虚拟化组件之间轻易地转换。你需要保持真实组件跟虚拟化组件之间的持续性。


  服务虚拟化对软件开发者最大的影响之一就是能够让应用程序研发过程中的有效兼容更加容易。软件开发人员能够跳过组件检测,并且能够解决一些阻碍研发过程的问题,以确保研发及时、高效并节省成本。