是微服务还是SOA?

日期:2015-5-14作者:Christine Parizo翻译:boxi来源:TechTarget中国 英文

SOA   微服务   

【TechTarget中国原创】

专家认为像“微服务”和“12因子app”这样的术语未必是SOA已死的信号,其实只是旧技术换了个新名字。

正如Bon Jovi曾经唱过那样,“一切还是老样子,只是名字改了而已。”对于曾唤起许多架构师、开发者以及IT专业人士对希望交给历史书的大型主机时代回忆的SOA来说,这似乎的确如此。不过根据行业专家的说法,随着微服务以及12因子app这样的术语出现,这些叫法未必就是SOA已死的信号,可能只是换个马甲而已。

“SOA就是微服务,”总部位于科罗拉多州Evergreen市的Savoir Technologies CTO Jeff Genender这样说,他把这一新叫法称为是“给猪涂口红(无用之功)”。SOA在整体应用及实现搞砸的时候收到了不好的名声,用像微服务这样的术语是除掉SOA不好的名声和内涵,同时保持基本原则的手段之一,他补充道。

“这不是微服务对战SOA,而是更好利用了应用分发的前端GUI与部署在单个包之内的对比。这才是值得考虑的差别,”Genender说。这一点是通过超过10年的混搭来实现的,其原因也基本上一样:更多从控制API和GUI做的事情的角度来控制混搭。虽如此,在它下面的架构师RESTful端点或者SOAP端点,由它们反复推送数据,他说。

微服务本身是随着前端Ajax革命而涌现出来的,在这场革命中,开发者利用了Web应用的客户/服务器实现与后端进行接口,而不是通过HTML。这使得开发者在选择前端利用自己API时更加游刃有余,这就是令微服务取得今日地位的差异化因子,据Genender说。然而,它底子里依然是SOA,尤其是因为搞砸了的微服务实现的样子很容易看起来像是曾经部署过的整体应用一样,他补充道。

埋藏SOA的名字,而不是原则

SOA也许是架构,但是这个名字的内涵约束太多,以至于总部位于洛杉矶的SOA Software最近把自己的名字给改成了Akana,公司的执行副总裁Roberto Medrano说。尽管Akana将会组合SOA、微服务以及云集成,但是仍然支持SOA愿景以及API管理和安全,他说。

SOA不会消失:作为架构,其可重用和敏捷性将继续发挥价值,Medrano说。尽管许多开发者正在使用Web服务和API,一切都还是服务且仍将继续是服务,这取决于它是如何实现和被消费的,他补充道。

尽管微服务跟SOA在服务管理和安全方面并不相同,但它还是可以跟SOA和平共存的,据Akana的CTO Alistair Farquharson说。

这两个在颗粒度方面并不一样,微服务关注的是“微观”部分,他说。这使得开发者能够为了可扩充性、负载均衡以及提高吞吐量而分解应用,但同时也引发了打破数据模型以及维护一致性的问题。大多数微服务是部署方法论,他补充说。

微服务可能会变成新的SOA

新的流行语导致开发者和架构师剥掉了SOA的旧皮——出于错误的理由而使用了微服务是有可能的,据Farquharson说。“大家正在为了微服务而开发微服务,而不是为了创建一个好的微服务,”他说。正如API一样,开发者和架构师也许认为他们可以通过微服务修正好应用,而不是最终得到一个更复杂更糟糕的应用。“应用写得不好的人别指望能写出好的微服务,”他说。

至于12因子app,那也不是什么新东西,这是Savoir Technologies的Genender的说法。“这就好比你拿到了SOA的邮票然后重新用微服务盖上,”他说。基本上12因子app只不过是换了一种说法而已,因为它具体化了修正SOA和微服务的方法论,他补充道。

“这让我想起了实用主义程序员宣言的很多东西,”英国的C2B2公司首席顾问Matt Brasier说。“里面说得很多的一个东西是常识而已,即将配置与代码分离。”

然而,12因子app然后进入到了规定实现决定而不是把它留给应用开发者,以及讨论代码和集成。有更好的办法—这往往要考开发者自己判断,据Brasier说。“把实现与架构性原则混在一起很奇怪,”他补充道。

最后结论是,SOA并没有死亡,微服务只是如同《大鼻子情圣》的‘Christian de Neuvillette’。“趋势上说SOA可能己死,但你却可以使用相同的原则,相同的基础技术,以及相同方法,” Brasier。由于项目中企业服务总线而造成了失败,所以开发人员和应用架构师不会再在经理面前使用SOA这一术语,所以说现在是改名运动,他补充说。

这只是对相同的原则进行重塑,Brasier说。但是微服务和12因子app将会走上与SOA相同的道路:当不适合应用时,就会重新塑造。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Christine Parizo
Christine Parizo

Christine Parizo is a freelance writer specializing in business and technology.

网格计算与云计算>更多

  • ThoughtWorks技术雷达:直指四大趋势

    今天随着智能硬件、 IoT、云计算等等新技术的兴起,使得产品与技术结合在了一起,如产品都嵌入也芯片传感器;另外,商业的创新也完全由技术驱动。

  • 容器技术的间接后果

    本文探讨了为什么和容器技术可能带来的好处比起来可能更容易造成问题。我会尝试在错误发生之前就深入地思考,利用可用的工具来避免错误的发生。

  • AWS OpsWorks交付健壮应用管理服务

    Amazon Web服务(AWS)的 OpsWorks是基于云的应用管理服务,使用AWS OpsWorks,用户能够定义应用架构以及每个组件的规范,包括包安装,软件配置和资源,比如存储。

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

相关推荐

技术手册>更多

  • 当SOA遇到Web 2.0

    Web 2.0是2003年之后互联网的热门概念之一,不过对什么是Web2.0并没有很严格的定义。一般来说Web 2.0是相对Web1.0的新的一类互联网应用的统称。

  • 移动中间件服务技术手册

    移动中间件是连接不同的移动应用,程序和系统的一种软件。移动中间件实际上隐藏了多种复杂性:在移动环境下工作的复杂性,允许设备对设备的流畅交互的复杂性,移动与计算机集成的复杂性和移动应用开发的复杂性。和其它的中间件一样,移动中间件也是通过提供信息服务来使不同的应用之间进行通话的一个典型。随着多样化的平台和设备进入到移动空间,移到中间件已经变得越越重要。随之而来的结果就是,众多移动中间件厂商纷纷提供开发服务,以解决快速增长的移动硬件与移动软件市场。本技术手册将介绍移动开发对于面向服务架构的影响,以及未来移动中间件可以实现哪些功能,在这个过程中我们有哪些经验和技巧可以参照。

  • 移动ALM学习指导

    移动应用生命周期管理(ALM)是一个流程,是一套实践,是针对智能手机和平板电脑进行的计划、编码、测试和部署应用。现在移动不仅仅只是简单的生产力工具,它正在向业务策略看齐。因此,组织也迅速地向员工们提供了高端的移动应用,从而交付不同来源的数据和服务。这就给软件团队提出了双重难题。同时他们又承受着快速交付的压力。他还要努力解决在生命周期各个阶段提出的一些移动ALM挑战。本手册概述了移动ALM的挑战,并且探索了不同的方法,使软件开发人员得以处理那些挑战。

  • Ajax:Web开发的未来

    Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),结合了Java技术、XML以及JavaScript等编程技术,是指一种创建交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算