2023 年 DevOps 路線圖

科技狠活與軟件技術 發佈 2023-01-28T23:47:50.065085+00:00

在過去的幾周里,我在我的指導會議上遇到了一些 DevOps 新手或處於職業生涯中期的人,他們有興趣知道在 2023 年要學什麼。

關注留言點讚,帶你了解最流行的軟體開發知識與最新科技行業趨勢。

在這篇文章中,我將分享我的指導會議中的一些筆記,這些筆記可以幫助您——DevOps 工程師或平台工程師了解關注的重點。

在過去的幾周里,我在我的指導會議上遇到了一些 DevOps 新手或處於職業生涯中期的人,他們有興趣知道在 2023 年要學什麼。DevOps 技能需求量很大,並且需要不斷學習使自己與市場需求保持同步。

這篇文章是分享可以幫助你的筆記。首先,讓我們看一些基於我的經驗和理解的指導。

路線圖

在網絡技術方面擁有強大的基礎

了解 HTTP/2、QUIC 或 HTTP3、第 4 層和第 7 層協議、mTLS、代理、DNS、BGP、負載平衡的工作原理、IP 表、Internet 的工作原理、IP 地址和方案等概念,最後,網絡設計。我發現Julia Evans 的博客非常有用,當我需要以簡單的方式理解內容時,它是我的首選。她在博客文章和雜誌中涵蓋了廣泛的主題。

掌握作業系統基礎知識,尤其是 Linux

由於大多數系統(VM、容器等)都運行Linux,因此從上到下了解這一點很重要。學習調度、systemd 接口、init 系統、cgroups 和命名空間、性能調優,並掌握命令行實用程序 — awk、sed、jq、yq、curl、ssh、OpenSSL 等。從Brendan 的博客學習性能故障排除。

持續集成/持續集成

如果您仍然喜歡 Jenkins,那很好。但是,世界已經轉向雲原生管道。從概念上講,這個領域沒有太大變化,但您可以查看 Github Actions、Tekton 等。如何更好地發布?了解各種部署策略,例如藍綠和金絲雀。

容器化和虛擬化

除了流行的 Docker 運行時,嘗試 Containerd、Podman 等,並學習如何容器化應用程式、如何實現容器安全以及如何在 Kubernetes 中運行和編排 VM,請參閱 KubeVirt 項目。

容器編排

Kubernetes 現在是運行容器的事實標準。於是網上有很多學習Kubernetes的內容。專注於配置最佳實踐、應用程式設計、安全性和調度。設置集群現在變得微不足道了,但是第二天的操作性問題,例如設置、監控、日誌記錄、CI/CD、擴展集群、成本優化和安全性,是人們可能期望從您那裡得到的一些問題。

規模可觀察性

大多數工程師都知道 Prometheus Grafana 堆棧或類似堆棧。這一趨勢表明,許多組織正在整合他們的 Kubernetes 集群和可觀察性,無論是從性能還是成本角度來看,這都是有幫助的。了解 Prometheus 的高級配置和架構以及如何擴展它們。

研究 Thanos、Cortex、VictorIAMetrics、Datadog 和 Loki 等技術。連續分析工具,例如 Parca、periscope、hyper trace 和帶有開放遙測的分布式跟蹤。Istio 等服務網格是雲原生食譜中的流行成分。

平台團隊作為產品團隊

平台團隊的職能越來越像一個集中的產品團隊,專注於他們的內部平台客戶,如開發人員和測試人員。目標是改進工作方式並為團隊帶來一些秩序。嘗試即興解決開發人員和 QA 團隊面臨的問題。

你是其他團隊的推動者;與其在中央團隊中承擔所有工作,不如指導開發團隊承擔典型的DevOps 職責。這樣,您就可以擴展並且不會過度燃燒自己。

安全

在許多小型組織中,安全是二等公民。產品功能得到了更多的優先考慮。但是,由於日益複雜的攻擊和各種嚴格的合規要求,公司正在適應左移安全策略。端到端加密、強大的 RBAC、IAM 策略、治理和審計以及 NIST、CIS 和 ISO27001 等基準的實施很常見。此外,容器安全、Policy as Code、雲治理、供應鏈安全等也是熱門話題。

編程

DevOps 或 SRE 的角色現在正在處理開發人員的橫切關注點,並創建可以幫助提高他們的生產力同時執行標準的工具。製作高質量的平台組件需要高質量的軟體工程實踐和技能。

我不能對此施加足夠的壓力。優秀的組織正在尋找具有良好編程經驗的平台工程師。這在站點可靠性工程中也很重要,您需要精通編程,能夠閱讀、理解和調試他人編寫的代碼,並在必要時修復它。

Python 和 Golang 是最受歡迎的。但是,我的建議是 Golang,因為它具有強大的並發性、嚴格的類型檢查以及在各種組織和工具鏈中的採用等特性。由於許多主要項目都是使用 Golang 構建的,因此通過 Python 學習 Golang 是有意義的。

以下是您可以嘗試的一些簡單操作:

  • 用您的程式語言編寫 CLI。
  • 學習編寫 REST API 並與資料庫交互。
  • 並行性和並發性。

基礎架構即代碼

Terraform 是項目中的標準。一旦理解了這個概念,就很容易適應任何其他工具,因為它們中的大多數都基於 DSL。

大多數雲都以相同的方式工作。因此,如果您熟悉一種雲,就可以輕鬆地與其他雲提供商合作。重點關注如何以高度可用、有彈性、安全且經濟高效的方式使用雲原生組件設計應用程式。

技術寫作

你可能想知道為什麼我在討論 DevOps 時要談論技術寫作。很多人對此沒有給予足夠的重視,但這對於您如何與其他團隊溝通和合作非常重要。未來的工作是遠程的,電子郵件、閒聊/團隊和聊天是與他人交談和傳達想法的主要渠道。

您可能會定期創建諸如運行手冊、事後分析、RFC、架構決策記錄和軟體設計文檔等文檔。一份清晰、易於理解的文檔可以創造奇蹟。它可以幫助您節省您和讀者的時間並提高整體生產力。建議您閱讀這篇文章。

站點可靠性工程

DevOps 和 SRE 之間的界限越來越薄。在某些組織中,同一個人可能同時擔任這兩種角色。了解 SLI、SLO、錯誤預算和 SRE 實踐背後的概念。每個組織的做法都不同,所以我不建議將別人的文化複製粘貼到你的團隊中。參考Google SRE 文化。

結論

就個人而言,我很高興能在今年跟進。這不是一個確定的列表,因為它會隨著時間不斷變化。

  • 服務網格——Istio、Cilium Sidecarless 網格、Tetrate 和 Solo 的 Gloo 網格產品。
  • 如何提高開發人員的生產力?它是文化、自動化和工具的混合體。
  • SRE 平台——蜂巢,Last9。
  • DevPortals——再次與提高生產力和彌合知識差距的動機聯繫在一起。
  • 可觀察性——開放遙測、超跟蹤、Thanos、VictoriaMetrics 和Vector等技術。
  • 安全——供應鏈安全、代碼簽名、加強雲安全。
  • Golang — 改進當前技能。
  • 無伺服器計算和事件驅動架構。
  • Web3——了解與 DevOps 和基礎設施相關的景觀。

保持好奇心並不斷學習。持續的小規模學習很容易,你可以在全職工作的同時進行。

如果您還有任何疑問,請隨時在下方發表評論!

關鍵字: