写点什么

挖掘老旧技术栈的价值,从一个 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:172514
用户头像
小智 让所有人认同的文字称不上表达

发布了 410 篇内容, 共 409.0 次阅读, 收获喜欢 1986 次。

关注

评论

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

Java的深拷贝与浅拷贝,能否拿下看你自己!

Java如何学

Java 编程 程序员 浅拷贝和深拷贝

云图说|一张图看懂一站式DevOps利器——华为云DevCloud

华为云开发者联盟

DevOps 华为云 华为云DevCloud 云图说 软件研发

中国产业发展促进会与工信部领导莅临百度 度能领衔助力零碳成长

百度大脑

区块链 人工智能 百度 物联网

阿里巴巴新产“Java面试指南泰山版”,全是流行技术,限时开放

Java 程序员 架构 面试

农扶帮系统软件开发内容

Go 学习笔记之 接口

架构精进之路

Go 语言 7月日更

西瓜口袋系统开发|西瓜口袋软件APP开发

小得书院系统APP开发案例

字节4面Java研发岗面试经历:redis+TCP+HashMap+算法+JVM+spring

Java 程序员 架构 面试

带你全面了解 Git 系列 01 - 深入 Git 原理

淼💦 淼

git 大前端

SPA钱包挖矿系统开发详情

模块二作业

燕燕 yen yen

架构实战营

What's JVM——自动内存管理

CodeWithBuff

Java 后端 JVM

去中心化分散自治组织通证经济体

CECBC

企业数据安全的「取胜之匙」:区块链隐私保护计算

CECBC

JAVA语言异步非阻塞设计模式(原理篇)

有道技术团队

Java 后端 网易有道

DAPP智能合约平台开发|TP钱包DAPP搭建

Geek_23f0c3

dapp DAPP智能合约交易系统开发 区块链、

“云上超算”——北鲲云超算SaaS平台

北鲲云

云计算 生命科学

那些腾讯阿里字节等大厂面试官,问面试题背后到底在问什么?

前端依依

面试 大前端 经验分享

MapReduce排序以及序列化实践

五分钟学大数据

mapreduce 7月日更

拾实娱购系统软件开发

在哪里跌倒就在哪里躺一会|靠谱点评

无量靠谱

颠覆传统经营模式,区块链助力餐饮行业数字化革新

CECBC

星际联盟filecoin矿机靠谱吗?星际联盟FIL矿机可以信赖吗?

fil币 ipfs挖矿 fil挖矿 fil矿机

人间烟火|靠谱点评

无量靠谱

穿越防火墙的奥秘:ICE协议详解

拍乐云Pano

简单来说云服务器是什么?有哪些品牌?

行云管家

服务器 云服务 云服务器 云管平台

12个提升PostgreSQL_TSDB 插入性能的建议

数据库 大数据 时序数据库 tsdb 数据智能

星际联盟抢占FIL挖矿先机:星际联盟单T出矿多少?星际联盟一年能挖出多少FIL?

fil币 ipfs挖矿 fil挖矿 fil矿机

Filecoin矿机挖矿分币系统开发搭建

薇電13242772558

区块链

hdfs的集群间拷贝、归档、回收站等功能剖析

大数据技术指南

hdfs 7月日更

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