企業(yè)如何構建內部開發(fā)者門戶?

在之前的文章中,我們了解了內部開發(fā)者門戶的基本概念。內部開發(fā)者是一個自助應用程序和數據存儲,是一個集中的樞紐,為開發(fā)及管理人員提供對各種工具、資源、文檔和工作流程的訪問。那么今天的文章將帶你了解企業(yè)如何構建內部開發(fā)者門戶。
?
為什么要構建內部開發(fā)者門戶
隨著軟件系統(tǒng)變得越來越復雜和分布式,特別是采用基于云的微服務架構,開發(fā)人員越來越難以跟蹤其項目中涉及的所有組件、依賴關系、配置和流程。此外,開發(fā)人員經常需要在不同云提供商或第三方服務提供的多個 UI 或門戶之間切換,以執(zhí)行各種任務,如配置基礎設施、創(chuàng)建 CI/CD 流水線、管理 API 網關或數據庫等。這導致信息碎片化、低效率、不一致性和錯誤。內部開發(fā)者門戶可以通過為組織內所有軟件資產和操作提供單一真實來源和統(tǒng)一接口來解決這些問題。它還可以實現更快的反饋循環(huán)、更好的協作、更高的質量標準和改善的開發(fā)人員體驗。
?
而內部開發(fā)者門戶可以使任何使用現代架構(如微服務、容器、無服務器等)開發(fā)軟件的企業(yè)組織受益,特別是那些使用多個云提供商或 DevOps 工具的組織。我們將企業(yè)需要構建內部開發(fā)者門戶的四大原因總結如下:
復雜性:由于現代軟件開發(fā)涉及許多移動部件,如應用程序、服務、API、數據庫等,這些東西往往以復雜的方式相互交互。對于開發(fā)人員來說,如果沒有一個中心平臺查看這些信息,想要跟蹤所有這些組件及其依賴關系、狀態(tài)、性能等可能十分困難。
生產力:開發(fā)人員經常需要在不同的工具和界面之間切換以執(zhí)行各種任務,如配置、部署、測試等。這些過程常常很耗時且容易出錯。內部開發(fā)者門戶可以簡化這些工作流程,并在可能的情況下將其自動化,節(jié)省時間并減少錯誤。
可見性:開發(fā)人員通常缺乏對其他相關團隊正在進行的工作、所使用的資源、所面臨的問題等方面的可見性。這可能導致重復工作、溝通不暢、沖突等問題。內部開發(fā)者門戶可以通過為所有軟件資產提供單一真實來源,從而增強團隊間的可見性和協作。
創(chuàng)新:開發(fā)人員經常希望在不犧牲安全或合規(guī)性的情況下嘗試新技術或方法。然而,他們可能面臨諸如缺乏訪問權限、審批流程或文檔等障礙。內部開發(fā)者門戶可以通過提供易于訪問的資源、模板庫等以及文檔反饋機制等來促進開發(fā)創(chuàng)新。
?
企業(yè)如何構建內部開發(fā)者門戶
企業(yè)想要構建內部開發(fā)者門戶,可參考以下幾個步驟:
確定目標。在開始構建內部開發(fā)者門戶之前,企業(yè)需要明確其目標是什么,想要解決的主要痛點或挑戰(zhàn)是什么。企業(yè)需要的關鍵特征或者功能是什么,應當制定一套什么樣的標準來衡量開發(fā)者門戶是否合格。
選擇工具。根據企業(yè)的目標和偏好,選擇合適的工具或平臺來建立企業(yè)內部開發(fā)者門戶。
整合數據源。為了將企業(yè)軟件資產的數據放在內部開發(fā)者門戶內,企業(yè)需要將其與各種數據源集成,如云供應商、CI/CD 工具、監(jiān)控系統(tǒng)、文檔平臺等。企業(yè)可以使用 API、webhooks、代理或插件來連接這些數據源到內部開發(fā)者門戶。此外請確保這些數據的準確性和時效性,并且在不同的來源之間保持一致。
定制用戶界面。為了使企業(yè)的內部開發(fā)者門戶 UI 更加用戶友好,企業(yè)應該定制用戶界面(UI)以滿足開發(fā)人員及其他相關團隊需求和喜好。例如可能使用的部件、儀表盤、圖表、表格或其他視覺元素,以清晰直觀的方式顯示數據。同時還應該考慮可用性方面的問題,如導航、可搜索性、過濾、排序或分頁。
實施自助服務。為了使開發(fā)者能夠對企業(yè)軟件資產進行自助操作,企業(yè)需要定義管理這些操作的邏輯和工作流程。此外,還應該實施護欄和批準機制,以確保安全和合規(guī)性。
測試和迭代。當建立了企業(yè)的內部開發(fā)門戶后,用真實的用戶和數據來進行測試。及時收集反饋和指標,以評估內部開發(fā)門戶是否滿足企業(yè)目標和期望。此外,還需要改進或提高的地方,并相應地內部開發(fā)者門戶進行迭代。
?
不難看出建立內部開發(fā)人員門戶并非易事,因為它涉及整合多種工具、系統(tǒng)和數據源,設計用戶友好的 UI,實施安全和治理政策,并定期維護和更新門戶。幸運的是,有一些可參考的實踐和原則可以指導企業(yè)的軟件工程團隊建立有效的內部開發(fā)人員門戶。這里我們總結了一些關于如何構建內部開發(fā)者門戶的關鍵要點:
產品化及解耦:內部開發(fā)者門戶應當被視為產品而非項目。它應該有清晰的愿景、路徑、反饋流程和以用戶為中心的設計。內部開發(fā)者門戶還應通過使用 API 或連接器與其交互的基礎設施或服務解耦。
符合標準且安全的設計:內部開發(fā)者門戶應當默認強制執(zhí)行合規(guī)性和安全標準。它應與現有身份提供商 (IdPs) 或單點登錄 (SSO) 解決方案集成以確保安全認證和授權。它還應根據不同用戶和團隊的權限和職責實施基于角色的訪問控制 (RBAC) 政策。
集中化:內部開發(fā)者門戶需要提供一個組織內所有軟件資產和操作的單一真實來源和統(tǒng)一界面。應使用強大的 API 能夠輕松搜索、查詢、發(fā)現、追蹤、審核等這些資產。
模塊化:內部開發(fā)者門戶應支持自定義數據模型、操作、小部件、插件、記分卡等,以反映組織特定要求、最佳實踐、度量標準或合規(guī)標準。它還應允許用戶使用無代碼方法創(chuàng)建自己的儀表板報告警報等。
善用 API:內部開發(fā)者門戶需要通過定義良好的 API 公開其功能,以便其他工具或服務進行應用。它還應利用來自云提供商或第三方服務的現有 API 與之進行交互。
?
挑戰(zhàn)與風險
然而,企業(yè)在建立內部開發(fā)者門戶時需要注意以下挑戰(zhàn)和風險:
抵制變化:開發(fā)者很有可能不愿意采用一個改變他們現有工作流程或習慣的新工具或界面。他們也可能對內部開發(fā)者門戶的價值或質量持懷疑態(tài)度。要克服這個挑戰(zhàn),企業(yè)需要清楚而頻繁地傳達內部開發(fā)門戶的愿景和價值主張,讓用戶參與設計和開發(fā)過程,提供培訓和支持,并收集反饋和推薦。
復雜性:建立一個內部開發(fā)者門戶是個非常復雜的任務,其中涉及到整合多種工具和技術,管理依賴性和兼容性問題,確保安全性和合規(guī)性等。要避免這個問題,企業(yè)需要從細節(jié)做起,簡單做起,首先關注最重要的功能和特性,盡可能使用現有的解決方案或框架,定期測試和迭代,并記錄所有相關信息。
后續(xù)維護:維護內部開發(fā)者門戶也是一個十分耗費資源的任務,因為企業(yè)需要不斷地更新、改進、修復錯誤等,以及監(jiān)控、排除故障、擴展等。為了克服該問題,我們建議企業(yè)為維護分配足夠的時間和資源,遵循代碼質量和文檔的最佳實踐和標準,盡可能使用自動化和編排工具,并測量及優(yōu)化性能。
?
總結
總之,對于想要提高生產力、協作、開發(fā)質量和體驗的團隊來說,內部開發(fā)者門戶是一個十分有價值的工具。它可以幫助開發(fā)者及其他相關聯的團隊成員通過為碎片化信息提供單一來源和統(tǒng)一界面,來管理現代軟件系統(tǒng)的復雜性和多樣性,以及他們所有的軟件資產和操作,從而提高生產力和效率。
?
而企業(yè)在建立內部開發(fā)者門戶時,需要仔細的規(guī)劃、設計、整合和維護。企業(yè)可以參考本文提到的一些構建步驟和需要注意的關鍵點,來更好地構建符合企業(yè)目標和期望的內部開發(fā)者門戶。