写点什么

书摘和访谈:《在企业中融合云计算和 SOA:循序渐进的指南》

2010 年 7 月 18 日

David Linthicum 的一本新书,《在企业中融合云计算和SOA:循序渐进指南》, 描述了如何让企业通过面向服务为进军云计算做好准备,包括周密地按面向服务的方式来建模企业数据,信息服务和处理,以便更容易地向提供或消费云计算服务转型。

本书是关于把企业服务和业务流程迁移到云的一个高层规范性指南。 David 以“为什么”要迁移到云上开始了他的讨论,接着他定义了云计算以及各种组成云解决方案的组件,如存储即服务、数据库即服务、信息即服务、应用程序即服务等,并检验了把这些服务迁移到云的商业驱动力。

在书中,David 建议使用自底向上的方式,从数据建模开始,接着讲述了由这些信息完成商业活动的服务,最后是把这些活动串联在一起流程。他主张对这些服务和流程的治理进行建模,并计划在云中测试这些过程。

Addison-Wesley / Prentice Hall 为 InfoQ 的读者提供了描述对云的数据和服务建模技术的书摘。本书摘包含书中以下章节的浓缩.

  • 第五章: 将数据移入云
  • 第六章: 将服务移入云

为了解这本书写作动机并且学习作者把面向服务的企业应用移植到云上的经验,InfoQ 采访了 David Linthicum 。

InfoQ:一年前的这个时候,有一篇文章在 SOA 社区掀起涟漪;特别是它提出的问题 ——“ SOA 已死?”。这个话题引发了关于 SOA 应用的大量讨论,它诠释并强调了一个成功的 SOA 如何才能实现。你都看到了哪些变化,从这些讨论中你得到了哪些经验教训?

DL:SOA 是一个让很多企业组织者头疼而复杂的分布式架构,这就是导致 Anne 提出那个说法(SOA 已死)的原因。请记住,那篇文章的题目是实际上是“SOA 已死……但服务永存” ,其观点是 SOA 太复杂而且难以实施,但是服务的使用,不论是在本地还是在云平台中,都将继续成为焦点。

SOA 并没有死,实际上,在涌现出来的云计算领域中,SOA 作为使用实施云计算的手段,比以前更加流行了,就像我在书里说的那样。我们得到的教训包括:不要一次性把整个企业搭进去;采用增量的方式实施 SOA。此外,简单地将各种技术(如企业服务总线 ESB、设计时治理以及其他只简单地提供零碎的解决方案的技术)扔进 SOA 项目的做法不是最佳实践,也不是解决方案本身。 最后,使用基于云计算的系统作为你的第一代 SOA,做好它,然后把这些模式渗透到你的内部架构中。

InfoQ: SOA 已死……但服务永存” 反映了人们在如何判定一个成功的 SOA 实施时缺乏共识,并且大家都认为工具提供商并没有真正把该讨论限制在工具无关范围内。这对企业采用 SOA 和接下来的云计算如果有影响的话,影响是什么呢?

DL:如我前面所说的,SOA 是一个架构模式。 因此如何实现这些模式是有各种不同的方式的。你的问题其实是,SOA 周围的问题是对于“SOA 是什么”缺乏共识。很多人让他们的系统支持服务,然后就称之为 SOA,他们以 JBOWS(仅仅一组服务)而告终。而且,SOA 技术提供商把这个问题弄得更玄乎,承诺整个世界而只交付适度的结果。他们应该做适度得承诺,然后交付适度的结果。

在我的书里,我把 SOA 看作架构的一个解决途径,一个利用云计算资源的更好的方式。主要概念是在架构上下文中考虑云计算。其他做法是将云计算作为一种战术或一次性的解决方案,现在大多数人就是这么干的。事实上,要想给企业带来真正的高效,你需要一个更宏大的规划,而使用云计算就是规划的一部分。

InfoQ:云平台本能地支持 Web,而且, 云计算领域内的大多数活动都是在使用了 Web 特性或属性的 RESTful 系统上进行。你如何看待诸如 WOA 等概念与 SOA 间的关系以及它们在云平台中扮演的角色?

DL:WOA 是一个把云计算作为架构来用而产生的一个概念,它通常来自 SaaS 以及其他交付自云的企业应用程序。实际上,这些模式大多在我的书中有所描述。 正如多数人理解的,SOA 加上云计算就是 WOA。

InfoQ:你的书是关于两个概念的融合,SOA 和云计算技术。SOA 在企业中享有信誉并被广泛采用,一方面是因为多年来实践的发展和在治理、工具等方面的能力与成熟。另一方面,Web/ 云就是通过混搭和社交网络,API 等方式进行即时的整合;该领域中的工具和平台的成熟度存在很大差异。您认为 SOA 如何衔接企业和云这两个概念呢?

SOA 从来就不只是一个企业范围的概念。随着 AWS(提供了很多传统数据中心能找到的能力)等主要的云计算玩家的出现,云计算远远超出了混搭和社会化网络的范围。SOA 和云计算利用资源的优势把架构扩展到防火墙之外。然而,Web 不断创新的本质将给云计算带来令人兴奋的机会,如混合和匹配非结构化 Web 数据,社交网络 API 等,Web 是个活跃的、生动的、快速革新的事物,新兴的云计算供应商将充分利用这些优势。

InfoQ:所有的云供应商都提供一定程度的治理功能。 在书里,当你提到云计算需要治理解决方案时你的意思是什么?你是想说在广泛设计时 / 运行时治理的庇护之下,云解决方案还需要不同级别的治理吗?

云计算包含一组服务,使用这些服务时的确需要一个深思熟虑的治理计划和技术,才能确保这些服务在某种集中控制的形势下使用或更改。所以我们需要服务的治理。

需要那种治理技术取决于具体的问题领域,你需要的治理级别也各不相同。比如,大多数使用云服务(比如 API)的系统都应该实现服务治理的计划,然后选择正确的服务治理技术,比如 (最近被Oracle 收购的)AmberPoint 和 Layer 7。这项技术使你能创建控制服务访问的策略。治理的计划和建模在书里都有所提及,如确定合适的治理技术的几个步骤。在云计算里,这通常意味着运行时治理很好地集成了安全性。

InfoQ:你在书中提到的治理的指导原则是要定义、设计和实现各种策略。现在云计算厂商们已经提供了一些策略及它们增强版。你认为企业应该如何定义创建各种域策略的治理战略呢?现在是否已经有解决方案 / 产品可供选择,以解决领域策略的工作?

DL:云供应商提供了一些治理,但通常只针对他们自己的服务。因此,你需要一组跨越云技术供应商和本地服务的技术。它们通常由运行时治理供应商提供,而且集中存在于某个位置,通常是预置的,它们为云交付的服务和本地服务执行策略。

我的建议是:

首先,创建治理模型,它定义了企业治理战略的。它需要对问题域中的所有服务进行编目,考虑如何使用这些服务,同时还需考虑安全。

第二,选择一个适合你的问题域的合适的运行时治理技术,我举过一些例子。 还是那句话,这是创建和加强服务策略的方法。

最后,你还需监控服务的治理,并在必要时作出调整。

进一步,我猜测云中将出现越来越多的服务治理的服务,也许由只提供治理服务的云厂商提供,或者以治理即服务(governance-as-a-service)的形式提供。

InfoQ:定义信息模型这一章谈得非常深入,它谈到了如何使用的数据优先的方式进行服务建模,从而得到信息模型。对于数据目录中的特定数据模型在不同系统中可能有多种表现形式,你如何处理这类问题呢?比如,CRM 系统的客户可能与 SCM 系统的客户完全不一样,如何统一并展现不同的“试图”,请给读者一些建议?

DL:很好的问题,这也是为什么在构建服务之前得到正确的数据模型如此重要,只有这样服务才能与各种服务表现很好地工作。而且,如果需要的话,我还推荐使用抽象数据服务层来重新映射数据模式,这样他们就能最好地展现出特定服务所需的数据视图。通过这些途径和技术,不论现在还是将来,你的数据模型将支持任意数量的服务。

InfoQ:就云技术解决方案中的各种组件(信息模型,服务模型,流程模型)的版本控制,你有何建议?

DL:信息、服务和流程都属于同一包含数据使用和服务治理技术在内的治理框架。作为治理模型和解决方案的一部分,将由版本追踪组件在特定的时间点保存跨实例的信息、服务和过程模型。通过需要深思熟虑的发布管理办法(它可与治理技术很好地整合),你就能跟踪架构发生的变化。

InfoQ:在你的书里你简要地谈到了将风险从企业移转移到云。尤其是供应商,他们总面临着遭受经济或自然的灾难的可能性。企业如何能保护他们的投资和降低向云移植的风险?比如,供应商由于帐务争议或其他原因关闭了服务,如 Google 从最近中国市场上撤离

DL:在使用云计算资源时,我建议你总是考虑最坏的情况并且采取合理的措施保护企业。你需要考虑:

可能的情况下,确保本地有最新的数据拷贝。当情况不对劲的时候,在找到另一云供应商或可用的解决方案之前,你至少可以得到业务正常运转所需的信息。

你要了解与你同一条船上的伙伴。审查云计算供应商。确保他们没有中断访问和断电的历史,并且有强大的经济保障。

决不使用由私有数据库和编程方法建设的云计算系统。如果它们倒闭的话,留给你的只是那些无处可用的代码和数据。

提前为这些事项作好计划,我告诉我的客户要为断电,供应商问题以及自然灾害等做好应急预案。这时需要做什么?你的应急 A,B,C 计划都是什么?

InfoQ:最后,是“云计算使用 SOA”还是"SOA 使用云计算"?为什么?

DL:是 SOA 使用云计算,SOA 是架构的指导原则。云计算只是一种架构选择,它主张利用位于防火墙之外的系统。 SOA 关注的是如何在整体上最有效地使用 IT 资源,以及支持架构敏捷可变性。云计算只是使用这些资源的一种方式而已。

查看英文原文 Book Excerpt and Interview: Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2010 年 7 月 18 日 22:221524
用户头像

发布了 42 篇内容, 共 14.0 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
  • 十年 SOA:当前的位置和未来的方向

    SOA 10岁了。在这次虚拟研讨会中,InfoQ聚集了几位经验丰富的企业架构师来分享他们的观点,他们是:Jeff Andre,Eric Ballou,Dave Hollander和William El Kaim。他们谈到了重用、业务/IT对齐、治理……

  • 传统的可扩展架构模式:分层架构和 SOA

    为了帮助你在实践中更好的进行可扩展架构设计,我将分别介绍几种可扩展架构模式,指出每种架构模式的关键点和优缺点。

    2018 年 7 月 12 日

  • 中台落地第四步:中台的建设与接入(Delivery)

    如何采用精益的产品研发流程交付一个中台产品?中台建设过程中如何持续治理?怎么做中台的运营管理?今天我们一起来探索。

    2019 年 9 月 25 日

  • 第 30 讲 | 区块链即服务 BaaS

    如果单纯地把区块链作为一种技术框架集成到云计算中,未免失去了区块链原有的魅力。

    2018 年 6 月 1 日

  • SOA 治理:企业视图

    SOA架构师Michael Poulin解释了SOA治理在确保SOA项目成功中的必要性,并解释了OASIS SOA参考模型以及SOA治理所对应的SOA参考架构。Michael从企业的视角观察了SOA治理的细节,并通过几个SOA治理策略的实例进行了阐释。

  • 聊聊 CMDB 的前世今生

    今天我主要来聊一聊CMDB的前世今生,帮助你更加深刻地理解这个运维的核心部件,对我们后面开展CMDB的建设大有裨益。

    2018 年 1 月 3 日

  • 持续性 IT 架构工作组成立

    SustainableITArchitecture.com是一个向最终用户、基础设施厂商和系统集成商开放的新工作组。这个工作组关注于定义一个信息系统再造方法,该方法基于面向服务架构和开放及公开的企业方法学。

  • 7 种微服务反模式

    在这篇文章里,Asurion首席架构师Vijay Algarasan讨论了他和他的同事如何在各种活动中遇到了微服务以及他们汲取的经验教训。这使他们构建出了一系列的反模式和一些相关模式。Vijay认为,这些内容适合所有的微服务实践者。

  • SOA 在新兴的 Hadoop 世界扮演的角色

    Joe McKendrick的新博客中总结了Hadoop能够显著简化企业SOA实施,这是构建在通用企业数据平台上的改进的数据访问服务实现的。

  • 创建面向服务企业(SOE)的模型驱动方法

    业务与IT看齐是一种主流的企业架构方法,现在,在IT作为核心业务实体的企业中,越来越多人将其视为不必要的管理消耗。Anirban Ray提出一种模型驱动方法,以其创建面向服务的企业(Service-Oriented Enterprise,SOE),其核心假设是:IT是业务的一部分,帮助企业提供以业务为核心的服务。

  • 微服务架构时代,运维体系建设为什么要以“应用”为核心?

    在微服务的架构模式下,我们的运维视角一定转到应用这个核心概念上来,一切要从应用的角度来分析和看待问题。

    2017 年 12 月 22 日

  • 书评:《应用 SOA》

    《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。

  • SOA 与不相干的焦油坑

    在这篇新的三步曲文章中,Neil Ford讨论了SOA实现背后的基本原理以及主流供应商是如何分散它们的。

  • 《SOA 治理最佳实践》用户调查

    这次调查的一个关键收获是:在很大程度上,SOA是真实的而且正在发生。91%的反馈者认为治理非常或较为重要。调查还对最流行的SOA标准进行了抽样调查。InfoQ对Software AG的VP和副CTOMiko Matsumura进行了采访,请他谈谈对这次调查反馈的看法。

  • ESB 是通向 SOA 的简单解决方案吗?

    在ebizQ 6月间发布的一个播客上,IBM的Lief Davidsen讨论了如何将ESB作为实施SOA的简单解决方案使用。围绕ESB和SOA之间关系的“应该还是不应该”之争一直以来以来都相当热闹,而且这个访谈也并非最终结论。

  • 文章:探求真正的 SOA

    在Alex Maclinovsky的这篇新文章里,他讲述了基于方面的SOA基础设施(Aspect-Based SOA infrastructure)的概念。他先讲述了为什么需要这样一种平台,然后通过几个例子来举例说明这种架构的优点。他还解释了为什么这个平台可以通过增添方面(aspects)即刻服从企业策略,从而直接支持大家想要的SOA治理(SOA governance)。<a href="http://www.infoq.com/cn/articles/quest-for-true-soa" target="_blank">直接点击阅读完整文章</a>。

  • SOA= 集成?

    SOA的存在已经有些年头了,但就“SOA到底是什么”这个问题而言,在SOA从业者中依旧未形成一个统一意见。最近在Gartner AADI峰会上由Yefim Natis发表的演讲引发了一场关于SOA/集成之间关系/区别的无尽争论。

  • 第 194 讲 | 刘俊强:2019 年云计算趋势对技术人员的影响

    学会有条理的梳理工作、对数据安全敏感、持续学习等良好的工作习惯,相信面对云计算带来的挑战也将游刃有余。

    2019 年 3 月 27 日

  • Cloudstreams: 云间整合的下一个挑战

    云计算服务的激增带来了云服务之间整合以及云服务与企业应用间整合的必要。Daryl Plummer在其新博文中提出了一个云的新词汇——Cloudstream,用来描述这些整合。

  • SOA 与云计算有多大关联?

    在最近的ebizQ的云QCamp大会上有一个分会场讨论了云计算的当前状态以及它与SOA之间的关系等话题。与会成员达成的共识是云能够加强SOA所承诺的那些优势,并促使其为业务提供更坚实的基础。

发现更多内容

解密智联招聘的大前端架构Ada

智联大前端

Serverless 前端架构 开发工具 前端工程化 微前端

第十周学习总结

饭桶

CAP原理

智慧公安二维码定位报警系统开发

t13823115967

架构师训练营第 1 期第 10 周总结

du tiezheng

极客大学架构师训练营

Linux 笔记(三): 软件安装

Leo

Linux 学习 前端进阶训练营

重点人员管控系统开发,智慧公安系统搭建方案

WX13823153201

重点人员管控系统开发

Canal 组件简介与 vivo 帐号实践

vivo互联网技术

数据库 分布式 数据存储

第六周-总结

jizhi7

极客大学架构师训练营

第四代Express框架koa简介

程序那些事

nodejs 异步编程 koa Express 程序那些事

Python进阶——如何正确使用yield?

Kaito

Python

智慧公安大数据可视化分析系统搭建

t13823115967

身为程序员还记得C语言经典算法(附带答案)吗?

ShenDu_Linux

c c++ 算法 编程语言

Tensorflow 每日练习(2020.1130)

郑可夫斯基

Appium上下文和H5测试(二)

清菡

除了梦里什么都有之外,我想可以让现实生活中也可以有点什么。

叶小鍵

日本 健康 川村昌嗣 瘦身 走路 运动

接口测试如何在json中引用mock变量

测试人生路

json 接口测试 Mock

成千上万个站点,日数据过亿的大规模爬虫是怎么实现的?

今日长剑在握

Python redis 爬虫

架构师训练营第 1 期第 10 周作业

du tiezheng

极客大学架构师训练营

第十周课后练习

饭桶

CAP理论

DL

第六周-作业

jizhi7

云算力矿机系统开发,区块链挖矿平台搭建

薇電13242772558

区块链 云算力

2020双11,Dubbo3.0 在考拉的超大规模实践

阿里巴巴云原生

阿里云 开源 云原生 dubbo

我是如何使计算时间提速25.6倍的

Lart

Python 代码优化 Numpy 代码加速

源码 | 浅谈Webpack原理,以及loader和plugin实现。

梁龙先森

前端 前端工程化 webpack 前端进阶

第06周 CAP 原理

Airship

极客大学架构师训练营

第 06 周学习总结

Airship

极客大学架构师训练营

40 张图带你搞懂 TCP 和 UDP

cxuan

计算机网络 计算机基础 计算机

如何高效的使用并行流

Silently9527

java8 java 并发

shell脚本的使用该熟练起来了,你说呢?(篇一)

良知犹存

Linux shell脚本编写

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

书摘和访谈:《在企业中融合云计算和SOA:循序渐进的指南》-InfoQ