掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
2023-04-13 08:21:38
云計算
云原生 本文提出使用一體化的API管理平臺在DevOps工作流中對API進(jìn)行全生命周期管理,解決過去多個工具之間數(shù)據(jù)隔離、流程阻滯的問題。

隨著DevOps理念在中國企業(yè)當(dāng)中的普及和發(fā)展,中國企業(yè)DevOps落地成熟度不斷提升,根據(jù)中國信通院的數(shù)據(jù)已有近6成企業(yè)向全生命周期管理邁進(jìn)。而在研發(fā)全生命周期管理之中,API管理的地位愈發(fā)顯得重要。隨著API數(shù)量的大幅增長,也帶來了新的API管理需求。如何在DevOps工作流中進(jìn)行API全生命周期管理,對項目研發(fā)來說具有重大意義。
在實際的DevOps工作流中,API管理面臨著以下6大方面的困境:規(guī)范、協(xié)作、自動化質(zhì)量、迭代、自動化。
因為團(tuán)隊中的API文檔質(zhì)量參差不齊,導(dǎo)致規(guī)范很難落地執(zhí)行。原因在于公司有很多的研發(fā)項目和團(tuán)隊,不同的團(tuán)隊有不同的API管理習(xí)慣,尤其是常用的Swagger方式的管理,很難進(jìn)行統(tǒng)一的平臺化管理。針對這個困境,可以通過統(tǒng)一的API管理平臺規(guī)范文檔的模板,引導(dǎo)編寫流程和習(xí)慣,也可以通過自動化文檔管理工具來簡化流程,提高管理效率。
在DevOps工具鏈中,每一個工具都會有不同的通知消息,導(dǎo)致重要信息淹沒在繁雜的通知中。其次是工作流程環(huán)節(jié)多、流程長,各崗位角色處理工作節(jié)奏不一,導(dǎo)致任務(wù)鏈上下游溝通效率低。針對這個困境,可以縮短流程環(huán)節(jié),多啟用自動化流程。同時制定精細(xì)化通知規(guī)則,根據(jù)優(yōu)先級提供差異化通知樣式。最后,再通過每日推送復(fù)盤消息,梳理當(dāng)日工作項和消息通知,防止遺漏。
傳統(tǒng)的自動化接口測試腳本需要用Python來編寫,門檻高,成本高。又因純手工編寫,開發(fā)變動后還須對照文檔二次調(diào)整接口的所有腳本。另外,自動化測試前期投入時間多,準(zhǔn)備工作繁雜。針對這個困境,可以使用界面化的自動化測試工具,降低腳本編寫門檻。還可以通過一站式API全生命周期管理平臺,免去大量前期工作,提高自動化測試效率。
當(dāng)下,在后端的接口自測、前段的MOCK測試、冒煙測試、集成測試、異常監(jiān)控這5個環(huán)節(jié)中都會使用到不同的工具,于是產(chǎn)生了跨工具之間對接復(fù)雜、數(shù)據(jù)隔離,導(dǎo)致API生產(chǎn)質(zhì)量薄弱,以及大量重復(fù)工作??梢酝ㄟ^一體化的API管理工具來打通不同環(huán)節(jié)的工作流,提高研發(fā)質(zhì)量和效能。
傳統(tǒng)的接口管理工具如Swagger沒有接口修改記錄,缺少版本管理,無法通過日志定位問題,無法進(jìn)行回滾和歷史對比。另外團(tuán)隊也缺少接口迭代計劃,導(dǎo)致開發(fā)量和影響面分析都難以評估。接口文檔作為研發(fā)項目的重要資產(chǎn),應(yīng)該對其變更進(jìn)行盤點(diǎn),包括提供接口文檔的歷史記錄??梢酝ㄟ^一站式API全生命周期管理工具,提供項目級的接口版本管理和接口迭代計劃,輸出更加優(yōu)質(zhì)的接口文檔,推進(jìn)DevOps工作流的效率提升。
DevOps作為宏觀層面的研發(fā)管理思路,目前并沒有大而全的工具,因此帶來企業(yè)內(nèi)部工具越積越多,數(shù)據(jù)流通阻滯,另外,傳統(tǒng)接口管理工具功能也很單一。針對這個問題,可以使用一體化的API全生命周期管理工具來實現(xiàn)與接口相關(guān)的所有問題,減少對接的工具數(shù)量。
基于前文對DevOps中API管理存在的問題,可以梳理出企業(yè)R&D需要以下六個方面:
對于滿足這些條件的工具,我們定義為API全生命周期智能協(xié)作平臺。在這個一體化平臺上,可以從API的開發(fā)態(tài)到發(fā)布態(tài)到運(yùn)營態(tài),對API進(jìn)行全生命周期管理。
平臺地址:https://www.eolink.com/apikit?utm_source=mo04sssjsh。
根據(jù)經(jīng)典的DevOps流程圖,我們從計劃、開發(fā)、構(gòu)建、測試、部署、發(fā)布、運(yùn)維跟監(jiān)控環(huán)節(jié),探討API管理工具對接。
基于代碼倉庫或swagger或本地研發(fā)工具,快速自動生成API文檔并快速調(diào)試,調(diào)試沒問題后再自動生成 MOCK API和批量接口用例,可以在線分享給前端和測試,文檔支持在線評論。最終還可以基于這個 API 文檔生成業(yè)務(wù)代碼,協(xié)助開發(fā)。
構(gòu)建階段可以基于 CI 觸發(fā)器自動構(gòu)建接口版本,方便后續(xù)版本回滾,還可基于接口版本做批量測試,以及做版本差異化的對比。
這兩個步驟可以讓測試對任務(wù)進(jìn)行評估,更好地去減輕測試的壓力。目前接口上自動化能測出來的問題,可預(yù)先通過API測試出來。
在測試階段我們推薦自動化測試,一體化API全生命周期管理工具可以去快速同步前面開發(fā)階段生成的測試用例,然后對這些測試用例進(jìn)行流程編排,組成自動化測試用例。也可以基于 API 網(wǎng)關(guān)的監(jiān)控日志做流量回放,自動生成自動化測試用例,識別增量接口并跑模糊測試。可以組成場景案例,做回歸測試。模糊測試跟回測試的測試結(jié)果發(fā)送測試報告,給到對應(yīng)的測試人員。
部署之后可以通過 CD 觸發(fā)器對環(huán)境進(jìn)行預(yù)測,試跑核心的測試場景,生成對應(yīng)的測試報告??梢酝ㄟ^多環(huán)境的測試結(jié)果進(jìn)行對比,排查環(huán)境差異的問題,也可以在部署好之后進(jìn)行壓力測試。(注:目前Eolink Apikit壓力測試功能將在年中上線,敬請期待)
在發(fā)布階段,主要對接 API 網(wǎng)關(guān),讓系統(tǒng)可以正常對外訪問,開放接口能力。
在運(yùn)維階段依然是使用 API 網(wǎng)關(guān),做流量控制、負(fù)載均衡或服務(wù)治理。在接口開放上可以去做Open API 調(diào)用管控,在線試用跟鑒權(quán)。在接口交易上可以去做接口托管、轉(zhuǎn)發(fā)跟計算計費(fèi)以及訂單管理。
可以設(shè)置標(biāo)準(zhǔn)的接口監(jiān)控指標(biāo),做更加靈活的監(jiān)控配置,并對告警進(jìn)行規(guī)則配置預(yù)設(shè),當(dāng)滿足這些告警的預(yù)設(shè)條件時就會發(fā)送消息通知,包括手機(jī)短信、主流的 IM 工具,以及webhook。
在消息通知方面,我們認(rèn)為不僅僅需要DevOps主流程的對接,而是要保證整個DevOps信息流的有效和及時傳遞,因此需要對 API 文檔的變更、測試報告、監(jiān)控告警,進(jìn)行智能分發(fā)。例如進(jìn)行分級推送、智能歸納、高風(fēng)險標(biāo)記等。
【重磅】DevOps工作流對接API全生命周期管理全流程圖
對于大規(guī)模團(tuán)隊來說,推薦基于DevOps全周期的接口自動化方案,需部署Eolink Apikit私有云版本。在這個方案中,可以把Swagger的URL自動同步到Eolink Apikit,自動生成文檔,進(jìn)一步基于文檔生成業(yè)務(wù)代碼,然后發(fā)送到代碼倉庫,再去觸發(fā)CI流水線,給文檔打版本,做模糊測試,并把報告發(fā)送給對應(yīng)的人員。接下來在CD環(huán)節(jié)部署好服務(wù)之后,可以對環(huán)境進(jìn)行預(yù)測試,并根據(jù)需求做壓力測試,并把測試報告發(fā)送給對應(yīng)的相關(guān)人員。除了CICD,還可以集成Eolink的網(wǎng)關(guān)產(chǎn)品,對API進(jìn)行運(yùn)維管理。
對于小規(guī)模團(tuán)隊來說,性價比更高的SaaS企業(yè)版,可以使用插件生成API文檔上傳Eolink Apikit,并進(jìn)行測試,自動生成測試用例。
目前該高性價比解決方案,已覆蓋從設(shè)計、開發(fā)到構(gòu)建、發(fā)布、部署的環(huán)節(jié),對運(yùn)維、監(jiān)控、壓力測試等環(huán)節(jié)尚且缺失,對于核心的API全自動化的管理流程已完全足夠。
本文提出使用一體化的API管理平臺在DevOps工作流中對API進(jìn)行全生命周期管理,解決過去多個工具之間數(shù)據(jù)隔離、流程阻滯的問題。
API全生命周期管理平臺Eolink Apikit是結(jié)合 API 設(shè)計、文檔管理、自動化測試、監(jiān)控、研發(fā)管理和團(tuán)隊協(xié)作的一站式 API 研發(fā)協(xié)作平臺,是API研發(fā)管理最佳實踐產(chǎn)品,可以幫助個人開發(fā)者到跨國企業(yè)用戶,快速、規(guī)范地對API進(jìn)行全生命周期管理,提高研發(fā)效能。
平臺地址:https://www.eolink.com/apikit?utm_source=mo04sssjsh。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流