### 階段1:定義

在API生命周期的第一階段,產(chǎn)品經(jīng)理和其他利益相關(guān)者必須定義單個API或API組的運營、業(yè)務(wù)和安全要求。這要求他們同意API的預(yù)期用例,并確定將在生命周期的每個后續(xù)階段進(jìn)行移動的團(tuán)隊成員。他們還應(yīng)該創(chuàng)建和配置一個團(tuán)隊成員可以協(xié)作的專用工作區(qū),以及一個連接到CI管道的GitHub存儲庫。這些步驟有助于穩(wěn)定API生命周期的其余部分,并為特定階段的工作建立位置和工具。

第2階段:設(shè)計

API設(shè)計涉及就API如何向消費者公開數(shù)據(jù)做出有意的決定。然后,這些決策被捕獲在API定義中,該定義是API預(yù)期功能的人類和機(jī)器可讀表示。API定義符合API規(guī)范,如OpenAPI和AsyncAPI,它們?yōu)锳PI定義提供了標(biāo)準(zhǔn)化的格式和詞匯,并為API合同、文檔、模擬和測試奠定了基礎(chǔ)。

領(lǐng)導(dǎo)者可能希望通過定義組織模式和實踐來塑造API的表面積和行為來標(biāo)準(zhǔn)化設(shè)計階段。例如,他們可能要求所有團(tuán)隊遵循OpenAPI規(guī)范,他們還可以定義可以通過自動檢查強(qiáng)制執(zhí)行的大寫、命名和標(biāo)點符號的樣式規(guī)則。

第3階段:發(fā)展

設(shè)計完API后,開發(fā)人員負(fù)責(zé)編寫實現(xiàn)其預(yù)期功能的代碼。大多數(shù)開發(fā)團(tuán)隊使用Git進(jìn)行版本控制,這使他們能夠安全地管理更改,并在必要時恢復(fù)到以前的迭代。他們通常還使用GitHub或GitLab存儲庫來存儲他們的源代碼,跟蹤與代碼相關(guān)的問題,并進(jìn)行代碼審查。開發(fā)工作流程差異很大,因此領(lǐng)導(dǎo)者必須明確定義這些流程,以標(biāo)準(zhǔn)化其團(tuán)隊的方法。

第4階段:測試

API測試發(fā)生在API生命周期的“開發(fā)”、“安全”和“部署”階段,使開發(fā)人員和QA團(tuán)隊能夠確認(rèn)API是否按預(yù)期工作。API測試可以手動執(zhí)行,也可以從多個地理區(qū)域或在CI/CD管道中自動運行。早期測試,通常有助于團(tuán)隊在問題根深蒂固或進(jìn)入生產(chǎn)之前浮出水面并進(jìn)行補(bǔ)救。

有許多不同類型的API測試,每個測試都有其獨特的目的。例如,合同測試用于確保任何更改不會導(dǎo)致API偏離設(shè)計階段的承諾。相比之下,性能測試可以幫助確認(rèn)API能夠在適當(dāng)?shù)臅r間內(nèi)提供響應(yīng)。

第5階段:安全

API生命周期的“安全”階段涉及檢查API的常見安全漏洞,這些漏洞可能會損害應(yīng)用程序的整體安全態(tài)勢。例如,重要的是要確認(rèn)API的身份驗證邏輯只允許合法用戶與API交互并訪問其數(shù)據(jù)。這些API安全檢查可以在CI/CD管道中手動或自動運行,它們有助于確保組織投資組合中的每個API都遵循相同的安全標(biāo)準(zhǔn)。

第6階段:部署

API生命周期的“部署”階段是指將API發(fā)布到開發(fā)、分期和生產(chǎn)環(huán)境的過程。許多團(tuán)隊利用CI/CD管道和API網(wǎng)關(guān)來標(biāo)準(zhǔn)化部署流程,并確保每批更改在到達(dá)消費者之前都經(jīng)過適當(dāng)?shù)臏y試和安全。一致的流程使部署更具可預(yù)測性,這對每周多次發(fā)布新代碼的敏捷團(tuán)隊尤為重要。

第7階段:觀察

API生命周期的“觀察”階段涉及在生產(chǎn)中收集、可視化和提醒API遙測數(shù)據(jù)。在此階段,SRE和DevOps工程師將配置監(jiān)視器,以自動通知他們API性能和安全問題,并利用將API性能數(shù)據(jù)置于上下文中的APM工具。在錯誤、延遲和安全漏洞對依賴服務(wù)、合作伙伴和客戶產(chǎn)生負(fù)面影響之前,API可觀察性在浮現(xiàn)錯誤、延遲和安全漏洞方面發(fā)揮著至關(guān)重要的作用。

第8階段:分發(fā)

在“分發(fā)”階段,團(tuán)隊將專注于提高其API的可發(fā)現(xiàn)性。API目錄在這個階段起著至關(guān)重要的作用。公共API目錄幫助API生產(chǎn)者接觸和支持第三方消費者,而私有API目錄使內(nèi)部團(tuán)隊更容易協(xié)作和使用彼此的API。每個API還應(yīng)包括詳細(xì)的描述和相關(guān)標(biāo)簽,這將有助于確保目錄的搜索引擎可以顯示它。

分發(fā)可能是API生命周期的最后階段,但這還不是結(jié)束。API工作具有高度迭代性,團(tuán)隊在處理消費者反饋和開發(fā)新功能時,將不斷返回到最早的生命周期階段。

參考資料

英文原文: API lifecycle
RESTful API生命周期管理實踐

一站搜索、試用、比較全球API!
冪簡集成已收錄 5484種API!
試用API,一次比較多個渠道