13

挖掘老旧技术栈的价值,从一个 API 开始

 4 years ago
source link: https://www.infoq.cn/article/cIvfcD96rlLv58P9ULj6
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

最近,我要给高层展示一些 PPT。我记得有一篇很旧的文档里面有一些东西,我很想把它加进来作为补充。但问题是,找这篇文档就像寻宝一样,我翻遍了各个地方,Syncplicity、Google Drive、各台电脑(笔记本、台式机)、移动硬盘,都没有找到。最后,我在一个多年没用的 Zip Drive 里找到了。

当我把这件事告诉我的一个同事,她笑着给我看了这张图片:

FzeYbaU.png!web

我看呆了,这张图片画的不就是我的“寻宝”过程吗?不过,我觉得它也适合用来描述企业的软件 技术栈 。在企业里,软件技术层层叠加。很多老旧的技术仍然可以给企业带来价值,不至于过时,但依赖这些技术也给企业带来了很高的成本和 技术债务 。另一方面,要替换这些技术也存在很高的风险,也需要付出很大的成本。再看看我们现在的公司和客户的架构,它们让我想起了大学时代的地理课,它们看起来就像是地球的剖面图,复杂而又无序。

BzmEJj2.png!web

虽然很多企业在进行数字转型,但它们内部原有的技术和相关数据仍然在为企业提供价值。企业不能只是简单地把这些技术移除掉,毕竟它们是一切的基石。这些技术通常使用的是遗留接口(CORBA、RMI、SOPA,等等)或者是只能通过 SDK 访问的专有接口,甚至是不提供编程接口的封闭式系统。这些技术和数据仍然有用,移动、物联网、大数据、机器学习仍然要用到它们。

那么,我们该怎么挖掘这些技术栈,把深埋在企业技术栈底下的金矿石挖出来?我们该如何释放这些数据的潜力,找到新的商机?

答案是:集成技术!

我们需要的集成技术是能够把底层的东西暴露成服务,或者让原始的数据存储能够很容易被访问到。无论你是要改造遗留接口,还是要现代化数据访问方式,目的都是要能够通过现代化的 API 来访问遗留系统。

遗留系统的集成,就像挖矿一样,把数据从技术栈中抽取出来,让外部可以访问。

API 网关的作用

你可以尝试使用传统的挖煤方法,在地表挖一个竖井,露在地面上的部分是竖井的上半部分,而深入地下的部分从各个地层抽取煤矿(也就是数据的价值)。这是对传统 API 网关的一个比喻。暴露在外面的部分是隔离区(DMZ)的网关,也就是竖井的上半部分。网关暴露了干净、简单易用的 API,外部 API 用户不需要知道系统内部的情况,他们可以直接通过网关创建自己的应用程序或进行集成。这样就降低了技术债务,遗留技术也因此成为 API 经济的一部分。

ueYJNvm.png!web

ESB 的作用

竖井就像是企业服务总线(ESB)。ESB 就像是煤矿的主干,旷工和煤炭通过这个通道被送到地表。ESB 扮演了共享消息主干的角色,将应用程序和其他服务连接在一起。ESB 为企业提供了传输协议、负载和数据的调解器,可以实现各种集成场景。

MBvM7vB.png!web

微服务的作用

另一种方式是把系统改造成 微服务 架构。正如你所想象的那样,改造成微服务架构是一种极具颠覆性的方式,而且成本不菲。

想要尝试这种转型的公司必须具备足够的 运维 成熟度。采用微服务架构相当于露天采矿。如果做成了,可以快速获得价值,但你的组织可能会面目全非。组织的敏捷性将得到提升,为了适应 DevOps,文化也会发生变化,团队的组建方式也是根据服务来的。根据康威定律,如果想要改变架构,必须先改变公司的组织结构。

7j26b2f.png!web

露天采矿给周围的环境留下了一道道疤痕,显然会给人们留下负面的印象。但是,微服务架构不一样。成功采用微服务架构的组织具备了更高的敏捷度和更快的产品推出速度,因为在添加新功能后不需要所有团队重写或重新部署整个应用程序。而且,微服务的代码库越小,就越容易维护。这节省了大量的开发成本,提高了整体的开发效率。最后,因为微服务的成功实施与运维(DevOps)的成熟度有关,所以 CI/CD 管道的速度决定了产品从想法到落地的速度。

iPaaS 的作用

在现今的企业架构领域,我们看到了越来越多的企业采用混合型架构,即本地数据中心和云平台的结合。在自家数据中心内搭建基础设施和部署软件的时代已经过去了。现在的企业可以将云端的技术与已有的传统技术相结合,这种结合是一种集成,而且为了利用本地到云端甚至是云端到本地的集成,出现了新型的“XX 即服务”概念。

我们可以把 iPaaS(Integration Platform as a Service,集成平台即服务)看成是风能发电。风机向现有的基础设施(电网)输送电力,但无法为自己提供足够的电力,所以仍然需要传统电力来驱动,但把二者结合在一起就可以改进整体的发电机能。iPaaS 为本地和云端的技术集成提供了动力。iPaaS 提供了集成模板、映射、转换、调解和通用的云集成模式,它们通常以 API/JSON 为基础。就像电网一样,不同的云之间以及云端和本地端点之间存在轻量级的网关,这些网关就像电网里的变电站。

maa2aeQ.png!web

API 组合工具的作用

在把遗留数据挖出来并暴露成服务之后,还需要对它们进行打磨。打磨的过程就是让 API 变得更加好用、对用户更友好的过程。例如,数据可能需要转换,或者你可能想要为其他服务提供门面。axway API Builder 是一个 API 构建工具,可用于打磨现有 API 和数据源,让它们变得更好用、更友好。

企业里暗藏金矿,可以通过很多不同的技术将其挖掘和提炼出来。“塔尔山里有黄金”,这些黄金可以被挖出来,并为我们带来新的商机。正如我们所看到的,有很多技术可以用来挖掘埋藏在企业里的价值。

原文链接

There’s gold in them thar hills


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK