SOA 和云:2012 将存储什么?

  • Jeevak Kasarkod
  • 杨晨

2012 年 1 月 10 日

话题:SOA云计算DevOps大数据语言 & 开发架构AI

不出所料,独立分析师和专家又开始分享他们对新年的预言。这次,我们来看看一些关于 2012 年 SOA 和云空间的预测意见。不过,这些预言并不是无稽之谈,移动应用和开放 API 快速改变着海量数据处理和消费导向的 IT 界,这种现象便是这类预言的论证基础。Joe McKendrickSOA 宣言的作者之一,就和我们分享了他认为2012 年在工业界,SOA 将会出现和值得关注的七种趋势

1. SOA 和云将会为海量数据分析应用的部署打下坚实基础:SOA、云和社交媒体正在将商务智能转变成“协同智能”。但是,要达到这个目标,必须要以面向服务的方式来管理海量数据应用 - 例如可以采用数据虚拟化这样的策略。

2. 计算能力将会“便宜到忽略价格”:感谢 SOA 和云,大规模数据中心的计算能力将便宜到以分来计价:思科最新发布的全球云指数报告指出,企业的数据中心将会变为云的形式。并且,有的时候这些企业将会兼云提供商和销售商于一体。

3. 更多的商业用户将会构建他们自己的应用,而且会涉及更多的 IT 人员:关于人才断层、IT 和商务人士的缺乏合作之类的讨论随处可见。但是现在,很多商务用户都是在谈论自己的新方案,如何将自己的技术发展成熟壮大,并用于处理自己的商务问题。另一方面,IT 人士开始对商务有了更深的理解。这两种相互关联的趋势在数年前就可以看到,接下来的 2012 将是趋势最终转换为成果的一年。

4. 云和 SOA 将使 IT 管理人员和执行人员面临重要机遇:CA Technologies 访问过 685 位 CIO,调查结果表明,54% 的 CIO 相信云计算将能够帮助他们将更多时间关注于商务策略和创新上。而且此项调查也发现采用了云计算的 CIO 要比没有采用的同僚们更好地推动着公司的进步。

5. 软件提供者和消费者之间的界线将会越来越模糊,更多的非 IT 公司将会成为软件提供者:Gartner相信IT 公司所完成的功能最终将会被归纳为商务的一部分。但是,这并不是说 IT 将会逐渐解体,而是说整个企业界将会 IT 化。非 IT 公司和软件公司的界线将会越来越模糊,你甚至不能找出二者的区别。

6. 云肯定将继续影响外包模型:高度模块化的外包服务将会出现,因为云服务和组件的不断规范化以及“热交换能力”将对外包服务的模块化提出更高的要求。

7. “SOA”和“云”将会逐渐地演变成同义词 - 我们现在就正在做这件事情:我们貌似已经找到了诀窍,将所有的东西都以面向服务的形式部署。而且云现在正被认为是应用和服务的投放平台,带给我们比以前更加强烈的感觉。不过,讽刺的是,看起来它也会逐渐让人感到厌烦。就像过去两年中发生在 SOA 身上的那样。希望今年这些销售商能够认识到这点,更换一下新的广告词。

Joe 用短短几句话总结了面向服务过程是如何主导商业行为的:

我们肯定会将业务转换成面向服务的形式。不仅如此,这些服务将会和数据源绑定的越来越牢固 - 可以是基于 SOAP 的服务,也可以是基于 REST 的服务,或者直接来自于云。我们正逐渐地接近 SOA 的核心本质:部署松耦合的服务来完成完整的业务流程。

这也在某种程度上解释了 API 数量的爆发,Apigee 的Dr. Ananth Jhingran预测:在 2012 年,API 的规模将会持续增长并且呈现出一些特别的趋势

1. 企业级 API 将会成为主流:我看到大量关于 Facebook、Twitter 和其他公用 API 的讨论。这些 API 的兴起实际上意味着一场革命。也就是说,企业本身,无论规模大小,都将会被抽象成为一组 API - 通过自身的后端系统。这将是后端系统的巨大机遇,而且,将来的后端系统的服务对象将不会仅仅局限于企业本身的应用,而且还将服务于合作者和独立开发者的应用。

2. API 中心的架构将会和门户中心或者 SOA 中心的架构完全不同:网站(门户)是聚合用户。SOA 是聚合应用。传统的网站和 SOA 架构关注使用“内部”API 来和后端系统交互,而全新的 API 架构则将精力放在开发者和应用的整合,而不是用户(来自门户)或者流程(来自 SOA)。

3. 数据中心 API 将会快速普及:SiriWolframAlpha是数据中心 API 的绝好例子。企业首先要做的便是将自己的数据 API 化。尽管 REST 化数据不易,而且关于如何最佳 REST 化,还有各种不同流派的指导思想存在,但是,我可以看到,这股趋势不可阻挡,一些事实标准和传统做法的结合将会成为业界标准并且普及,例如开放数据协议(OData)。我不认为语义网络或者资源描述框架将会成为主流,因为这两者的采纳和使用均不容易。

4. 很多企业将会实现 API 并且用于数据分析:企业之间在技术上的一个广泛共识是首先将资源花费在业务自动化上,其次才会考虑业务优化。现在的情况便是企业将 API 的重心放在业务自动化上,但是,随着 API 处理越来越多的流量,对 API 进行分析能够更好地审视企业的表现,进而可以让技术和业务优化受益。如果最终目标是业务优化,而且能够保持这种趋势,很容易得出一个合理的结论:API 是业务优化的一种重要手段。

5. API 将会为移动开发者优化:在 2012,许多 API 提供商将会认识到他们需要完成如下的工作:

  • 能够让开发者定义 API 返回的内容和数据大小。
  • 根据开发者的环境返回正确的格式 - iOS 的话应该返回plist,HTML5/JavaScript 的话应该返回JSONP
6. OAuth 2.0 将会成为默认的安全模型:OAuth 2.0将使得终端用户能够更加容易地使用新颖的应用程序,因为用户可以彻底检查这些应用程序。如果用户并不喜欢或者不信任某个应用,用户可以终止这个应用程序对他们账号的访问。2012 年,在用户通过应用和服务交互的时候,安全将会是 API 的默认开启选项。

商务策略师和企业架构师Dion Hinchcliffe也赞成 Dr. Ananth 关于 API 在 2012 年发展趋势的观点,他认为,在 2012,API 将会达到一个新的高度,以下五个方面可以证明这个观点

1. API 的软因素将会和技术因素同样重要:我之前已经阐述过技术对于打造一个成功的开放式 API 的重要性,但是,涉及到 API 的选择、理解以及长期成功,那关键就在于围绕这个 API 所打造的架构了。而且,雇佣一名社区经理也是一个很重要的因素,他必须要有足够技术经验,能够倾听并且帮助开发者看到 API 的潜质。

2. 简单至上:复杂是 API 的大敌。当大量的服务通过 API 运行业务流程的时候,如何保证良好的客户体验将是非常重要(客户在这里包括了开发者和合作伙伴)。

3. API 始于微末,用于内部,然后才会逐渐完善功能,并且对外开放:API 将为 SOA 服务,而且很多 API 服务提供的特性使得 API 不得不成为私有或者半私有。

4. API 即产品:现在 API 所提供的服务恰好能够等于某些公司整个机构能够提供的服务。但是,另外一个问题是,当前 API 的用户体验只是关注于和客户的网络交互,当 API 牵涉到多个业务时候,用户体验并没有得到足够多的重视。

5. 每个人在使用 API 都会有一些独到的的经验,分享它们将会促进工业界知识库的成熟:eBay API 主管工程师 Subbu Allamaraju 就撰写了一篇博文,分享了在面对自身产品和第三方开发者的时候,他们在改善 API 的伸缩性和效率上所积累的经验。这是 API 社区经验分享的一个绝佳例子。

这些增长趋势将会孕育在什么样的平台中呢?Forrester 的首席分析师Holger Kisker认为2012 年将会是云走向成熟的一年,如下可证:

1. 跨云将会成为一种标准。

2. 漫无目的的云采购将会终结3. 云将会越来越舒适便捷4. 协作将会使云计算受益匪浅。5. 我们将会看到在 PLM、BI 和 SCM 中 SaaS 解决方案的下一波浪潮。6. 云市场将会超过 600 亿美元7. 私有云将会不仅仅局限于虚拟化8. 云经纪商将会出现9. 大型企业将会领导云市场10. 云和本地软件授权模型的界线越来越模糊。

但是,云的使用策略越来越模糊,这非常危险。Zapthink 总裁Jason Bloomberg 关于GIGO 原则有一番精彩的论述,GIGO 原则将会是 2012 年架构和治理的基础。

“Garbage In,Garbage Out”(GIGO)这个原则已经存在了相当长时间,比数字计算提早出现了近一个世纪,而且对于信息科技是如此的基础。虽然现在我们已经是 21 世纪,正在 朝云计算转换,若是 Babbage 先生泉下有知,那么他对于现在某些情况也会一样的愤怒,虽然已经数百年过去,人们仍然没有牢牢记住这个重要原则。现在的 云并不仅仅像是磁铁,吸引着各种垃圾,而且它自身还迅速产生了大量的垃圾。我们应该停下脚步,仔细考虑一下匆忙迁移至云的后果。

  • 数据质量低下 - 如果当前数据并不纯净,也就是说,如果你手头上的数据是一些不一致的客户地理信息,或者过时的产品信息,或者其他的质量问题,那么迁移到云不会给数据或者业务带来任何好处。
  • 面条式代码(Spaghetti Code) - 你要仔细审视是否要将代码陈旧的应用首先部署到云上。它太慢了,而且伸缩性也很差,而且也庞大到现在是不太可能整合了,那么云能不能让它运行快些,伸缩性好些,而且更容易整合呢?显然不会是这样。如果你现在关注 laaS 方法,那么你会发现在云上,这种代码也和在本地一样难以管理。那么 PaaS 呢?那这些代码甚至不可能工作,要知道今日的 PaaS 环境已经对代码的质量有了一定的要求。
  • 陈旧或者云不友好的业务模型 - 业务需要 IT 部门能够自动化一些流程,但是并不等于说“流程本身就足够好了”,其潜台词也包含了希望 IT 部门能够将流程做得更好,更快,更加流水线化,而且要能够兼容当前的基本业务需求。

垃圾不仅仅只是指你可能放在云上的那些代码,云本身也非常有可能产生大量的新型垃圾。

  • 僵尸实例 - 大量创建云实例是如此的简单和便宜,只需要足够的虚拟机,存储实例等等。而且,这类实例都是非常弹性的:需要更多?没问题,云很乐意效劳。云提供商也很乐意看到你创建这些僵尸实例并且为此付费。
  • 未治理的数据 - 你知道你现在使用的数据是否是最新的版本吗?你知道这些数据还没有被治理过吗?如果没有的话,那么这些数据比毫无用处更加可怕,因为它们可能是错误的,甚至保存这些数据可能触犯了某些法律法规。
  • 手动或者拙劣的配置 - 如果你需要更多资源,那么就提供更多资源,不要节省。但是有一些管理员会打开你某个实例的配置文件,然后修改以使得另外一个应用可以运行在这个实例上。那么你就不得不中断你的应用来更新所有实例,更有甚者,如果管理员没有告知任何人这个修改,问题跟踪将会非常耗时。
  • 选择非云友好的架构 - 云计算对应用的架构提出了特殊的要求,如果要将错误的架构硬塞进云的话,那么就好像灰姑娘的姐姐硬要穿上水晶鞋一样徒劳无功。

界线的逐渐模糊,数据爆炸,各种设备的出现和商品化,这些看起来都像是在 2012 年将会有一场巨大的变革,但是宏观经济又会是如何表现呢,是否会对此变革产生巨大影响呢?让我们拭目以待。愿所有的 InfoQ 读者在 2012 年身体安康,合家欢乐,吉祥如意。

查看英文原文:SOA and Cloud: What is in store for 2012?

SOA云计算DevOps大数据语言 & 开发架构AI