使用護欄讓開發人員能夠透過自助
使用護欄的自助是授權開發小組在一組定義完善的參數或護欄內做出自己的決策的原則。 護欄是由主要項目關係人建立並同意的。 項目關係人可以包括整個組織的安全性、作業、架構小組。
使用具有護欄的自助功能,開發小組會保留自主性,以獨立做出開發決策。 自動化和原則可協助專案關係人確保安全性、合規性、作業、標準和成本受到適當管理。 啟用此自動化需要跨小組團隊共同作業,讓開發人員、操作員和專家能夠執行更多作業,而不需要犧牲所需的治理。 開發人員接著可以專注於儘快傳遞商業價值。
[我們告訴開發人員,] 別擔心一切如何運作,只要將其開啟或關閉、填入、將字串放入任何您需要執行的動作中,基本上就是自助,因為他們有自述檔,而且他們有輸入、輸出,而且他們可以放入任何喜歡的內容。 - Daniel, Cloud Engineer, Fortune 500 Media Company
為您的鋪路路徑提供自助體驗的目標是減少開發人員的辛勤,同時為開發小組、營運和管理提供可見度。 其概念是,您會為具有最少學習曲線的指定工作建立體驗,這要歸功於其基礎自動化和數據匯總功能。 除了基礎結構布建這類活動之外,這些體驗可以提供可觀察性、原則、事件管理等重要功能的存取權。 此概念可延伸到探索和共用內部 API、SDK,以及共用工具和服務。 這些體驗可減少額外負荷,讓開發小組能夠專注於完成工作。
內部開發人員平臺可讓開發人員像數位店面客戶一樣運作
內部開發人員平臺提供與企業對企業數位店面類似的功能。 數位商店原本就設計來協助客戶自助。 它們可以處理比傳統存放區前端更多的輸送量,因為它們提供探索和滿足有趣專案的方法,而不需要與任何人交談。 使用此比喻,開發人員是客戶,而內部開發人員平臺也提供類似的自助體驗。 就像零售商、操作員、平台工程師和其他角色一樣,然後設定開發人員可以要求設計來容納組織護欄的項目目錄。
例如,您可以考慮要求存取新工具的開發人員,就像他們製作數位店面訂單一樣。 就像訂單一樣,一旦提交要求,開發人員想要能夠追蹤進度,並知道何時完成。 在幕後,要求應該會自動路由傳送至正確的履行提供者,以符合需求。 您可以將其中一個持續整合和傳遞 (CI/CD) 系統視為一個履行提供者、 GitOps 工具或規範性應用程式平臺作為第二個,以及將手動程式的工作流程自動化工具視為第三個。 在所有情況下,開發人員都可以以相同方式從定義完善的目錄自助專案。
使用所有項目作為程序代碼模式
透過持續傳遞 (CD) 管線和 GitOps 工具使用 基礎結構即程式代碼 (IaC) 是啟用自助的重要部分。 具有 CD 的 IaC 可讓您使用 Bicep、Terraform、Helm 圖表和其他工具來依需求建立和終結雲端資源。 因為雲端基礎結構的設定就像原始程式碼存放庫中的程式碼一樣管理,因此您可以套用 Git 存放庫的所有優點,例如安全性和可稽核性。
布建通用基礎結構和工具並不是 IaC 方法的唯一優點。 您可以針對其他案例調整作為程序代碼模式,包括程式代碼和原則即程式代碼的安全性(透過 Azure 原則 和開放式原則代理程式等工具)。 遵循這項技術之後,通常會將 YAML 或 JSON 組態檔推送至存放庫,此時會觸發處理檔案的工作流程。 這些檔案可能是應用程式存放庫,例如 dependabot.yml 或 CODEOWNERS,或者它們可能會保留在個別的中央存放庫中。 您甚至可以將此延伸至自己的案例,以真正讓所有項目成為程序代碼 (EaC) 的現實。
開發人員可以使用中央目錄來參考上述每個 EaC 範本,以提供自助式體驗,並默認鼓勵最佳做法。
建立起始正確的範本並建立正確的治理
在軟體開發中,我們的目標是在設計應用程式時封裝、模組化和可組合性。 您應該透過範本化將此相同的思維套用至平臺工程。 例如,您可以建立並使用一組集中保護、可重複使用的 IaC 範本作為基礎結構的建置組塊。
我們將為 [開發人員] 建置模組... 因此,他們不需要自行撰寫或擔心任何後端,只需要擔心其應用程式程序代碼。 - Daniel, Cloud Engineer, Fortune 500 Media Company
將 IaC、EaC 和應用程式範本結合成量身打造的所有專案,做為程式代碼 (EaC) 解決方案,以擴充至其他活動,例如建立原始程式碼存放庫、植入範例程式代碼,或為建議的可觀察性工具提供組態和範例程式代碼。 然後,這些 IaC、EaC 和應用程式範本可以從中央、受保護的位置儲存或參考,例如存放庫、Azure 部署環境 (ADE) 中的目錄,或適用於雲端原生的 Azure Container Registry (ACR)。
當開始正確的範本與自動化治理、掃描和原則設定結合時,開發人員會從第一天開始保持正確狀態。
使用自動化、安全的做法簡化開發範本
使用應用程式範本來啟動您定義的鋪路路徑,以取得開發人員在專案過程中採取的重要決策和動作。 開始正確的範本會建立安全、控管的開發作法,並讓開發人員能夠透過啟用自動化來快速開始使用,讓開發人員能夠存取所需的工具、設定 CI/CD 管線、布建基礎結構和應用程式堆疊,以及設定包含所需 SDK 或 API 參考的存放庫。
藉由讓這些應用程式範本參考其他集中式範本(例如 IaC 範本),每個個別建置組塊都會成為自己的起始正確範本。 這些範本是啟用自助體驗的核心,因為它們不僅會定義輸出,而且是開發人員選擇的可用選項。
範本可確保治理、安全性和成本優化
不過,範本應該不只是啟動載入開發工作。 他們也應該透過原則和安全性掃描來建立控制與治理,以在專案生命週期期間保持正確。 另一個範例是,範本可以設定分支保護規則,以防止未經授權的合併至生產環境。 由於範本會擷取最佳做法和常見設定,因此它們是將工具、廠商和小組的成本優化的關鍵技術之一。
執行正確的活動以建置雙向通訊
最後,當您對已鋪路的信心增加時,您可以使用您組合到應用程式範本的基礎個別建置組塊,將現有的應用程式移至鋪路路徑。 由於您的內部客戶已經看到試驗鋪路路徑的價值,因此您可以執行內部取得正確的活動,與其他應用程式小組建立雙向對話。 開發人員可以瞭解如何移轉其應用程式,而平臺工程小組同時深入瞭解如何改善其平臺。
繪製您自己的旅程圖
鑒於自助功能可以涵蓋的廣度體驗,這是投資工作和 規劃和優先順序 的重要焦點,讓您的內部開發人員平臺以累加方式提供價值。 每個組織建立其內部開發人員平臺的旅程都不同,並遵循產品思維可協助您將最需要自助體驗的最重要位置作為目標。