【 文章來源 】https://faun.pub/devops-roadm...
DevOps 技能需求量很大,並且需要不斷學習需要讓自己與市場需求保持同步。這篇文章是為了分享可以幫助你的筆記。
從根本上強大的網路技術
瞭解 HTTP/2、QUIC 或 HTTP3、第 4 層和第 7 層協議、mTLS、代理、DNS、BGP 等概念,負載平衡的工作原理、IP 表、Internet 的工作原理、IP 地址和方案,最後是網路設計。
掌握作業系統基礎知識,尤其是 Linux
由於大多數系統(VM、容器等)都執行 Linux,因此從上到下了解這一點很重要。學習排程、systemd 介面、init 系統、cgroups 和名稱空間、效能調優,並掌握命令列實用程式 — awk、sed、jq、yq、curl、ssh、openssl 等。
CI/CD
如果你仍然喜歡詹金斯,那很好。但是,世界已經轉向雲原生管道。從概念上講,這個空間沒有太大變化,但你可以看看 Github Actions、Tekton 等。如何更好地釋出?瞭解各種部署策略,例如藍綠和金絲雀。
容器化和虛擬化
除了流行的 Docker 執行時,嘗試 containerd、podman 等並瞭解如何容器化應用程式、如何實現容器安全性、如何在 Kubernetes 中執行和編排 VM,請參閱 KubeVirt 專案。
容器編排
Kubernetes 現在是執行容器的事實上的標準。網上有很多學習Kubernetes的內容。專注於配置最佳實踐、應用程式設計、安全性和排程。設定叢集現在變得微不足道,但第二天的操作性問題,例如設定、監控、日誌記錄、CI/CD、如何擴充套件叢集、成本優化和安全性是人們可能期望你提出的一些問題。
大規模可觀測性
大多數工程師都知道 Prometheus Grafana 堆疊或類似堆疊。趨勢表明,從效能和成本的角度來看,許多組織正在整合他們的 Kubernetes 叢集和可觀測性,這很有幫助。瞭解 Prometheus 的高階配置和架構,以及如何擴充套件它們。研究 Thanos、Cortex、VictoriaMetrics、Datadog 和 Loki 等技術。連續分析工具,例如 Parca、潛望鏡、超跟蹤和具有開放遙測的分散式跟蹤。諸如 Istio 之類的服務網格是雲原生配方中的一種流行成分。
平臺團隊作為產品團隊
平臺團隊的功能越來越像一個集中的產品團隊,專注於他們內部的平臺客戶,如開發人員和測試人員。目標是改善工作方式併為團隊帶來一些秩序。嘗試即興解決開發人員和 QA 團隊面臨的問題。你是其他團隊的推動者,而不是在一箇中心團隊中承擔所有工作,而是指導開發團隊承擔典型的 DevOps 職責。這樣你就可以擴大規模並且不會過度燒傷自己。
安全
在許多小型組織中,安全是二等公民。產品功能被賦予了更多的優先權。但是,由於越來越複雜的攻擊和各種嚴格的合規要求,公司正在適應左移安全策略。端到端加密、強大的 RBAC、IAM 策略、治理和審計、NIST、CIS、ISO27001 等基準的實施很常見。容器安全、策略即程式碼、雲治理和供應鏈安全是熱門話題。
程式設計
DevOps 或 SRE 角色現在正在考慮開發人員的跨領域關注點,並建立有助於在執行標準的同時提高生產力的工具。製作高質量的平臺元件需要良好的軟體工程實踐和技能。
我不能對此給予足夠的壓力。優秀的組織正在尋找具有良好程式設計經驗的平臺工程師。這在站點可靠性工程中也很重要,您需要精通程式設計,能夠閱讀、理解和除錯他人編寫的程式碼,並在必要時對其進行修復。
Python 和 Golang 是最流行的。我的建議是 Golang,因為它具有強大的併發性、嚴格的型別檢查、在各種組織中的採用、工具鏈以及許多主要專案都是使用 Golang 構建的特性,因此通過 Python 學習是有意義的。
您可以嘗試一些簡單的事情:
用您的程式語言編寫 CLI。
學習編寫 REST API 並與資料庫互動
並行性和併發性
基礎設施即程式碼
Terraform 是專案中的標準。一旦你理解了這個概念,就很容易適應任何其他工具,因為它們中的大多數都是基於 DSL 的。
雲
大多數雲以相同的方式工作。因此,如果您熟悉一種雲,您可以輕鬆地與其他雲提供商合作。專注於如何以高度可用、彈性、安全且經濟高效的方式使用雲原生元件設計應用程式。
技術寫作
您可能想知道為什麼我在討論 DevOps 時要談論技術寫作。很多人對此並沒有給予足夠的重視,但這對於你如何與其他團隊進行溝通和合作非常重要。工作的未來是遠端的,電子郵件、閒散/團隊、聊天是與他人交談和傳達想法的主要渠道。
您可能會定期建立諸如執行手冊、事後分析、RFC、架構決策記錄和軟體設計文件等文件。一個清晰、易於理解的文件可以創造奇蹟。它可以幫助您節省您和讀者的時間並提高整體生產力。建議你閱讀這篇文章。
現場可靠性工程
DevOps 和 SRE 之間的界限越來越窄。在某些組織中,同一個人可能同時擔任這兩個角色。瞭解 SLI、SLO 和錯誤預算以及 SRE 實踐背後的概念。每個組織的做法都不一樣,所以我不建議將其他人的文化複製貼上到您的團隊中。參考Google SRE 文化。
結論
就個人而言,我很高興能在今年跟隨。這不是一個確定的列表,因為它會隨著時間而變化。
服務網格——Istio、Cilium Sidecarless 網格、Tetrate 和 Solo 的 Gloo 網格產品。
如何提高開發人員的生產力?它是文化、自動化和工具的混合體。
SRE 平臺——蜂窩,Last9。
DevPortals——再次與提高生產力和彌合知識差距的動機相關聯。
可觀測性——諸如開放遙測、超跟蹤、滅霸、VictoriaMetrics、Vector等技術。
安全性——供應鏈安全、程式碼簽名、加強雲安全。
Golang——提高當前技能。
無伺服器計算和事件驅動架構
Web3 — 瞭解與 DevOps 和基礎設施相關的環境
保持好奇心並不斷學習。持續一口大小的學習很容易,您可以在全職工作的同時進行。如果您仍有任何疑問,請隨時與我預約時間。我很樂意提供幫助。