【eNet硅谷动力专稿】使用虚拟化
服务器可以大大较少企业所需要的套装软件的数量,并且还能节省复制服务器的成本。现在,企业花在虚拟服务器上的经费要占到企业总的IT预算的80%。那么,既然虚拟技术有这么多的好处,如果我们能够将它运用到运行企业业务的核心应用软件上,以及这些软件的开发、支持和维护上,将会带来什么结果呢?现在,业界一流的企业主要依赖于混合的分布式技术和新功能,例如面向服务的架构(SOA)。虚拟化技术可以提高这些应用的质量并缩短投入运行需要的时间。但如何才能使团队虚拟化以提高应用的质量并缩短投入运行需要的时间,并且这些不一定处于集中团队的控制之中?通过虚拟化共享服务的功能,扩展组织必须将这两个战略衔接起来,从而成倍增加SOA的价值。
三种类型的SOA虚拟化
有三种截然不同的方式,可以使企业运用SOA虚拟化的概念:
1.硬件虚拟化
硬件虚拟化包括在一台物理硬件设备上运行多个操作系统的副本,即该物理设备被作为一台虚拟机使用。这带来了很大的好处,比如,在数据中心运行内部应用程序,硬件虚拟化可以极大的提高灵活性和并降低风险管理的复杂性,同时为SOA系统的测试提供了一种简单的方法。
2. 终端虚拟化
终端虚拟化使得SOA可以为需要调用的服务确定虚拟位置,但实际上你可以不必呆在服务运行的终端上,远程遥控就可以了。这对于SOA应用固有的动态过程是很理想的,因为服务的物理地址(或URL )可能需要改变,这取决于何时以及如何作为特定工作流程的一部分使用。
3.服务虚拟化
服务虚拟化不只是对于SOA测试是有用的。它还可以简化SOA的开发和部署。
这篇文章着重于阐述第三种类型的虚拟化---服务虚拟化,而这种虚拟化住用用于数据中心以外。对于SOA应用的生命周期其余部分,我们进行的有关虚拟化试验也仅限于此了。企业通常依靠实际的实施来验证和开发SOA,但是,这些复杂并且相互关联不能够利用硬件虚拟化技术进行复制。我们应该将虚拟化技术扩展到运行于这些环境上的实际的分布式软件组件和服务上。
挑战:如果SOA不能虚拟化,那么它就是不灵活的
硬件和数据中心级别的虚拟技术几乎马上就能看到回报---营运成本的大大节省,有可能使得一个企业的IT臣本瞬间就降低几百万美元。
然而,当我们跨多个团队分配组件开发或服务开发任务时,我们经常忘记这些团队还需要访问其余应用的在线版本,以便于完成自己的开发和测试目标。这些团队之间仍然有很高的依赖性和关联关系,所有这些团队提供完成工作流程。对于更大规模的企业级系统,这对于SOA的投资回报率是一个极大的限制。
使用面向服务的虚拟化技术,也就是SOV,可以将这两种技术关联起来:模拟已部署软件行为的策略,以及综合建设企业SOA应用尚未存在的部分。如果不利用面向服务的虚拟化技术,即便是可能的话,在更大的企业级范围内实现SOA价值的最大化是比较困难的。