你需要知道什麼


開發人員在帶有多個代碼監視器的計算機上打字的照片
Shutterstock.com/Roman Samborskyi

平台工程是設計和實施工具鏈以改善軟件交付體驗的過程。 平台工程師設置自動化基礎架構和自助服務控件,使開發人員能夠更高效地工作。

平台工程是 DevOps 的演變。 DevOps 制定了使用自動化、自治和協作簡化開發的原則。 這些品質也是平台工程不可或缺的一部分,因此該技術可幫助您實現良好的 DevOps 性能。

了解 DevOps

DevOps 使開發和運營團隊更緊密地聯繫在一起。 它側重於使用工具、系統和迭代過程來縮短反饋週期。 成功的 DevOps 策略可在不影響質量的情況下加快團隊的吞吐量。

DevOps 是一個開放式的概念。 不同的組織將組合獨特的工具集和方法來創建他們自己的實施。 然而,強調吞吐量、質量以及開發和運營的統一是所有組織的一致特徵。

開發和運營傳統上由獨立的團隊處理,沒有直接的溝通渠道。 開發人員編寫代碼,而運維人員配置基礎設施、啟動部署並監控問題。 該模型無法適應可能包含數百個獨立微服務的現代應用程序的規模。 開發人員需要自助訪問類似於生產的環境,以便他們可以在真實的環境中測試新組件。 這就是平台工程的用武之地。

平台工程的作用

平台工程團隊負責建立工具和流程,幫助開發人員提高工作效率。 他們設計開發人員構建的“平台”。 在實踐中,平台工程師通常承擔以下任務:

  • 為開發人員提供基礎設施,例如暫存環境、CI 管道和自動化測試系統。
  • 創建內部 API 和流程以跟踪更改狀態和自動化部署。
  • 與運營團隊聯絡,確保開發基礎架構與生產準確匹配。
  • 實施安全性、可靠性和合規性保障措施,在合併之前識別問題代碼。
  • 圍繞上述內容提供自助服務控制,因此開發人員可以按需創建暫存環境、運行測試和執行安全審計,而無需等待其他團隊。

這項工作產生了一個平台,可以減輕開發人員的工作量。 軟件交付的繁瑣外圍部分被轉移到託管平台上,使工程師能夠專注於構建新功能。 團隊可以繼續前進,在平台的保障範圍內向客戶交付更多代碼。

專門的平台工程角色通常只存在於較大的組織中。 您需要有足夠多的可用工程師,然後才能將其中一些工程師專門用於構建內部平台。 不過,較小的團隊仍然可以從平台工程模型中受益。 最純粹的平台工程就是優化您的開發環境。 嘗試每週分配幾個小時來構建解決工作流程瓶頸的工具和流程。

最好的內部平台表現得有點像私有 PaaS 解決方案。 它們將開發人員所需的所有功能打包到方便的界面中,例如 CLI、Web UI 和自動化管道。 該平台減少了構建軟件的開銷,因此開發人員可以專注於代碼。 這減少了分心,減輕了認知負擔,並促進了更高效的工作習慣。

平台工程是如何出現的?

平台工程 結果出現 現代應用程序日益複雜。 如今,應用程序通常由在分佈式環境中運行的多個鬆散耦合的組件組成。 配置和維護架構可能是一個需要專業知識的多步驟過程。

開發人員主要關注編寫啟用新業務功能的代碼。 管理平台的任務取決於運營。 雖然 DevOps 將兩者拉近了距離,但期望個別開發人員在需要全新測試環境時能夠部署整個堆棧可能是不現實的。 在一些受監管的行業中,合規控制甚至可能禁止這樣做。

平台工程通過為開發人員提供對由專門團隊管理的環境的自助訪問來解決這個問題。 開發人員可以不再擔心超出其工作描述的基礎設施、管道和構建腳本。 業務領導者和合規人員可以放心,因為他們知道所有環境都是以標準化方式創建的。

平台工程與 DevOps

最好將平台工程視為 DevOps 的邏輯進展。 這是一種可用於最大限度地提高 DevOps 成功率的具體方法。 解決開發人員的痛點將提高吞吐量,並為圍繞您的代碼設置安全措施提供新的機會。

平台工程授予開發人員自主權,因此他們可以按需訪問工具,而無需等待同事或自己執行繁瑣的任務。 它在很大程度上依賴於自動化,並與操作形成橋樑,實現另外兩個 DevOps 原則。 幫助您的核心產品團隊專注於新的業務功能是減少交付週期和更快地響應客戶請求的可靠方法。

DevOps 不僅僅是平台工程。 從構思到生產,您仍然需要其他工具和流程來支持您的團隊。 平台工程是 DevOps 戰略中以開發人員為中心的組成部分,但精益工作、團隊支持和詳細可觀察性等其他因素同樣重要。

平台工程和 SRE

站點可靠性工程 (SRE) 通常在 DevOps 和平台工程的背景下進行討論。 SRE 團隊的任務是維護服務的可靠性。 他們使用 SLO、SLA 和錯誤預算等業務級目標來確定服務何時偏離用戶期望。 這應該會提示工程團隊停止開發新功能,並優先考慮穩定性改進。

平台團隊經常 重疊 SRE 工程師。 這兩個角色都使用自動化來提供和維護軟件環境。 但是,意圖存在顯著差異。 SRE 專注於始終如一地滿足用戶需求,而平台工程則完全是為了滿足開發人員的需求。 雖然你應該注意這兩個領域,但平台工程通常比 SRE 優先級低。

開發人員平台中出現故障的管道會帶來不便,導致您的 DevOps 流程延遲,但不應影響您的最終用戶。 這是平台工程的問題。 但是,如果生產服務器下線或變慢,SRE 將需要介入,因為該事件將直接影響用戶。

概括

平台工程通過為開發人員提供與基礎設施交互的自助服務工具來加速軟件交付。 工程團隊使用提供的平台快速測試新代碼並跨環境部署它。

DevOps 和平台工程是密切相關的主題。 平台工程通常作為 DevOps 戰略的一部分實施。 它增加了開發人員的自主權並自動執行日常的基礎設施任務,遵守基本的 DevOps 原則。

沒有平台工程也可以進行 DevOps。 同樣,您可能已經在使用屬於平台工程旗幟下的工具和流程,但並未有意識別該學科。 建立一個專門的平台工程團隊可以讓您採取下一步行動,創建高性能的內部系統,為開發人員提供支持,同時縮小與運營的差距。



發佈留言