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