微服务是遗留软件现代化的神秘武器?

日期:2015-12-29作者:Brad Irby翻译:崔婧雯 来源:TechTarget中国 英文

【TechTarget中国原创】

对很多企业而言,处理遗留软件现代化问题都是很大的痛点。但是,微服务可能能够有所助益。Brad Irby深入解释了该领域。

遗留软件现代化一直步履维艰。在周围技术世界不断变化的过程中维护应用本身非常痛苦。开发人员都想使用最新的技术,因此要求开发人员停留在旧的技能,使用旧的技术工作,这也很困难。微服务能够提供无需重写任何东西就可以在旧的技术里使用的新功能,从而给这些遗留系统带来了新的生机。

微服务提供了一种方式来获取并且处理应用本身之外的数据。遗留软件和微服务之间的所有通信都是通过JSON完成的,意味着使用数据的遗留应用和微服务本身共享的只有这一种通信协议。因此,可以使用合适的任意语言来编写微服务。需要使用F#编写的业务逻辑来加强ASP经典网站?使用微服务完成处理,并且返回结果。是否已经拥有了Cobol程序需要使用的,由C#编写并且调试的路由?微服务是解决方案。

因为可以用合适的任意语言编写这些服务,它们自然也能让开发人员满意。很少有开发人员愿意维护遗留应用程序,但是如果能让他们体验最新的编程语言和最新的架构,无需被之前存在的架构束缚,那么就更容易说服他们。

微服务也是“传播爱心”的机会,让大家都参与进来。因为在服务和遗留应用程序之间有很大的组件壁垒,所以编写服务的开发人员不需要像遗留软件现代化处理那样属于同一个团队。编写了合适的需求之后,微服务是非常好的可以外包到海外更便宜开发地的项目。它拥有特定的交付需求,是单独的系统,能够在虚拟空间开发,必须是插入即可使用的,从而也可以按需替换。

微服务最大的ROI是关于遗留软件现代化正在移除重写遗留应用的需求。使用这种新方案不仅仅能够加强遗留代码,而且它还帮助消除了从头重写应用的压力——这通常也是一种昂贵的选择。

即使已经决定重写遗留应用,微服务也提供了一种缓慢并且可预测的方式,而且不会违反任何服务级别协议。已有应用上一小步一小步地改动,使用微服务替换某个功能。这样,大家可以缓慢减少遗留应用的规模,从而减少了重写所需要的时间。

使用微服务有上述这些优势,当然也有需要慎重考虑的方面。比如,该方案可能被过度使用。从定义上讲,微服务是小的,但是它们需要完成支持生产环境的首展流程和测试。虽然达到这些目标所需的工作量很小,但是的确存在,并且不能忽略。如果想要使用太多的微服务来加强已有应用,那么可能就需要在各个问题之间均衡考虑。

另一个问题是性能问题。任何时候跨越服务界线,系统性能都会受到一定的影响。微服务通过调用异步实现有助于让应用程序看上去响应更快一些,但是更难(或者不可能)在遗留技术里这么编码实现。当使用微服务作为加强遗留应用程序已有特性的方案时,必须假定该特性的性能会下降。能接受多大幅度的下降取决于业务需求。如果通过微服务在遗留应用程序里实现新功能,会更加容易一些,因为之前用户对此没有性能上的预期。

当然,所有这些都假定遗留语言拥有某些属性。比如,我们假定语言能够构建Web服务调用。虽然语言越古老,可能越难实现这一点,不过我还不知道有什么语言不能构建Web服务调用的。

异步调用也很必要。Web服务的任何异步调用都是灾难可能发生的地方,因为用户很快就会抱怨系统性能。构造异步调用要求多线程的支持,可能很难找到(我说的就是,COBOL)。在进入微服务世界之前,一定要确保这些基本功能是可用的。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

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

作者>更多

Brad Irby
Brad Irby

Brad Irby has been a developer and systems architect since 1990, designing and implementing systems using the Microsoft stack.

大型机与遗留应用>更多

  • 2016移动技术趋势

    2015是移动领域很重要的一年——2016将更加重要。但新的一年里会出现什么IoT和移动技术新趋势呢?

  • 微服务是遗留软件现代化的神秘武器?

    对很多企业而言,处理遗留软件现代化问题都是很大的痛点。但是,微服务可能能够有所助益。Brad Irby深入解释了该领域。

  • 移动设备遗留应用现代化

    如果你的企业已经成立超过20年,一定有一些不是为移动而构建的遗留系统。这些系统可能也不是为Web而构建的。那么应该怎么处理这些应用?

  • 代码重构工具选择的七大标准

    代码重构工具有很多,不管是Java、PHP、.NET还是其他,都有工具帮助重构代码的繁重过程变得轻松一点和安全。其数量已经多到眼花缭乱令人难以选择的地步。

技术手册>更多

  • SOA安全不可小视

    如今许多公司把各自面向服务架构(Service-Oriented Arthitecture,SOA)向业务合作伙伴开放,那么你是否准备好了应对由此带来的种种风险呢?

  • Web服务描述语言:WSDL

    Web服务描述语言WSDL是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,是Web Services Description Language的缩写它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。就其定义来说,你还不能把WSDL当作一种对象接口定义语言,WSDL保持协议中立,但它确实内建了绑定SOAP的支持,从而同SOAP建立了不可分割的联系。

  • SOA管理

    SOA管理是经常谈论的一个话题,不管你的组织开始SOA多长时间,SOA管理都是需要多加注意的。首先我们需要弄清SOA管理与SOA治理的区别。

  • 企业服务总线ESB(更新版)

    ESB(Enterprise Service Bus,企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

TechTarget

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