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

相关推荐

技术手册>更多

  • 云服务设计入门指南

    正如我们所看到的,云计算还处在发展的早期阶段,通过观察大量的小型和新兴的提供云开发工具的公司就能够看到这一点。但是持续向前发展并颠覆传统开发方式的趋势已经越来越明朗。在这本技术手册中,我们将着重从云服务设计的基本内容入手,同时兼顾云端集成和云数据服务的相关内容。同时要提醒准备购买云服务的企业,在选择相关服务之前要避免落入厂商锁定的陷阱中。

  • BPM获取成功秘籍

    业务流程管理(BPM)正在迅速成长,正在影响着各行各业,但改变从来都来之不易。但是在今天的经济环境下,对于业务和IT高管来说,掌握BPM的大局观正显得前所未有的重要,这样才能从他们业务流程改进中收获最大利益,才能令其BPM投资的价值最大化。要想克服变革性或企业范围内的BPM行动的常见瓶颈,需要前瞻的、持续地实施某些关键的最佳实践,以确保真正跨职能的业务流程的实现。

  • Ajax实用技巧完全指南

    Ajax结合了java技术、xml以及javascript等编程技术,是指一种创建交互式网页应用的网页开发技术。ajax源自描述从基于网页的web应用到基于数据的应用的转换。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。本技术手册为读者提供了一些很实用的小技巧,如果需要深入学习ajax,读者可以借助其他参考资源。

  • 企业IT消费化指导手册

    IT消费化是个人和商业使用的设备和应用程序的混合体。学习如何保持在前沿技术的最前端,了解工作场所内部或外部的关于IT消费化的挑战与威胁。虽然企业可以掌控在内部建立的安全机制,但是这是关于个人拥有的设备的事情,所以它需要用新方式去思考。本指南解释了IT消费化,帮助企业在IT消费化中生存,并叙述了IT消费化的影响。

TechTarget

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