写点什么

SOA 与云计算有多大关联?

  • 2009-09-04
  • 本文字数:1705 字

    阅读完需:约 6 分钟

Joe McKendrick 已发布一篇题为“经验总结:SOA 和云面临的挑战和机会”的会议纪要,参会人员由 Phil Wainewright,David Bressler,Ed Horst 和 Joe McKendrick 等人组成。

讨论从 Phil Wainewright 的问题开始:

你们每个人是如果定义云的,如果它和 SOA 存在区别的话,那么最关键的区别又是什么?

Joe McKendrick 认为:

……过去的一年太令人惊叹了,这些概念一齐汇聚到大家面前,这里我只谈 SOA 和云。SOA 在 90 年代初就已经来到人们周围了,而且很过公司正进行着 SOA……现在,我们更多地看到人们在强调向云的转型……我认为这二者的主要区别是:SOA 是一种架构,是底层架构,是人们创建、管理、编排服务的方式。而云是一种技术,从一方和另一方之间交付这些服务是通过它实现的。但是我认为,目前正处于这样一个阶段,你不能只有其中之一,而应该二者兼备。

Phil Wainewright 继续问道:

可否这么简单地说:云就是 SOA,只不是过它是一种以面向 Web 方式实现的 SOA?……我这么说的意思是,因为它是一个开放的环境,而且你不知道你正在和谁进行交互,因此不得不要做所有的服务层的工作,如定义合约(服务的合约)……还有安全需求,你必须做所有的那些在受控的企业环境中不一定非要做的事情,因为在受控的环境里,你了解正在发生的事情……我认为我们在 SOA 和云之间已经建立了很多的共性。云正在做的很多事情是当初 SOA 建好后要做的事情,因此,也许我们可以继续做出这样的前提假设:云可以学习 SOA 的经验。那么,SOA 教给我们什么 ?有哪些经验教训可以让我们在实施云的过程中不再犯相同的错误。

为了回答这个问题,Ed Horst 提到了 SOA 的三个主要经验教训:

……(1)从一个具体的项目开始,这个项目要有合理的边界,并将在完成是能够对日常业务有所影响……你得需要能够经常使用的东西。(2)另一个是……避免煮沸整个大海的做法,比如在还没做任何云的工作之前,就要将所有的东西变成云……但这也不是说在做第一个项目的时候就完全不考虑最终的方向。因此,我所看到的一种更为成功的策略是混合的做法,在考虑整体架构走向的同时采取更广阔的举措,最后我们可能会花 2 年、3 年、4 年甚至 5 年的时间才能完成,但是在启动项目之后要开展一些实际可行的工作。(3)然后……管理系统,要尽早、尽可能经常地对系统进行监管。做得早的话你一般不会后悔,相反你可能经常会因为没有这么做而后悔。

Phil Wainewright 的观点是,一个包罗万象的面向 Web 的架构可以让我们统一 SOA 和云计算。他继续说到:

……面向 Web 的架构的一个特征是 REST 接口,它更加简单,因为他不需要做 SOA 相关的其他事情。这个特征也是云计算的特征,一个必要的特征,云计算追求更加“lowest common denominator”的接口(译注:在数学中,Lowest common denominator 被称为最小公分母;在计算机中,最初的意思是计算机平台的指令选择技术,当对一个程序进行编译生成可执行程序并使之可移植到其他平台上时,由于每个处理器都有自己的补充指令,所以只有使用不同处理器所共有的那些指令编译出来的可执行程序才具有最好的移植性。在这里,指得是接口定义要更通用,更简单)。

Ed Horst 认为 REST 和 SOAP 都有特定的应用场合,这取决于不同的交互类型:

如果交互本身就更加事务性,更谨慎,更业务敏感的功能,那么通常使用 SOAP 接口来进行交互。但如果是一个类似于查询和更新这种轻量级的操作,而且对业务的影响也较小,那么用户一般使用 REST 接口……这也不是说 REST 就不能用于具有事务性的场合,但是当你为了实现事务、安全、良结构的消息或者其他类似的要求而向 REST 增加一些元素进去的话,这时的 REST 看起来就很像 SOAP 了。

在今天的 IT 界“云”是一个热词,而 SOA 似乎渐渐失宠,最少在分析家的眼里是这样的。相应地,当前还有一个非常流行的假设,无论 SOA 曾有多大的缺点和困难,云计算都将改进之并能够解决这些困难。事实上,如 Joe 所说的 SOA 关心的是合理的系统架构,而云关心的是基础设施。总所周知,再好的基础设施也不能挽救糟糕的架构。所以我们应该停止对灵丹妙药的祈祷,而着手去关心最基本的工作:合理的服务架构。


查看英文原文: How Does SOA Relate to Cloud Computing?

2009-09-04 02:171774
用户头像

发布了 184 篇内容, 共 72.9 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

写给 Go 初学者的指北

Rayjun

Go 语言

我看JAVA 之 Class

awen

Java 源码 jdk class

双指针高频面试题:「三数之和」的姐妹篇 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

智能客服+智能助手,这波“数字员工”的业务能力太强了!

华为云开发者联盟

华为 AI 数字 智能客服 智能助手

我看JAVA 之 Thread & ThreadLocal

awen

Java 源码 多线程

《经济学人》2021年2月27日刊精彩文章导读及资源下载

wbliu85

推荐程序员平时使用最多的绘图软件!!!

秦怀杂货店

软件 流程图 绘图

涨薪50%,从小厂逆袭快手 - 附面经

haxianhe

面试

如何探索自己的职业价值观,让工作更有动力

一笑

28天写作

从萧何进入咸阳丞相府到数字化时代的决策

数列科技杨德华

28天写作

前端170面试题+答案学习整理(良心制作)

我是哪吒

程序员 面试 大前端 28天写作 2月春节不断更

第十二周 作业

简简单单

万绿丛中一点红——雷斯多夫效应

Justin

心理学 交互设计 28天写作 游戏设计

我看JAVA 之 基本数据类型与封装类型

awen

Java 源码 基本数据类型

Linux入门篇 —— Linux 用户与组管理详解(system-config-users && 命令行)

若尘

Linux 命令行 用户

如何学习一项技能

不在调上

我看JAVA 之 Annotation

awen

Java 源码 jdk 注解 annotation

Enterprise Tech30(2021)

行人23

Tech ET30

2021突击金三银四必备:BAT1000Java面试真题合集!

比伯

Java 编程 架构 面试 计算机

探索图神经网络的网络架构和训练方法

华为云开发者联盟

神经网络 AI 图神经网络 网络架构 GNNs

多年阅读《经济学人》是一种什么体验?

wbliu85

深入解读华为云细粒度文本情感分析及其应用

华为云开发者联盟

AI 华为云 情感分析 语言语义 文本情感分析

程序员成长第十四篇:做好时间管理(二)

石云升

程序员 时间管理 28天写作 2月春节不断更

金融数字化转型浪潮呼啸而来 大数据区块链落地场景全面开花

CECBC

金融

(28DW-S8-Day7) 比特币原始文献略读

mtfelix

比特币 区块链 白皮书 28天写作 工作量证明

我看JAVA 之 枚举类型

awen

Java 源码 jdk 枚举

观点 | 破解云管理平台在数据中心管理体系中定位模糊的困局

BoCloud博云

云计算 PaaS 服务目录 多云管理平台 数据中心管理

LiteOS:SpinLock自旋锁及LockDep死锁检测

华为云开发者联盟

死锁 LiteOS 自旋锁 SpinLock LockDep

GitHub上连夜被下架!阿里巴巴2021版JDK源码笔记(2月第三版)

Java架构追梦

Java 阿里巴巴 面试 jdk源码 金三银四

Linux常见IO分析工具

运维研习社

第十二周 学习总结

简简单单

SOA与云计算有多大关联?_SOA_Boris Lublinsky_InfoQ精选文章