內部開發者平臺與門戶:二者有何關聯?

Seal數澈發表於2023-03-24

內部開發者門戶和內部開發者平臺是兩個密切相關的概念。透過之前的文章,我們瞭解到這兩個概念都旨在透過提供一個自助服務層,抽象出底層技術棧的複雜性和多樣性,來改善開發者的體驗和生產力。然而,它們有著不同的範圍和功能,且能夠相互補充。
 

在這篇文章中,我們將探討這兩者的相似之處、差異,以及二者對現代軟體開發重要性。
 

內部開發門戶與平臺的區別

內部開發者門戶是一個自助服務應用程式和資料儲存,能夠讓開發者和管理人員跟蹤和組織他們的工程團隊構建和使用的所有內容。內部開發者門戶是一個供開發人員發現和訪問內部開發者平臺的介面,可以幫助開發者們完成例如建立新的微服務、配置基礎設施、配置 CI/CD 流水線、管理環境、記錄 API 和訪問資源等任務。內部開發者門戶主要主要組成部分有:
 

  • 軟體目錄:這是企業中所有軟體資產的綜合清單,例如應用程式、微服務、庫、框架、資料庫等。它可以幫助開發者找到和重複利用現有的解決方案,而避免從頭開始建立新的東西。
  • 評分卡層:這是一個顯示每個軟體元件和資源的質量和可靠性的指標的介面,比如測試覆蓋率、錯誤率、響應時間等。它可以幫助開發者選擇合適的元件和資源,並且能夠及時發現並改進問題。
  • 自助服務操作層:在此操作層,開發者能夠執行一些常見任務而不需要其他人或團隊幫助的功能,比如建立新的微服務、配置基礎設施、部署應用程式等。在這個功能的加持下,能夠有效提高開發者效率和滿意度,減少錯誤和延遲。
  • 工作流自動化層:這是一個自動化地將程式碼從原始碼倉庫轉移到生產環境或其他目標環境的過程。它可以幫助開發者快速地交付高質量和可靠性的軟體產品,並且能夠隨時回滾或修復問題。
     

而內部開發者平臺則是平臺工程團隊將所有技術和工具結合在一起,為開發者鋪設黃金通道的彙總。它降低了整個工程組織的認知負荷,並實現了開發人員的自我服務。內部開發者平臺遵循平臺即產品(Platform-as-a-product)的方法,由平臺團隊按照產品管理原則和實踐來構建、維護和持續改進。根據提煉總結,一個內部開發者平臺通常由以下四層組成。
 

  • 雲層(cloud layer):這是提供訪問雲資源的層,如計算、儲存等。雲層可以基於一個或多個雲供應商。
  • 容器層(container layer):在容器層,開發人員能夠獲取對容器協調的訪問,如 Kubernetes。它允許開發人員使用容器部署和管理他們的應用程式,而不必擔心低階別的細節,如 pod 和服務等。
  • 平臺層(platform layer):在平臺層,開發人員可以順利訪問平臺服務,例如 CI/CD、日誌、監控等。在該層,開發人員可以使用預定義或自定義流水線、儀表盤等來自動化和精簡他們的工作流程。
  • 應用層(application layer):這是一個提供訪問應用服務的層,如資料庫、訊息傳遞佇列等。它允許開發人員提供和連線他們的應用程式與所需的服務,而不必擔心配置或維護問題。
     

在對比內部開發者平臺與內部開發者門戶時,我們不難看出兩者在範圍與功能上的區別。
 

首先 內部開發者門戶側重於為開發者提供統一的使用者體驗,以訪問各種平臺服務和資源。而 內部開發者平臺則側重於提供一套標準化的平臺服務和資源,讓開發者能夠輕鬆使用。內部開發者門戶可以被視為是內部開發者平臺上的一層,它能夠簡化開發者所需資源和服務的獲取,例如查詢和訪問、文件管理,同時促進團隊間的協作。
 

此外,內部開發者門戶更多的是對企業內現有的軟體和資料資產進行編目和歸納,而內部開發者平臺則是在組織中建立和管理新的軟體和資料資產。內部開發者門戶幫助企業跟蹤和組織已經建立和執行的東西,內部開發者平臺則幫助企業建立和執行開發需要的東西。
 

另外,與內部開發門戶相比,內部開發者平臺更依賴於底層技術棧。內部開發者門戶需要與提供不同平臺服務和資源的各種工具和技術整合,而內部開發者平臺可以抽象出底層技術棧的細節,為開發者們提供一個一致的介面。內部開發者門戶可以適應企業技術棧的多樣性,而內部開發者平臺可以減少企業技術棧的複雜性。
 

內部開發門戶與平臺的相似之處

內部開發者門戶與內部開發者平臺雖然概念不同,但有一些共同的目標和優勢,比如:
 

  • 改善開發人員的經驗和生產力:透過減少認知負荷,實現自助服務,併為開發人員提供一個統一的、直觀的介面來訪問各種平臺服務和資源。
  • 加快釋出週期:透過支援持續部署流程,在不同環境中自動部署,併為開發人員提供更快的反饋迴圈,以測試和迭代他們的應用程式。
  • 加強整合:透過標準化和簡化技術棧中不同元件和服務的整合,並提供一個一致的方式來記錄和溝通API和資料模式。
  • 自助服務:透過允許開發人員請求和提供資源、環境、部署等而不依賴於外部團隊,並提供一種管理許可權和治理策略的方式。
  • 提高安全性:透過強制執行整個技術棧的實踐和安全標準,如加密、認證等,並提供監測和審計活動的方式。
     

內部開發者門戶與平臺的相輔相成

如果企業正在尋找提高軟體開發速度、效率和質量的方法,在面對內部開發者門戶與內部開發者平臺時,可能需要思考是否同時採用兩者。接下來我們就來看看這兩者的關係,以及它們是如何相關聯的。
 

首先內部開發者門戶與平臺這兩個概念都是為了降低整個工程團隊的認知負荷,改善開發者的體驗。實際上,它們可以很好地相互補充。 內部開發者門戶和內部開發者平臺對現代軟體開發都很重要,因為它們解決了開發者體驗的不同但互補的方面
 

內部開發者門戶可以作為介面,開發者可以透過它發現和訪問內部開發者平臺的能力。例如,入口網站可以讓開發人員使用一個簡單的 Web UI 來配置基礎設施、配置應用程式、部署程式碼等,並連線到底層平臺協調器。內部開發者平臺可以作為門戶支撐,開發者們透過內部開發者門戶進入到內部開發者平臺,獲取他們所需要的資源。比如,平臺可以自動化工作流程、執行政策、整合工具或管理資源,以支援入口網站的自助服務。
 

內部開發者門戶幫助開發者從現有的技術棧中找到並使用他們需要的東西,而內部開發者平臺幫助開發者從新的技術棧中建立並管理所需資源。內部開發者門戶幫助開發者瞭解和操作他們的軟體和資料資產,而內部開發者平臺幫助開發者自動化和簡化他們的工作流程。 內部開發者門戶能夠幫助開發者與其他相關團隊進行協作和溝通,而內部開發者平臺幫助開發者進行不同商業模式的實驗和創新
 

因此,同時擁有一個內部開發者門戶和一個內部開發者平臺對於擁有大型且複雜專案的企業組織來說是十分有益的。兩者結合,可以提供統一的開發者體驗,提高生產力、質量和協作。
 

總結

當企業同時擁有內部開發者門戶與內部開發者平臺時,就能夠為開發者提供全面且一致的開發體驗,提升開發者的生產力、滿意度和創造力。企業可以利用這兩者的優勢:現有技術棧的多樣性和新技術棧的簡單性,從而達到平衡自助服務和治理、抽象和背景、標準化和定製等的目標。當然,分別構建內部開發者門戶與內部開發者平臺絕非易事,企業還是應當根據自身的情況與專案的需求來確定是否需要其一或兼備二者。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026925/viewspace-2941376/,如需轉載,請註明出處,否則將追究法律責任。

相關文章