什麼是內部開發人員平台 (IDP)?

軟體工程的主要目標之一是解決問題並創造價值,但現代開發的日常阻礙可能會使這個目標變得模糊。內部開發人員平台 (IDP) 的設計宗旨是減輕開發人員的負擔,讓他們專心開發軟體。IDP 的主要目標不僅是加快軟體推送速度,還要建立安全、有效率且支援完善的範本和自動化機制 (通常稱為「黃金途徑」),讓開發人員能輕鬆建構及部署應用程式,減輕精神負擔。

在 Google Kubernetes Engine Enterprise 上建構內部開發人員平台

內部開發人員平台 (IDP) 的定義

內部開發人員平台整合了由專門平台團隊建構及維護的一組精選技術和工具。這個堆疊通常包含容器自動化調度管理解決方案、基礎架構即程式碼 (IaC) 工具,以及由開放原始碼專案支援的 CI/CD 管道。

內部開發人員平台 (IDP) 應視為產品,開發人員則是使用者。因此,務必滿足他們的用途、收集意見回饋,並透過疊代持續修正平台。IDP 是連結這些工具的層級,可免除複雜度,讓開發人員透過簡單的自助服務模型執行工作。我們的目標是讓正確的做法變得簡單,讓開發人員能自信地自主建構及推送軟體。

H2:什麼是認知負載?

認知負載是指一個人工作記憶中花費的心力總量。這就像開發人員的心智頻寬。如果將這些頻寬用於非程式設計工作,他們專注於解決複雜問題的能力就會降低。

開發人員經常必須在數十種不同的工具、資訊主頁和設定檔之間切換,才能部署簡單的變更。每次切換情境,大腦都必須載入一組新資訊,這會造成精神負擔。不斷切換工具和程序會增加認知負載,導致過勞、錯誤增加,以及創新速度變慢。

平台工程扮演的角色

平台工程是設計、建構及維護內部開發人員平台的學科。如果將 IDP 視為產品,平台工程團隊就是負責產品生命週期的產品團隊。他們的客戶是組織的開發人員。

這種做法代表平台使用方式就像其他軟體產品使用方式。平台工程團隊的職責是瞭解開發人員需求、制定發展藍圖,並提供可靠、安全且易於使用的工具。

比較內部開發人員平台與內部開發人員入口網站

平台和入口網站有何不同?這是我們經常聽到的問題。雖然這兩個詞有時會互通使用,但代表的是開發人員體驗的不同層面。內部開發人員平台 (IDP) 就像整個引擎,包含所有工具、工作流程和基礎架構,可推動開發生命週期。

另一方面,內部開發人員入口網站則是該引擎的資訊主頁。它是圖形使用者介面 (GUI),可讓開發人員透過單一集中位置存取平台功能。開發人員入口網站可協助開發人員探索及使用工具、查看說明文件、建構新服務,以及檢查建構作業的狀態,不必瞭解底層複雜的運作機制。雖然完整的 IDP 通常會包含開發人員入口網站,以提升可用性和曝光率,但平台本身是整套基礎技術和自動化程序。

IDP 的重要元件

雖然每間公司的需求不同,但大多數 IDP 都是由幾個相互合作的核心元件組成。這些元件的重點,在於打造從開發到正式環境的簡化、安全且有效率的路徑。

開發人員體驗是核心介面,可免除基礎架構的底層複雜性。通常是開發人員入口網站或指令列介面 (CLI),讓開發人員能自助存取所需的工具、說明文件和資源。舉例來說,Cloud Code 等 IDE 外掛程式可協助開發人員直接在熟悉的工具中,編寫及偵錯程式碼;而使用 Google Cloud 上的 Backstage 等解決方案建構的入口網站,則可提供整個軟體生態系統的單一整合檢視畫面。

應用程式範本 (有時稱為黃金途徑) 可為開發人員提供預先定義的最佳做法結構,方便他們建構新應用程式。這些範本可包含樣板程式碼、設定好的 CI/CD 管道、基礎架構即程式碼檔案和監控資訊主頁。團隊可透過 App Design Center 等資源,建立及管理範本目錄,確保可輕鬆找到最佳做法並重複使用。這種做法可加快開發人員的到職訓練速度,並確保所有服務的一致性。

這個元件可將安全性直接整合至開發工作流程。自動強制執行安全政策,例如 Identity and Access Management (IAM)、角色式存取控管 (RBAC)、網路政策、安全漏洞掃描和基礎架構強化。將安全防護機制嵌入平台基礎架構,團隊就能「提前確保安全」,在開發生命週期初期解決潛在問題。這樣一來,在正式發布前,就能避免安全問題成為瓶頸。

以應用程式為中心的基礎架構,可在底層基礎架構上建立標準化抽象層。提供統一模型,可解決重要的營運問題,讓您在所有環境中採用相同的網路、安全性和觀測做法。這種一致性簡化了管理作業,並減輕開發人員的認知負擔,他們不必擔心每個部署目標的獨特細節,例如特定的 Google Kubernetes Engine (GKE) 叢集設定

IDP 會管理執行程式碼的應用程式執行階段。這些執行階段可以是 GKE 等容器自動化調度管理平台、Cloud Run 等無伺服器平台,或是其他運算環境。IDP 會自動佈建、設定及維護這些執行階段。開發人員不必具備深厚的基礎運算服務專業知識,就能快速且可靠地部署應用程式。

雲端應用程式平台是整合式雲端服務組合,可做為整個 IDP 的核心支柱。將運算、儲存空間、網路、Cloud API、CI/CD 工具和觀測能力整合至一致的系統。在 Google Cloud 等全方位基礎架構上建構 IDP,團隊就能運用強大的代管服務,加速開發、提升可靠性,並確保平台可擴充,滿足需求。

IDP 的優點

採用內部開發人員平台可為工程組織帶來顯著優勢。

提升開發人員體驗

IDP 可減少認知負載,並提供簡單的自助式工作流程,有助於提升開發人員體驗。

縮短產品/服務上市時間

自動化和標準化有助於加快軟體建構和部署程序,讓團隊能更快為顧客創造價值。

提高可靠性和一致性

IDP 可透過黃金途徑,協助強制執行最佳做法,進而讓應用程式部署作業更一致可靠。

加強安全防護與法規遵循

安全政策可直接嵌入平台範本和自動化工作流程,確保所有新服務從一開始就符合法規要求。

開發人員享有更多自主權

集中平台管理可減輕開發人員的工作負擔,讓他們專注於開發功能,並自主管理應用程式的生命週期。

IDP 如何連結現有堆疊

為了瞭解 IDP 的實際運作方式,我們來看看使用 Google Cloud 的常見內部開發人員平台範例。假設開發人員需要啟動新的微服務,而該服務需要專屬資料庫和 CI/CD 管道。

沒有 IDP

開發人員需要手動建立 Cloud 原始碼存放區、編寫 Terraform 模組來佈建 Cloud SQL 資料庫、建立及設定 Google Kubernetes Engine (GKE) 部署檔案 (YAML)、在 Cloud Build 中設定新觸發條件,以及管理所有項目的 IAM 權限。這可能需要數天時間,並涉及多個團隊。

使用 IDP

程序簡單許多。

透過入口網站提出要求:開發人員登入開發人員入口網站,找到「Python 微服務搭配 Cloud SQL 資料庫」的預先建構範本。

簡單輸入內容:填寫簡短表單,提供服務名稱和團隊名稱。

開始自動化調度管理:開發人員點選「建立」後,平台自動調度管理工具就會接手。

自動化動作:在幕後,自動調度管理工具會使用 Google Cloud API 執行一系列自動化任務:

  • 系統會根據範本,在 Cloud Source Repositories 中建立新的存放區
  • 執行 Terraform 方案,佈建新的 PostgreSQL 適用的 Cloud SQL 執行個體
  • 這個指令會建立必要的資訊清單,並套用至 Google Kubernetes Engine (GKE) 叢集,以建立新的部署環境
  • 在 Cloud Build 中設定新的 CI/CD 管道,自動建構及部署服務

完成:程序會在幾分鐘內完成。開發人員會收到通知,內含新存放區連結、GKE 測試環境中正在執行的應用程式連結,以及資料庫憑證連結,完全不必撰寫任何設定。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。
您希望解決什麼問題?
What you'll get:
逐步指南
參考架構
可用的預先建構解決方案
這項服務以 Vertex AI 建構,必須年滿 18 歲才能使用。請勿輸入個人資訊,或是敏感、機密的內容。

額外資源

如要進一步瞭解組成內部開發人員平台的概念和技術,請參閱下列其他資源:

  • Google Cloud 平台工程瞭解如何設計及建構工具鏈和工作流程,啟用開發人員自助服務
  • DevOps深入瞭解文化、做法和工具,協助組織快速提供應用程式和服務

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。