为什么SOA应用容易移植到云端
CIO时代网 发表于:13年05月03日 12:46 [转载] CIO时代
云计算的出现不仅在地理上延伸了SOA的愿景,实际上还推动了所有的SOA朝着基于云的应用与资源关系的转变。SOA应用因而变成最容易移植到云端的应用。
尽管它是最容易移植,但移植并非自动完成的。本文研究SOA的基本要素、模块化以及资源类别,可帮助云应用架构师、开发者及开发运营经理简化基于SOA的云迁移工作。
在开发者渴望利用可重用组件创建软件,以及企业利用定制应用行为来优化员工生产力的双重推动下,SOA的概念已经发展了10多年了。
SOA基础设施包括四个基本元素:处理器服务器系统、存储操作系统及中间件、用户到应用的映射,以及负载均衡。显然,这些也是任何其他IT基础设施的四个构成的基础要素,不过SOA改变了企业应当将能力均衡地分配到这四个领域的方式,以便对可用性和性能进行优化同时控制成本的方式。这通常是靠SOA架构模型以及应用模块化和部署方式完成的。
开放计算项目为硬件设计提供了指南,可用作与商业设备进行比较的一般参考,不过这也许并不能为SOA搭建出最合适的平台。
SOA和“原子”应用最显著的区别在于模块化。好的SOA应用可划分为创建应用的功能性组件,这会对基础设施产生重要的影响:
—组件对特定的资源的使用率可能比整个应用更高。对数据库进行分析的SOA应用也可能会将分析和数据库功能拆为单独的组件,这两者一个是高度计算密集型的、一个是高度存储密集型的。这种拆分使得针对特定需求而建的硬件成本很低。
—除了应用与用户间的“垂直”流量以外,模块化应用增加了额外的组件之间的“水平”流量。这一流量模式的变化会影响到数据中心网络的设计,比方说,会促进交换式结构。
—组件可复制来提高整体工作能力,这需要有一组特定的工具,根据某些代价/性能策略组来分配任务给SOA组件群中的其中一个。这就导致了组件间负载均衡机制的引入。
—“靠近用户”的组件,这意味着组件跟用户的GUI相关,是可以与活动点在地理上接近、毗邻的。