写点什么

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

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

关注

评论

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

HAVE FUN | “飞船计划”活动最新进展

SOFAStack

微服务架构 开源软件 新手引导

牛客java选择题每日打卡Day8

京与旧铺

7月月更

java零基础入门-Scanner类

喵手

Java’ 7月月更

从0开始创建小程序

小恺

7月月更

小程序能运行在自有App中,且实现直播和连麦?

Speedoooo

小程序 直播 移动开发 小程序容器 连麦

【刷题记录】2. 两数相加

WangNing

7月月更

用头像模仿天狗食月

急需上岸的小谢

7月月更

【写给初发论文的人】撰写综述性科技论文常见问题

左手の明天

论文阅读 论文 论文写作 研究论文 论文撰写

张平安:加快云上数字创新,共建产业智慧生态

华为云开发者联盟

云计算 后端 SaaS 华为云

SchedulX V1.4.0及SaaS版发布,免费体验降本增效高级功能!

星汉未来

DevOps 运维 k8s IT FinOps

offer如何选择该考虑哪些因素

KEY.L

7月月更

云原生混部最后一道防线:节点水位线设计

阿里巴巴中间件

阿里云 云原生 中间件 混部

Web开发小妙招:巧用ThreadLocal规避层层传值

华为云开发者联盟

Java 前端 web开发

1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效

华为云开发者联盟

数据库 后端

枚举通用接口&枚举使用规范

靠谱的程序员

枚举 企业应用 企业级应用

阿里云易立:云原生如何破解企业降本提效难题?

阿里巴巴中间件

阿里云 架构 云原生

“去虚向实”大潮下,百度智能云向实而生

科技新知

华为小米互“抄作业”

科技新知

组织实战攻防演练的5个阶段

穿过生命散发芬芳

攻防演练 7月月更

当 Knative 遇见 WebAssembly

阿里巴巴中间件

阿里云 容器 云原生 Knative WebAssenbly

企业中台建设新路径——低代码平台

力软低代码开发平台

解密函数计算异步任务能力之「任务的状态及生命周期管理」

阿里巴巴中间件

阿里云 中间件 异步 函数计算

leetcode 53. Maximum Subarray 最大子数组和(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

阿里云中间件开源往事

阿里巴巴中间件

阿里云 开源 中间件

企业数字化转型,低代码是“趋势”还是“陷阱”?

云智慧AIOps社区

大前端 低代码 云开发

Linux 下的传统 IPC 通信原理

北洋

Andriod 7月月更

从解析HTML开始,破解页面渲染时间长难题

华为云开发者联盟

html 前端 web开发 网页

Flutter3.0了,小程序不止于移动应用跨端运行

Speedoooo

flutter 小程序 移动开发 小程序容器 跨端运行

抖音或将推出独立种草社区平台:会不会成为第二个小红书

石头IT视角

架构实战营模块 6 作业

Roy

架构实战营

ServiceMesh主要解决的三大痛点

阿泽🧸

Service Mesh 7月月更

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