平臺工程不完全是 DevOps,也不是 SRE(站點可靠性工程)。相反,它是一種重疊這兩個學科的方法。
分析公司 Gartner 預測,到 2026 年,80% 的軟件工程組織將擁有平臺工程團隊,以提供內部服務、組件和應用程序交付工具作為可重用資源。根據 Puppet 的《State of DevOps 2023 Report: Engineering edition》,大多數采用它的組織(51%)在過去三年內這樣做了,93% 的受訪者宣稱平臺工程采用是朝著正確方向邁出的一步。
那么平臺工程到底是什么?根據 Red Hat SRE 高級總監 Narayanan Raghavan 的說法,平臺工程的功能是創建和提供一套通用的工具或構件——像持續集成/持續部署(CI/CD)或開發工具鏈這樣的軟件組件,開發者可以將其作為產品開發的基礎。
Raghavan 表示,平臺工程的目標是消除開發人員在編寫代碼之前對其開發環境或所需系統的思考。
—1— 為什么平臺工程的采用越來越多?
平臺工程采用率不斷增長的領域之一是CloudOps。
“在過去的一年里,我們看到大型組織采用平臺工程方法的趨勢越來越明顯,” HashiCorp CTO兼聯合創始人 Armon Dadgar 告訴 TPro Today。“對于許多采用云計算的傳統企業來說,他們通常會認識到在進入更成熟的階段時需要建立一個平臺團隊。”
根據 Dadgar 的說法,平臺團隊有許多驅動因素。他說,許多組織在開始他們的云計算之旅時,都專注于使團隊能夠在云上構建,但隨著時間的推移,他們需要專注于管理成本、實施安全控制、維護合規性等。對于采用分散或臨時的云計算方法的企業來說,管理這些問題非常困難。因此,Dadgar 表示,對于許多組織而言,使用平臺工程方法來建立一個可以擴展的共享功能,已經迅速成為一種必要。
雖然對平臺工程團隊有明確的需求,但也有挑戰。Dadgar 認為,第一個挑戰實際上是創建平臺團隊。
“這聽起來很簡單,但往往沒有行政支持來創建和資助一個專門的團隊,”他說:“首先是領導層要有清晰的視野,了解到平臺團隊如何通過自動化和標準化來增加價值和提高效率。”
為了使平臺團隊取得成功,必須與解決客戶問題的應用團隊或業務線建立伙伴關系,Dadgar 說。
“這有助于推動組織內部的宣傳工作,以促進采用。”他說。
—2— 平臺工程與 DevOps
準確理解平臺工程在 IT 運營和管理領域中的確切位置可能會令人感到困惑。對于某些人來說,這是新事物,而對于其他人來說,這是 DevOps 的延伸。
“我們認為平臺工程是 DevOps 的延伸,如果做得好,這是大規模解鎖 DevOps 的關鍵,”Puppet by Perforce 研究總監 Ronan Keenan 告訴 ITPro Today。
Keenan 指出,在其公司的《2023 年 DevOps 狀況》報告中,94% 的受訪者同意,平臺工程的概念正在幫助他們的組織更好地實現 DevOps 的好處。在談到平臺工程的主要好處時,Puppet 的報告發現,超過一半(53%)的受訪者認為 “提高標準化” 是一個好處——這與 Puppet 多年來的分析有關,在這些分析中,其中標準化被認為是 DevOps 發展的一個重要部分。
Red Hat 的 Raghavan 將平臺工程視為自己的實體。在他看來,SRE 是 DevOps 的一種實現,而平臺工程是 DevOps 和 SRE 的結果,但在許多方面具有相似的精神。SRE團隊專注于可靠性方面,以及建立可觀察性和中央日志等能力,而平臺工程是一種實現,即我們可以把系統和工具落實到位,在內部帶來一致性,以幫助開發團隊更快地行動。
“平臺工程既不是 SRE 或 DevOps 的演變,也不是 DevOps 的競爭對手,甚至沒有 SRE 的功能。它是不同的,”Raghavan 說。“平臺工程師專注于為開發人員構建模塊——開發工具,并提高工程團隊的效率和生產力。”
—3— 平臺工程最佳實踐
在建立和運營平臺工程實踐方面有多種最佳做法。
要有產品思維。Puppet 的 Keenan 建議平臺工程團隊要有產品思維,確保他們與用戶有反饋循環,并確保他們所構建的系統能夠解決用戶所面臨的問題。
創建一個專門的團隊。根據 HashiCorp 的 Dadgar 的說法,如果你想讓你的平臺工程團隊取得成功,就要創建一個具有明確章程的專門團隊。
“當人們有其他責任時,很難將構建平臺作為兼職工作,”他說。“我們經常看到重塑中央 IT 職能品牌的錯誤,該職能默認將把關和票據作為一種熟悉的做法。”
了解最終目標。Dadgar 表示,從流程方面來說,了解最終目標是什么很重要。HashiCorp 認為組織希望開發團隊能夠以完全自動化的方式從開發到生產。這是一個很高的要求,因此將其分解為多個階段,并盡可能多地將自動化工作流程,當成一個優先事項。Dadgar 建議首先為開發提供一致的預生產工具集,然后為配置提供基礎架構即代碼(IaC)管道,然后擴展到應用程序服務,例如可觀察性、機密管理和服務網絡。
選擇正確的工具。如果一個平臺團隊要取得成功,組織的用戶就必須愿意采用他們的解決方案。因此,選擇開發人員想要使用的工具是減少采用摩擦的關鍵。
“構建一個平臺應該被視為一個包含許多步驟的旅程,而不是一個要交付的單一項目,”Dadgar 說。“與應用程序團隊密切合作,以逐步解決他們最大的痛點,是你在組織中建立信任和采用的關鍵,并且隨著時間的推移,隨著平臺的成熟,你將解決更大的問題。”
-
軟件
+關注
關注
69文章
5117瀏覽量
88900 -
代碼
+關注
關注
30文章
4886瀏覽量
70217 -
工程
+關注
關注
0文章
166瀏覽量
28269
原文標題:平臺工程和DevOps并不矛盾
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論