平臺工程:從平臺架構師看開發人員控制平面

banq發表於2022-02-25

對於那些剛剛進入雲原生領域的人來說,在一個完全雲原生的組織中大規模“左移”的概念可能聽起來很未來。對於在生產環境中執行 Kubernetes 多年的雲原生領導者來說,左移正在順利進行。北歐的初創挑戰者銀行 Lunar 就是這樣的組織之一。

本文討論Lunar 的架構、開發人員對生命週期的所有權、Lunar 集中工具的方法、構建與購買決策過程、開發人員控制平面概念以及處於雲原生金融科技技術前沿的挑戰和好處。

幾個關鍵主題:

  • 始終保持教育:支援所有這些轉變的是開發人員技能提升的需要。處於雲原生創新前沿的組織需要準備好通過文件、自助服務記錄和麵對面/虛擬培訓來支援各級動手開發人員教育。
  • 快速入職是一項競爭優勢:在 Lunar,入職提供了一個服務目錄,該目錄提供對不同圖書館的參考,以及如何建立服務的不同變體,以及其他團隊如何建立類似事物的示例。Lunar 使用 Backstage 幫助快節奏的工程師入職。它使人們能夠清楚地瞭解存在哪些服務以及它們的作用,這不僅有利於公司的新開發人員,也有利於整個公司。
  • 定義“鋪平道路”平臺可減少工具蔓延:在 Lunar,並沒有強制要求使用特定技術,但提供自以為是的“鋪平道路”採用工具和集中工具加速了開發人員的提升和生產力。在某種程度上,定義路徑簡化了開發人員的升級,但它也有助於平臺團隊對抗工具蔓延。
  • 建立固執己見的工作流支援良好的開發人員體驗: Lunar 建立了 Shuttle,這是一個 CLI,用於處理許多專案之間的共享構建和部署工具,無論專案使用什麼技術。Lunar 平臺團隊還在雲採用之旅的早期就採用了對開發人員友好的 GitOps 工作流程(使用 Flux 和自定義釋出管理器)。
  • 使開發人員擁有所有權是速度和安全性的關鍵: “你構建它,你執行它”的口頭禪不僅僅是理論上的。像 Lunar 這樣的組織每天都以這種方式運作。期望開發人員擁有完整的軟體生命週期,但要授權他們這樣做,它必須是可管理的。平臺團隊需要為左移奠定基礎,讓開發人員更容易編碼、釋出和執行。如果做得正確,這應該可以幫助組織實現雲原生開發的速度優勢,並獲得快速的反饋迴圈,而不會產生任何不利影響。

相關文章