本文共 3337 字,大约阅读时间需要 11 分钟。
【编者按】本文作者为 Matt McLarty,通过介绍 SOA 的兴衰变化,总结了微服务应该借鉴的5条经验教训。文章系国内 管理平台 编译呈现。
正如笔者在上文《》中提到的,笔者对微服务架构的第一反应,就是质疑它跟面向服务架构(SOA)有何区别。还有很多人将这两种架构联系在一起。詹姆斯·刘易斯和马丁·福勒在他们的中包含了一个侧边栏,进行。对此,怀疑派做出的回应是二者之间。实际上,在“微服务”这个名词出现之前,使用微服务的和 都谈到它们使用的是面向服务的架构。两年多之后,关于微服务架构是不是 SOA 的争辩带来了。
为什么人们这么热衷于对比微服务和 SOA,而且还投入?虽然微服务和 SOA 在很多层面上可以相互区分——架构风格、实施案例、相关技术——但是它们在技术发展全景中起到了同样惊人的作用。它们都有望转变整个格局,而且都成功吸引了一大批拥护者。简单来说,微服务和 SOA 都以架构开始,但是最终都成了一场运动。
可惜啊,现在 SOA 在 IT 业内基本上被视为一场失败的运动,而很多为它投入时间、金钱和精力的人的伤痛依然清晰可见。这就是为什么大家有这么大的热情来对比较微服务和 SOA。要想了解微服务与 SOA 辩论的背景,回顾 SOA 运动的历史非常重要:它的动力是什么,以及最终导致失败的原因是什么。
1996年,高德纳公司的分析员 :
面向服务架构是一种多层信息处理技术,能帮助企业在多个应用和使用模式之间分享逻辑和数据。
虽然 SOA 很早就获得了这个定义,直到2002年,网络服务出现之后,SOA 才在行业内得到广泛应用。尽管 SOAP/XML 的初衷是为完全不同的企业之间提供,它们很快就被企业架构师们选择使用,他们一直在评估将网络作为新渠道、并操控新技术的方法。作为一种连接应用、互联网友好、预计能的方法,网络服务在这些企业中迅速风靡。这种方法被贴上了“面向服务架构”的标签,SOA 运动就此诞生。
随着 SOA 运动的兴起,一个新的集成模式出现了,用于推动 SOA 松散的连接原则:企业服务总线(ESB)。很多人现在已经忘了 ESB 模式旨在,这与当时通用的轴辐式企业应用集成(EAI)是截然不同的。实际上,ESB 概念本身就是为了应对 EAI 代理的整体式特征带来的问题而生的,例如软件交付变慢,过于依赖其他团队以及可管理性太差等。
最初的 ESB 部署版本是个恰当地,让人联想到微服务运动采用的“智能端点哑管道(smart endpoints and dumb pipes)”原则。然而,随着 ESB 的理念得到更加广泛的使用,它引发了一个新的含义。2002年高德纳公司预言 ESB 模式将在2005年被绝大多数公司采用,轴辐式 EAI 中间件的代理商们得以说服很多业内人士,,而是用于企业软件集成的一个中间件产品。他们把 包装成 ,消费者们还真的愿意买账。
正如高德纳公司的预言,到了2005年,实施 EBS 成了必不可少的事。IT 公司成立了集中的交付部门来管理 EBS 基础架构,并且参与公司各部门的集成项目。ESB 为那些主张 SOA 的企业架构师提供了改造应用环境任务的立足点。他们利用这个立足点要实现两个目的:控制和保持一致性。
SOA 项目领导为控制需求辩护的理由是要确保那些支撑企业商业目标的服务的开发和使用。这就催生了 的分支运动,由此诞生了自有软件产品类别。建立一致性的努力包括尝试定义标准的企业数据模式,还有一套扩展的代理导向标准(总体的网络服务),旨在减少网络服务平台之间的内部操作。技术模板、规范标准、集中的命令和控制文化,所有这些都让本该轻量化的 EAI 替代者越来越沉重。SOA 迷失了发展方向。
SOA 的设计初衷是加速项目交付,提高 IT 敏捷性,减少集成成本。然而,SOA 使用者,也就是使用发展到现在的 SOA 的人们,发现它实际上带来了更多复杂性和瓶颈,而且部署 SOA 基础构架的费用(基于 ESB、注册和服务平台模板)过多。
到了2009年,人们不再,而是。RESTful Web API——一种连接网络有机进化的应用的方式——作为 SOAP 服务的轻量级备选出现了。云架构的分布式本质对集中的 ESB 拓扑安置是个挑战。从公司层面和文化层面来说,敏捷运动在促进分散化和团队自治。这些因素加起来,和其他因素一起让 SOA 退出了主流。
讨论微服务和 SOA 是否相同是个错误的问题。那有什么关系呢?正确的问题应该是问微服务运动能够从 SOA 借鉴什么。出了什么问题?以下是五条重要的经验教训。
微服务运动令人激动。在合成已被证明的原则和新技术、文化实践方面,它的确还很新。它是否是 SOA 的成功版本、进化版本或者反面版本都无关紧要。微服务会出现,留下印记,然后被下一个运动替代,接着是下下一个,永不停歇。目前,微服务运动的成员决定了它将会留下怎样的印记。希望它能从 SOA 运动吸取经验教训,保持和谐状态,从而帮助企业实现大规模的速度与安全的优化。
本文转自
原文地址:
转载地址:http://tprnl.baihongyu.com/