SOA 与一体化软件

  • Arnon Rotem-Gal-Oz
  • 郭晓刚

2007 年 8 月 14 日

话题:SOADevOps架构

SOA 部署的一个重要趋势是虚拟化。虚拟化是增强服务的多用途能力和迁移能力的一大功臣。在虚拟化领域的另一个较新的趋势是一体化软件(Software Appliances),它可以被看作是部署领域的 SaaS。一体化软件给服务的打包部署提供了另一种可行的选项。

一体化软件的基本思路,是将软件从 OS 中隔离出来,将软件操作所需的支持功能(即 OS 的一部分)和软件一起打包。其中的想法是部署一个立即可运行的一体化软件的实例,而无需关心宿主 OS——即是说拿到一个映像文件,你就可以直接在一台空白机器、VMWare 或者安装好的 OS 上运行这个软件。一体化软件跟部署一个安装好所需软件的完整虚拟服务器相比,内存和资源的需求都比较少。另一个优势是,你无须担心为软件获取 OS 的认证、驱动程序不兼容等等问题。

比如两个月前 Layer 7 介绍了他们的服务防火墙一体化软件。最近的一个例子是rPath,这家为构建一体化软件提供开发平台的公司,本月初获得了SoftwareCEO 颁发的创新奖

rPath 的 CTO Erik Troan 在本周结束于 San Fransisco 的 Next Generation Data Center 会议上,作了一次构建一体化软件的教学讲座。来自 IBM 的 Gerrit Huizenga对此作了总结。Gerrit 注意到采用虚拟机存在几个问题。管理多个虚拟机几乎跟管理真实的服务器一样痛苦。额外的管理软件(即虚拟平台如 Xen、MS Virtual Server、VMWare ESX 和 VMWare Server 等等)仍然要依赖它们的宿主 OS,因而招致兼容性问题。

Gerrit 认为一体化软件可被看作是 SaaS 中的软件服务。他还说 Eric 相信一体化软件有助于增强 SaaS,因为你不必操心兼容性问题,而且在一台服务器硬件上放置多个一体化软件可以带来性能上的优势。他还引用了 Eric 提到的其他一些一体化软件的优势:

还有很多其他优势,比如一体化软件更容易测试(不管你在哪里安装它,它的环境总是一样的),更容易提供支持(环境是大家所熟悉的,所有的客户都是用同样的一体化组件),更容易配置(再说一次,所有的一体化组件都是相同的)。

Gerrit 认为一体化软件对小企业和大企业都很适合,对推广在数据中心运行的虚拟化平台也很有帮助。

在 LinuxWorld Expo 上(跟前面提到的 NGDC 会议是姊妹会议),VMWare 创始人之一,现担任首席科学家的Mendel Rosenblum 认为一体化软件可能会牵扯到 OS 厂商:

在被问到虚拟一体化模型是不是对 OS 厂商(主要是 Microsoft)的一个威胁时,Rosenblum 说,“如果让我站在他们的立场上看……我认为是的。”

说回 SOA——一体化软件能够提供容易部署的服务实例,降低整体的耦合程度,减少部署在同一台物理服务器上的多个服务之间的摩擦(兼容性、版本)。的确,一体化软件是你下次再设计服务部署的时候,应该尝试考虑的一个角度。

查看英文原文:SOA and Software Appliances
SOADevOps架构