写点什么

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

  • 2020-02-10
  • 本文字数:2078 字

    阅读完需:约 7 分钟

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

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


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



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



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


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

答案是:集成技术!

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


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

API 网关的作用

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


ESB 的作用

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


微服务的作用

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


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



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

iPaaS 的作用

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


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


API 组合工具的作用

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


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

原文链接

There’s gold in them thar hills


2020-02-10 14:172291
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 396.8 次阅读, 收获喜欢 1984 次。

关注

评论

发布
暂无评论
发现更多内容

「Python数据分析系列」1. 数据科学基本介绍

Databri_AI

Python 人工智能 数据分析

WebRTC 的本地视频预览播放器

liuzhen007

音视频 引航计划 领航计划

Dom4j 如何输出 Document 中的内容到文本

HoneyMoose

Java 面试八股文之基础篇(一)

Dobbykim

干货满满!龙蜥社区Meetup走进龙芯圆满结束,5大技术分享精彩回顾

OpenAnolis小助手

Linux 开源社区 国产操作系统 国产芯片

湖南交通学院校友联谊圈小程序设计方案

CC同学

宇宙最强语言PHP的“全栈”框架——Laravel来了!

博文视点Broadview

架构实战营模块9作业

zlz

使用Python实现视频Logo消除处理

老猿Python

音视频 Moviepy 引航计划 Python编程语言 视频剪辑处理

Coffee架构实战 005 千万级学生管理系统的试卷存储方案

咖啡

JVM g1 gc学习笔记一

风翱

GC 9月日更

001云原生之概念

穿过生命散发芬芳

云原生 9月日更

一文教你全方位揭秘Ajax指南

孙叫兽

ajax 大前端 引航计划

成本直降50% | 阿里云发布云原生网关,开启下一代网关新进程

阿里巴巴云原生

阿里云 云原生 网关 升级

读《第一次把事情做对》有感

孙叫兽

工作 引航计划 第一次 做对

Opus从入门到精通(五)OggOpus封装器全解析

轻口味

音视频 9月日更

架构实战营-模块四-千万级学生管理系统考试试卷存储方案

娜酱

#架构实战营

WebRTC如何在网页端添加硬水印

liuzhen007

音视频 引航计划 领航计划

百度联手清华大学出版社 打造国内首套产教融合人工智能系列教材

百度大脑

谈 C++17 里的 State 模式之一

hedzr

算法 设计模式 Design Patterns c++17 有限状态机

让数据“活”起来 腾讯位置服务数据可视化JS API持续升级

不愧是阿里Springboot项目笔记,在Github上已标星85.4K

Java 程序员 架构 后端 springboot

不吹不黑一份代码即可进Kaggle排行榜!

cv君

AI 引航计划

百度飞桨发布开源生态最新成果:汇聚370万开发者

百度大脑

人工智能

Go 新人学习资料汇总(持续更新)

baiyutang

golang 9月日更

监控系统使用对比 -- 你怎么看当前的主流监控系统

耳东@Erdong

关系型数据库 Prometheus 时序数据库 zabbix 9月日更

用 Go 写的轻量级 OpenLdap 弱密码检测工具

Marionxue

Docker Docker-compose 弱密码 openldap Go 语言

看动画学算法之:doublyLinkedList

程序那些事

数据结构 算法 看动画学算法 程序那些事

在线GIF图片帧拆分工具

入门小站

工具

一文深度挖掘AI的图像分类能力!

cv君

AI 引航计划

Centos7升级Python2到Python3

入门小站

Linux

挖掘老旧技术栈的价值,从一个API开始_架构_David Mckenna_InfoQ精选文章