API 之旅的三個階段

API 採用的每​​個階段都有一系列問題、流程和實踐,需要大多數企業在升級其現有基礎設施時認真對待。 ‌

近20 年來,每家使用軟體的企業都逐步踏上了API 採用之旅。這條路徑已成為應用開發領域的大勢所趨,API 也已是技術互動和交易的主要方式。

談起API 採用挑戰,很多人就急著介紹其單體式、一體化平台,殊不知這種大而無當的技術方案早已過時。受雲端原生應用發展趨勢的影響,在安全防護「左移」的推動下,開發人員、網站可靠性工程師(SRE)、DevOps 和平台工程團隊已與這種自上而下的API 解決方案漸行漸遠。

雲端原生技術人員更傾向於選擇建立適合自己需求的API 堆疊。這些堆疊結合使用開源、專有和內部產品來打造一套可持續且可擴展的解決方案集,用於管理日益增長的API,同時加速API 開發進程。

企業的API 堆疊採用過程往往大同小異,可描繪成包含三個不同階段的框架。每個階段都有一系列問題、流程和實踐,需要大多數企業在升級其現有基礎設施時認真對待。

階段1:起步

在第一個階段,企業剛開始涉足API領域。在大多數情況下,技術團隊以臨時使用的方式以API 連結外部系統,以引入更有效率的外部服務,或滿足合作夥伴和客戶希望透過API 連接和交換資訊的需求。

API 採用第一階段的特色是API 實務不一致,有時甚至雜亂無章,企業可能只需要採用API。在這一階段,工程師的工作重點是處理南北向API 流量、建立連接和實現外部系統之間的通訊。設計重點是將API 與現有系統(例如第三方服務或外部合作夥伴)整合,以促進資料交換並實現跨不同平台的功能。通常,架構師尚未部署微服務或Kubernetes,而且可能沒有使用完全分散式系統。

在這個不成熟的階段,工程師通常沒有標準化的API 設計原則——不同的團隊可能在沒有決策協調的情況下建立自己的基礎設施(部署閘道、基本安全防護等)。這往往會導致臨時抱佛腳,只為滿足即時的整合需求,卻造成了長期的技術債。

階段2:設定發展路線

在邁向完整API 堆疊的過程中,API 採用的第二個階段是製定企業級API 策略。通常,這意味著公司已經認識到API 將成為其架構的重要組成部分,於是在規劃和資源方面,API 開始像應用程式開發、資料庫、網路和安全防護一樣被嚴肅對待。此時,利害關係人(開發人員、DevOps、SRE、平台維運以及安全性和網路團隊)意識到,需要在整個企業內採用結構化、協調一致的API 管理方法。

在這一階段,南北向API 是應用堆疊的重要組成部分,同時東西向API 越來越受到關注。公司可能會採用一些(或許多)雲端原生應用程式的建構方式,包括微服務或無伺服器架構並有可能採用分散式容器編排系統。隨著公司不斷朝著API 優先架構的方向邁進,標準化需求悄悄產生。一個日益受到關注的問題是如何管理內部API,並為開發人員提供工具,從而以鬆散耦合的方式設計、建置、部署、管理和保護內部API 。

微服務通常是此階段的催化劑。團隊將單體應用程式分解成可獨立開發、部署和擴展的小型應用,並透過API 進行連結和管理這些微服務。這種分解可提高系統的可維護性、可擴展性和敏捷性。在這一階段,工程師專注於根據企業整體架構目標設計API,提高可重複使用性,並對API 開發、文件編制、安全防護和版本控制實施標準化實務。

階段3:全面升級

此時,企業已經有了一套日漸成熟的API 策略和方法。利害關係人已從承認API 優先的重要性轉變為將API 優先作為首要維運任務。在這階段,工程師們採用API 優先的方法來開發新應用程式或升級現有應用程式。 API 被設計和開發為應用和架構規劃流程的一部分,以便與底層系統、基礎設施和後端或資料應用緊密整合。此方法強調了定義明確、記錄完善且可重複使用的API 的重要性,旨在將這些API 部署為可擴展、可互操作系統的基礎。

在第三階段,團隊要為各種API(包括內部、合作夥伴、第三方和(如適用)公共API)制定全面的方法和治理實務。這些治理實務可確保整個企業的API 設計、安全防護、版本控制和生命週期管理保持一致,從而實現與外部利害關係人的高效協作和緊密整合。理想情況下,由於API 創立的基線模式和針對不同API 類別設定的策略類型,這在很大程度上這部分工作可以實現自動化。

由於API 堆疊具有靈活性和鬆散耦合性,因此在此階段,平台維運團隊應評估可協助企業改進API 系統的新技術,例如GraphQL 等新格式、用於自動更新文件的生成式AI 工具,以及可產生API 友善代碼的即購即用型Denon 等語言。

API 技術架構從成熟走向敏捷

API 專案進入第三個階段後,通常已積蓄了巨大的發展慣性。 API 不僅是關鍵任務元件,也是企業的基礎技術架構。開發人員、DevOps、SRE、安全和網路團隊都已成為利益相關者,並參與其中。平台維運團隊現在將API 視為其職責的重要組成部分,以及持續成功的關鍵因素。

新API 堆疊的優點在於支援輕鬆更換組件或修改方法,而不會造成重大中斷或停機。所有雲端原生的敏捷性實踐都可應用於API,包括A/B 部署、藍綠部署和灰階部署。到達第三階段後,您將具備足夠的敏捷性,可應付未來API 旅程中的任何波折。

原文作者:NGINX