一覽 DevOps 的核心挑戰,以及平台工程是否可能取而代之。
譯自How Platform Engineering Takes on DevOps Challenges,作者 Kenn Hussey。
隨著公司持續以前所未有的速度擴展,DevOps 的角色正在經歷重大轉型。 雖然 DevOps 一直是彌合開發和維運之間差距的重要工具,但其局限性和低效率也變得越來越明顯。
許多人認為平台工程是 DevOps 的自然演進,它解決了 DevOps 的核心挑戰,並使組織更有效地擴展。 隨著重點轉向創建自助服務平台和賦能開發人員,DevOps 的傳統角色正在被重新定義。
讓我們回顧一下 DevOps 的核心挑戰以及平台工程如何取代它。
雖然 DevOps 徹底改變了軟體開發和部署,但現代雲端原生技術的日益複雜性給團隊帶來了前所未有的壓力。 隨著組織的擴展,目前 DevOps 方法的限制和低效率變得更加明顯。
一個主要挑戰是需要在端到端 DevOps 流程中實現更多自動化。 Dynatrace 最近關於 DevOps 自動化的研究顯示,只有 56% 的這些流程是自動化的,導致交付時間更長,效率降低。 在典型的開發人員管道中平均有九項手動幹預,包括審批和安全檢查,這進一步加劇了這種情況。 這些導致了解決時間延長,並可能嚴重影響組織的利潤和客戶滿意度。
造成這種情況有兩個核心原因。 第一個是工具鏈的複雜性。 DevOps 生態系統中豐富的工具和技術可能導致難以管理的碎片化環境。 這種複雜性為團隊整合和維護一個有凝聚力的 DevOps 工作流程帶來了挑戰,導致效率低下和生產力下降。
第二個是孤島團隊。 孤島會阻礙協作和溝通,而協作和溝通對於成功採用 DevOps 至關重要。 孤島團隊通常缺乏對彼此流程的可見性,導致錯位、重複工作和問題解決時間更長。
即使沒有這些問題,團隊也缺乏推動自主營運的關鍵技能,這使得有效實施和維護 DevOps 實踐變得具有挑戰性。 所需的技能,包括編碼、基礎設施管理和自動化,在單一團隊中可能很難找到和培養。
隨著目前 DevOps 方法的限制變得越來越明顯,組織正在尋求克服這些挑戰並改善其軟體交付流程的方法。 DevOps 團隊必須縮短開發週期以實現業務服務等級目標 (SLO),提高軟體品質並更快地創新。 平台工程應運而生。
什麼是平台工程?
平台工程是 DevOps 的一種現代方法,更確切地說,是 DevOps 的一個邏輯擴展,旨在與現有的 DevOps 原則一起工作,同時減輕相關的認知負擔。 平台工程師透過建立內部開發人員平台(IDP)來簡化標準 DevOps 活動,該平台提供單一的應用程式開發和部署工具包。
作為 DevOps 的策略擴展,平台工程解決了傳統手動方法的缺點、不足和限制。 它自動化了開發和部署管道,簡化了它們以提高效率和有效性,超越了傳統限制。 採用平台工程文化使企業能夠在數位轉型時代脫穎而出,讓他們能夠在當今瞬息萬變的技術環境中蓬勃發展。
平台團隊可以簡化和提高先前由 DevOps 團隊處理的任務的效率。 你的平台團隊必須有明確定義的產品目標、已建立的 DevOps 程式和正確的思維方式才能發揮其潛力。
在新科技時代,平台工程師的角色並沒有取代 DevOps,而是擴展了使其成功應對新挑戰和機會的原則。 平台工程將在軟體開發和交付中發揮重要作用。
平台使 DevOps 能夠大規模擴展
隨著 DevOps 的興起極大地改變了軟體開發,使其變得更加敏捷和協作,但組織通常需要幫助才能獨立處理複雜性。 平台工程源於為開發人員提供簡單、可擴展且用戶友好的自助服務流程以更快地建立軟體的需求。
組織可以利用平台工程來:
簡化流程:透過提供標準化、簡化的軟體開發和部署方法來簡化複雜流程。
自動化基礎設施和部署:自動化是平台工程的核心,使團隊能夠在最少的手動幹預下配置基礎設施和部署應用程式。
提供自助服務平台以提高開發人員效率:自助服務平台使開發人員能夠快速輕鬆地存取他們需要的工具和資源,而無需依賴其他團隊或等待批准。
縮短上市時間:透過簡化流程和自動化任務,平台工程幫助組織更快、更頻繁地交付軟體。
提高可擴展性和彈性:平台工程使組織能夠建立可擴展且有彈性的系統,這些系統可以處理增加的需求並從故障中快速恢復。
促進協作:平台工程透過提供一個共享平台和一套通用的工具和實踐來促進協作,使團隊能夠更有效地協同工作。
平台工程可以幫助團隊快速擴展他們目前的 DevOps 流程來滿足需求,而無需引入不必要的開銷。 平台工程不是依賴單獨的工具,而是建構了一個支援端到端交付的緊密基礎。
任何平台工程團隊的主要目標是促進工具和配置重用。 重複使用程式碼可以使應用程式交付過程更有效率,需要的工具更少,並且可以改善程式碼一致性。 開發人員可以專注於創新,而不是編寫重複的程式碼。
平台工程如何優化 DevOps 效率
軟體開發團隊的需求通常不同。 如果每個開發團隊都建立自己的 DevOps 實踐,您將遇到複雜性、瓶頸和安全漏洞。 平台工程團隊可能會承擔部分 DevOps 職責,例如以下職責:
自動化 Git 工作流程:平台團隊可以自動化 git 儲存庫的建立、配置和管理,確保整個組織的一致且安全的版本控制實務。
配置測試環境:透過自動化測試環境的配置,平台團隊可以減少設定和維護測試基礎架構所需的時間和精力。
為 CI/CD 管道建立配置模板:平台團隊可以為 CI/CD 管道建立可重複使用的模板,使開發團隊能夠快速採用最佳實踐並在專案中保持一致性。
配置用於秘密管理和使用者身份驗證的中央儲存庫:集中這些功能有助於維護安全性並符合要求,同時簡化開發團隊的存取控制。
配置用於應用程式效能監控的儲存庫:平台團隊可以設定和維護一個用於應用程式效能監控的集中儲存庫,該儲存庫可為開發人員提供對其應用程式行為和效能的見解。
以下是您的平台團隊如何優化 DevOps 效率的方法:
為內部開發人員建立一個工作平台:透過創建一個標準化的自助服務平台,平台團隊可以簡化開發流程並減輕各個團隊的負擔。
建立鋪設好的道路以減少認知負荷:鋪設好的道路為常見的開發任務提供了預先定義的、經過充分測試的路徑,從而減少了開發人員的認知負荷並最大程度地降低了錯誤風險。
簡化流程、標準化流程並擴展流程:平台團隊可以識別並簡化複雜流程,制定標準並確保隨著組織的發展,這些流程可以有效地擴展。
監控關鍵績效指標 (KPI) 和指標:透過此監控,平台團隊可以識別需要改進的領域,並做出數據驅動的決策以優化 DevOps 效率。
提升團隊績效,為客戶提供更大價值:平台團隊可以持續評估並提升開發團隊的績效,最終為客戶提供更好的價值。
以下是貴組織吸引合適的工程師加入平台團隊的關鍵策略。
明確目標並定義現實的時間表:明確傳達平台團隊的目標和期望,並設定可實現的時間表,有助於吸引與組織願景一致的工程師。
擁抱多元化,促進更好的溝通與協作:培養一個多元化和包容性的團隊環境,可以促進平台工程師之間的創造力、創新和實際合作。
為平台團隊提供合適的工具和技術:為平台團隊配備必要的工具和技術,使他們能夠有效率且有效地工作,吸引重視良好支援工作環境的熟練工程師。
DevOps 的未來在於採用平台工程,而不是傳統的孤島式實踐。 為了在當今瞬息萬變的環境中保持競爭力,組織必須將平台工程作為 DevOps 之旅的下一步。 它將塑造團隊協作、整合和簡化未來軟體交付的方式。
隨著 DevOps 的發展,平台工程將促進無縫的跨團隊溝通並優化工作流程。 透過自助功能和自動化管道,軟體更新將更快完成,從而取代手動任務。
從 DevOps 過渡到平台工程可能是快速變化的 IT 產業中的下一個規範。 一個引人注目的可能性是,新的平台有一天可能會結合併協調當代數位環境的所有複雜性。 在當今快速發展的數位世界中,能夠隨時代變化而改變的人才能保持領先地位。