軟件項(xiàng)目中API的處理和安全:一對(duì)強(qiáng)大的搭檔_北京軟件開(kāi)發(fā)公司
發(fā)表日期:2023-02-23 14:59:28 ?? 文章編輯:宜天信達(dá) ?? 瀏覽次數(shù):
軟件項(xiàng)目中API 治理意味著建立和執(zhí)行安全性、合規(guī)性、樣式、元數(shù)據(jù)、生命周期、分類法和版本控制的標(biāo)準(zhǔn)。在當(dāng)今需要快速?zèng)Q策和實(shí)施的快節(jié)奏環(huán)境中,必須每天制定標(biāo)準(zhǔn)并遵守這些標(biāo)準(zhǔn)被認(rèn)為是有害的。由于永無(wú)止境的制衡以及無(wú)法以敏捷的方式對(duì)市場(chǎng)狀況做出反應(yīng),一些項(xiàng)目拖延了數(shù)年。然而,在另一個(gè)極端,沒(méi)有適當(dāng)?shù)闹卫硪?guī)則可能會(huì)導(dǎo)致孤立的項(xiàng)目缺乏采用,并且可能容易受到代價(jià)高昂的安全威脅。
為了在兩個(gè)極端之間找到平衡點(diǎn),設(shè)置有機(jī)的 API 治理規(guī)則很重要;它們應(yīng)該適應(yīng)您正在使用的技術(shù),無(wú)論它們是什么,它們應(yīng)該集成到您用于API 管理的工具中,并且它們應(yīng)該自動(dòng)化以盡可能早地在流程中發(fā)出警報(bào)和指導(dǎo)。目標(biāo)是在不妨礙速度和創(chuàng)新的情況下提高生產(chǎn)力。
隨著新的市場(chǎng)趨勢(shì)、突出的安全威脅和新興技術(shù),負(fù)責(zé) API 治理的人員必須應(yīng)對(duì)變化的挑戰(zhàn)。現(xiàn)在,讓我們來(lái)看看當(dāng)前的治理挑戰(zhàn)以及如何應(yīng)對(duì)這些挑戰(zhàn)的建議。
1.多樣化的API管理格局
如今,軟件公司對(duì)其API 管理工具有復(fù)雜的要求。他們有幾個(gè)必須同時(shí)處理的約束;他們客戶的位置、不同業(yè)務(wù)部門(mén)所需的能力、當(dāng)?shù)睾弦?guī)要求、現(xiàn)有團(tuán)隊(duì)人才和收購(gòu)等等。幾乎不可能找到一個(gè)單一的工具來(lái)滿足所有這些限制,這就是為什么當(dāng)今的組織必須使用分布在多個(gè)云供應(yīng)商之間的多個(gè)API 管理解決方案。
在這個(gè)復(fù)雜的 API 管理環(huán)境中,API 治理應(yīng)該在支持多樣性的同時(shí)創(chuàng)建和執(zhí)行標(biāo)準(zhǔn)。一個(gè)地方可以對(duì)由不同供應(yīng)商的網(wǎng)關(guān)代理、部署在不同的云中并由不同的微服務(wù)組成的 API 進(jìn)行分類和管理,這將實(shí)現(xiàn)可見(jiàn)性和易于控制。這個(gè)單一的地方將是部署的 API 的目錄,并在服務(wù)網(wǎng)格中的任何地方與微服務(wù)一起代理。同時(shí),它將標(biāo)準(zhǔn)化他們的元數(shù)據(jù)(包括命名約定、所有者、附加文檔、支持團(tuán)隊(duì))、策略和版本控制。通過(guò)為 API 產(chǎn)品經(jīng)理、架構(gòu)師和運(yùn)維專業(yè)人員提供工具、儀表板和通信機(jī)制,它可以充當(dāng)單一的事實(shí)來(lái)源并向左轉(zhuǎn)移治理。
2. API 的激增
采用 API 已成為不同業(yè)務(wù)部門(mén)協(xié)同工作、與合作伙伴聯(lián)系以及將某些功能外包給第三方軟件開(kāi)發(fā)供應(yīng)商以節(jié)省時(shí)間和精力的標(biāo)準(zhǔn)業(yè)務(wù)方式。使用 API 來(lái)完成各種任務(wù)可以簡(jiǎn)化互操作性并加快應(yīng)用程序開(kāi)發(fā)速度。然而,這種業(yè)務(wù)方式造成了一種通常被稱為 API 激增的情況:組織所依賴的 API 太多,而且很難跟蹤所有這些 API 并確保它們的安全。
這是特別需要治理的地方??刂?API 生命周期的所有階段,從設(shè)計(jì)到停用、批準(zhǔn)工作流程和通知,將確保 API 通過(guò)質(zhì)量檢查。這些檢查將確保滿足有關(guān)命名、元數(shù)據(jù)和補(bǔ)充文檔的組織約定。同樣,將全局安全策略應(yīng)用于所有 API 或合格的子集,可確保 API 不會(huì)在沒(méi)有必要保護(hù)的情況下投入生產(chǎn)。
盡管將這些檢查添加到流程中可能看起來(lái)像是在制造官僚主義并使事情變慢,但實(shí)際上并非如此。正確的 API 管理工具將這些步驟集成到日常操作中并使流程自動(dòng)化。一個(gè)額外的好處是 API Marketplace 解決方案可以對(duì)所有 API(無(wú)論是內(nèi)置的還是第三方的)進(jìn)行分類,并提供全面的補(bǔ)充信息,無(wú)論其提供商如何,都可以更輕松地找到和使用正確的 API,從而提高生產(chǎn)率。它還可以在具有不同職責(zé)的團(tuán)隊(duì)之間引入隔離,發(fā)布可操作事件和更改通知,甚至控制 API 在不同自定義生命周期狀態(tài)下的可見(jiàn)性。
3. API格式越來(lái)越多
REST、SOAP、OData、Websocket、GraphQL、事件、消息傳遞……組織對(duì)應(yīng)用程序到應(yīng)用程序通信的需求是無(wú)限的。因此,響應(yīng)不同用例的 API 類型越來(lái)越多。但是,所有這些類型仍然存在一些共同的基本要求。治理程序應(yīng)該將所有這些 API 格式甚至其他任意服務(wù)和資產(chǎn)視為一等公民,并能夠執(zhí)行相同的規(guī)則和政策。其中包括版本控制、樣式、元數(shù)據(jù)、批準(zhǔn)工作流、生命周期更改通知和通用的基本安全策略。
除了合規(guī)性要求之外,開(kāi)發(fā)人員門(mén)戶解決方案還可以提供治理功能。它可以允許對(duì)不同的 API 類型以及事件、資產(chǎn)和應(yīng)用程序進(jìn)行編目,其中包含強(qiáng)制性和補(bǔ)充性元數(shù)據(jù)和文檔,以便開(kāi)發(fā)人員輕松查找和使用。除了跨不同類型的通用元數(shù)據(jù)字段外,還可以對(duì)其進(jìn)行自定義以包含特定于類型的表示,以提高應(yīng)用程序開(kāi)發(fā)人員的工作效率。
4.自定義API旅程
每個(gè)組織都有一個(gè)自定義的 API 旅程,這取決于他們獨(dú)特的 CI/CD 流程;他們用于開(kāi)發(fā)、測(cè)試、監(jiān)控和其他步驟的不同工具;以及團(tuán)隊(duì)成員擁有的技術(shù)技能(一切都是代碼、低代碼、無(wú)代碼)。根據(jù)他們的情況,一個(gè)組織的 API 程序由許多相互連接的工具組成。但是,必須在 API 旅程的每一步都應(yīng)用治理。僅舉幾例要求,可能有設(shè)計(jì)期間的樣式指南、開(kāi)發(fā)期間的不同測(cè)試用例、生產(chǎn)期間的運(yùn)行時(shí)策略規(guī)則以及更新和停用期間的依賴性和關(guān)系注意事項(xiàng)。
盡管各個(gè)北京軟件公司全面的 API 治理解決方案可能會(huì)提供模板來(lái)滿足許多通用用例,但仍可能存在許多自定義需求。為了滿足這些要求,可能需要自定義代碼和集成。這就是為什么最好將 API 治理程序設(shè)計(jì)為可擴(kuò)展的。管理 API、自定義擴(kuò)展和可配置的批準(zhǔn)工作流將補(bǔ)充您的治理解決方案以插入其他工具。
為了在兩個(gè)極端之間找到平衡點(diǎn),設(shè)置有機(jī)的 API 治理規(guī)則很重要;它們應(yīng)該適應(yīng)您正在使用的技術(shù),無(wú)論它們是什么,它們應(yīng)該集成到您用于API 管理的工具中,并且它們應(yīng)該自動(dòng)化以盡可能早地在流程中發(fā)出警報(bào)和指導(dǎo)。目標(biāo)是在不妨礙速度和創(chuàng)新的情況下提高生產(chǎn)力。
隨著新的市場(chǎng)趨勢(shì)、突出的安全威脅和新興技術(shù),負(fù)責(zé) API 治理的人員必須應(yīng)對(duì)變化的挑戰(zhàn)。現(xiàn)在,讓我們來(lái)看看當(dāng)前的治理挑戰(zhàn)以及如何應(yīng)對(duì)這些挑戰(zhàn)的建議。
1.多樣化的API管理格局
如今,軟件公司對(duì)其API 管理工具有復(fù)雜的要求。他們有幾個(gè)必須同時(shí)處理的約束;他們客戶的位置、不同業(yè)務(wù)部門(mén)所需的能力、當(dāng)?shù)睾弦?guī)要求、現(xiàn)有團(tuán)隊(duì)人才和收購(gòu)等等。幾乎不可能找到一個(gè)單一的工具來(lái)滿足所有這些限制,這就是為什么當(dāng)今的組織必須使用分布在多個(gè)云供應(yīng)商之間的多個(gè)API 管理解決方案。
在這個(gè)復(fù)雜的 API 管理環(huán)境中,API 治理應(yīng)該在支持多樣性的同時(shí)創(chuàng)建和執(zhí)行標(biāo)準(zhǔn)。一個(gè)地方可以對(duì)由不同供應(yīng)商的網(wǎng)關(guān)代理、部署在不同的云中并由不同的微服務(wù)組成的 API 進(jìn)行分類和管理,這將實(shí)現(xiàn)可見(jiàn)性和易于控制。這個(gè)單一的地方將是部署的 API 的目錄,并在服務(wù)網(wǎng)格中的任何地方與微服務(wù)一起代理。同時(shí),它將標(biāo)準(zhǔn)化他們的元數(shù)據(jù)(包括命名約定、所有者、附加文檔、支持團(tuán)隊(duì))、策略和版本控制。通過(guò)為 API 產(chǎn)品經(jīng)理、架構(gòu)師和運(yùn)維專業(yè)人員提供工具、儀表板和通信機(jī)制,它可以充當(dāng)單一的事實(shí)來(lái)源并向左轉(zhuǎn)移治理。
2. API 的激增
采用 API 已成為不同業(yè)務(wù)部門(mén)協(xié)同工作、與合作伙伴聯(lián)系以及將某些功能外包給第三方軟件開(kāi)發(fā)供應(yīng)商以節(jié)省時(shí)間和精力的標(biāo)準(zhǔn)業(yè)務(wù)方式。使用 API 來(lái)完成各種任務(wù)可以簡(jiǎn)化互操作性并加快應(yīng)用程序開(kāi)發(fā)速度。然而,這種業(yè)務(wù)方式造成了一種通常被稱為 API 激增的情況:組織所依賴的 API 太多,而且很難跟蹤所有這些 API 并確保它們的安全。
這是特別需要治理的地方??刂?API 生命周期的所有階段,從設(shè)計(jì)到停用、批準(zhǔn)工作流程和通知,將確保 API 通過(guò)質(zhì)量檢查。這些檢查將確保滿足有關(guān)命名、元數(shù)據(jù)和補(bǔ)充文檔的組織約定。同樣,將全局安全策略應(yīng)用于所有 API 或合格的子集,可確保 API 不會(huì)在沒(méi)有必要保護(hù)的情況下投入生產(chǎn)。
盡管將這些檢查添加到流程中可能看起來(lái)像是在制造官僚主義并使事情變慢,但實(shí)際上并非如此。正確的 API 管理工具將這些步驟集成到日常操作中并使流程自動(dòng)化。一個(gè)額外的好處是 API Marketplace 解決方案可以對(duì)所有 API(無(wú)論是內(nèi)置的還是第三方的)進(jìn)行分類,并提供全面的補(bǔ)充信息,無(wú)論其提供商如何,都可以更輕松地找到和使用正確的 API,從而提高生產(chǎn)率。它還可以在具有不同職責(zé)的團(tuán)隊(duì)之間引入隔離,發(fā)布可操作事件和更改通知,甚至控制 API 在不同自定義生命周期狀態(tài)下的可見(jiàn)性。
3. API格式越來(lái)越多
REST、SOAP、OData、Websocket、GraphQL、事件、消息傳遞……組織對(duì)應(yīng)用程序到應(yīng)用程序通信的需求是無(wú)限的。因此,響應(yīng)不同用例的 API 類型越來(lái)越多。但是,所有這些類型仍然存在一些共同的基本要求。治理程序應(yīng)該將所有這些 API 格式甚至其他任意服務(wù)和資產(chǎn)視為一等公民,并能夠執(zhí)行相同的規(guī)則和政策。其中包括版本控制、樣式、元數(shù)據(jù)、批準(zhǔn)工作流、生命周期更改通知和通用的基本安全策略。
除了合規(guī)性要求之外,開(kāi)發(fā)人員門(mén)戶解決方案還可以提供治理功能。它可以允許對(duì)不同的 API 類型以及事件、資產(chǎn)和應(yīng)用程序進(jìn)行編目,其中包含強(qiáng)制性和補(bǔ)充性元數(shù)據(jù)和文檔,以便開(kāi)發(fā)人員輕松查找和使用。除了跨不同類型的通用元數(shù)據(jù)字段外,還可以對(duì)其進(jìn)行自定義以包含特定于類型的表示,以提高應(yīng)用程序開(kāi)發(fā)人員的工作效率。
4.自定義API旅程
每個(gè)組織都有一個(gè)自定義的 API 旅程,這取決于他們獨(dú)特的 CI/CD 流程;他們用于開(kāi)發(fā)、測(cè)試、監(jiān)控和其他步驟的不同工具;以及團(tuán)隊(duì)成員擁有的技術(shù)技能(一切都是代碼、低代碼、無(wú)代碼)。根據(jù)他們的情況,一個(gè)組織的 API 程序由許多相互連接的工具組成。但是,必須在 API 旅程的每一步都應(yīng)用治理。僅舉幾例要求,可能有設(shè)計(jì)期間的樣式指南、開(kāi)發(fā)期間的不同測(cè)試用例、生產(chǎn)期間的運(yùn)行時(shí)策略規(guī)則以及更新和停用期間的依賴性和關(guān)系注意事項(xiàng)。
盡管各個(gè)北京軟件公司全面的 API 治理解決方案可能會(huì)提供模板來(lái)滿足許多通用用例,但仍可能存在許多自定義需求。為了滿足這些要求,可能需要自定義代碼和集成。這就是為什么最好將 API 治理程序設(shè)計(jì)為可擴(kuò)展的。管理 API、自定義擴(kuò)展和可配置的批準(zhǔn)工作流將補(bǔ)充您的治理解決方案以插入其他工具。