Categories
程式開發

挖掘老舊技術棧的價值,從一個API開始


最近,我要給高層展示一些PPT。我記得有一篇很舊的文檔裡面有一些東西,我很想把它加進來作為補充。但問題是,找這篇文檔就像尋寶一樣,我翻遍了各個地方,Syncplicity、Google Drive、各台電腦(筆記本、台式機)、移動硬盤,都沒有找到。最後,我在一個多年沒用的 Zip Drive 裡找到了。

當我把這件事告訴我的一個同事,她笑著給我看了這張圖片:

挖掘老舊技術棧的價值,從一個API開始 1

我看呆了,這張圖片畫的不就是我的“尋寶”過程嗎?不過,我覺得它也適合用來描述企業的軟件技術棧。在企業裡,軟件技術層層疊加。很多老舊的技術仍然可以給企業帶來價值,不至於過時,但依賴這些技術也給企業帶來了很高的成本和技術債務。另一方面,要替換這些技術也存在很高的風險,也需要付出很大的成本。再看看我們現在的公司和客戶的架構,它們讓我想起了大學時代的地理課,它們看起來就像是地球的剖面圖,複雜而又無序。

挖掘老舊技術棧的價值,從一個API開始 2

雖然很多企業在進行數字轉型,但它們內部原有的技術和相關數據仍然在為企業提供價值。企業不能只是簡單地把這些技術移除掉,畢竟它們是一切的基石。這些技術通常使用的是遺留接口(CORBA、RMI、SOPA,等等)或者是只能通過SDK訪問的專有接口,甚至是不提供編程接口的封閉式系統。這些技術和數據仍然有用,移動、物聯網、大數據、機器學習仍然要用到它們。

那麼,我們該怎麼挖掘這些技術棧,把深埋在企業技術棧底下的金礦石挖出來?我們該如何釋放這些數據的潛力,找到新的商機?

答案是:集成技術!

我們需要的集成技術是能夠把底層的東西暴露成服務,或者讓原始的數據存儲能夠很容易被訪問到。無論你是要改造遺留接口,還是要現代化數據訪問方式,目的都是要能夠通過現代化的API來訪問遺留系統。

遺留系統的集成,就像挖礦一樣,把數據從技術棧中抽取出來,讓外部可以訪問。

API網關的作用

你可以嘗試使用傳統的挖煤方法,在地表挖一個豎井,露在地面上的部分是豎井的上半部分,而深入地下的部分從各個地層抽取煤礦(也就是數據的價值)。這是對傳統API網關的一個比喻。暴露在外面的部分是隔離區(DMZ)的網關,也就是豎井的上半部分。網關暴露了乾淨、簡單易用的API,外部API用戶不需要知道系統內部的情況,他們可以直接通過網關創建自己的應用程序或進行集成。這樣就降低了技術債務,遺留技術也因此成為API經濟的一部分。

挖掘老舊技術棧的價值,從一個API開始 3

ESB的作用

豎井就像是企業服務總線(ESB)。 ESB就像是煤礦的主幹,曠工和煤炭通過這個通道被送到地表。 ESB扮演了共享消息主幹的角色,將應用程序和其他服務連接在一起。 ESB為企業提供了傳輸協議、負載和數據的調解器,可以實現各種集成場景。

挖掘老舊技術棧的價值,從一個API開始 4

微服務的作用

另一種方式是把系統改造成微服務架構。正如你所想像的那樣,改造成微服務架構是一種極具顛覆性的方式,而且成本不菲。

想要嘗試這種轉型的公司必須具備足夠的運維成熟度。採用微服務架構相當於露天採礦。如果做成了,可以快速獲得價值,但你的組織可能會面目全非。組織的敏捷性將得到提升,為了適應DevOps,文化也會發生變化,團隊的組建方式也是根據服務來的。根據康威定律,如果想要改變架構,必須先改變公司的組織結構。

挖掘老舊技術棧的價值,從一個API開始 5

露天採礦給周圍的環境留下了一道道疤痕,顯然會給人們留下負面的印象。但是,微服務架構不一樣。成功採用微服務架構的組織具備了更高的敏捷度和更快的產品推出速度,因為在添加新功能後不需要所有團隊重寫或重新部署整個應用程序。而且,微服務的代碼庫越小,就越容易維護。這節省了大量的開發成本,提高了整體的開發效率。最後,因為微服務的成功實施與運維(DevOps)的成熟度有關,所以CI/CD管道的速度決定了產品從想法到落地的速度。

iPaaS的作用

在現今的企業架構領域,我們看到了越來越多的企業採用混合型架構,即本地數據中心和雲平台的結合。在自家數據中心內搭建基礎設施和部署軟件的時代已經過去了。現在的企業可以將雲端的技術與已有的傳統技術相結合,這種結合是一種集成,而且為了利用本地到雲端甚至是雲端到本地的集成,出現了新型的“XX即服務”概念。

我們可以把iPaaS(Integration Platform as a Service,集成平台即服務)看成是風能發電。風機向現有的基礎設施(電網)輸送電力,但無法為自己提供足夠的電力,所以仍然需要傳統電力來驅動,但把二者結合在一起就可以改進整體的發電機能。 iPaaS為本地和雲端的技術集成提供了動力。 iPaaS提供了集成模板、映射、轉換、調解和通用的雲集成模式,它們通常以API/JSON為基礎。就像電網一樣,不同的雲之間以及雲端和本地端點之間存在輕量級的網關,這些網關就像電網裡的變電站。

挖掘老舊技術棧的價值,從一個API開始 6

API組合工具的作用

在把遺留數據挖出來並暴露成服務之後,還需要對它們進行打磨。打磨的過程就是讓API變得更加好用、對用戶更友好的過程。例如,數據可能需要轉換,或者你可能想要為其他服務提供門面。 axway API Builder是一個API構建工具,可用於打磨現有API和數據源,讓它們變得更好用、更友好。

企業裡暗藏金礦,可以通過很多不同的技術將其挖掘和提煉出來。 “塔爾山里有黃金”,這些黃金可以被挖出來,並為我們帶來新的商機。正如我們所看到的,有很多技術可以用來挖掘埋藏在企業裡的價值。

原文鏈接

There’s gold in them thar hills