Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps and GenAI: Navigating the Future in the ...

Hung-Wei Chiu
April 12, 2025
5

DevOps and GenAI: Navigating the Future in the Era of Artificial Intelligence

From a DevOps perspective, this talk explores the impact of Generative AI (GenAI) on the field. Through several real-world examples, we will illustrate how GenAI currently falls short in fully replacing the day-to-day operations and maintenance tasks. Drawing from extensive hands-on experience, the session encourages the audience to not only use AI as a tool for knowledge acquisition, but also to focus on building true understanding. System operations involve countless scenarios and edge cases that still heavily rely on deep expertise and practical experience to identify root causes and solutions. Over-reliance on AI can lead to a decline in critical thinking, ultimately leaving individuals unprepared to deal with unfamiliar systems and environments.

Hung-Wei Chiu

April 12, 2025
Tweet

Transcript

  1. 文 化改變 • 文 化改變的重點不是技術,不是專案 • 是 人 • GenAI

    目 前無能為 力 • 不要拿問到的答案來背書,要求推 行 DevOps,甚 至 當作指導棋
  2. DevOps 工 程師 • DevOps 工 程師到底要做什麼東 西 ? •

    職缺內容百百種 • 上天下地 • 從地端到雲端 • 包 山 包海
  3. DevOps 工 程師 • 不同的 DevOps 工 程師 又 會有不同的

    工 作範疇 • 常 見 的範疇包涵 • CI 工 具的流程搭建 • CD 工 具的流程與搭建 • Infr a structure(Cloud, On-Prem) 的搭建與維運 • 協助 App 團隊部署 • 監控與維運 應 用 程式與 Infr a • …etc
  4. DevOps 工 程師 • 這些 工 作流程 大 抵上可以分成 •

    設計 • 設計各種 工 具,規範,安裝,整合 • 導入新 工 具,設計架構 • 開發 • 撰寫各類型 工 具來程式化你的流程 (I a C...etc) • 維運 • 監控各種線上服務 • 問題排解,找出 root c a use 並且預防
  5. Kubernetes Example • Kubernetes 的世界中,我們需要撰寫各種不同 YAML 來描述應 用 程式的狀態 •

    YAML 的內容會分成幾個部分 • YAML 語法的正確性 • YAML 語意的合法性 • 以 Kubernetes API 為準
  6. Kubernetes Example • 一 個 1.22 (2023/04) 的功能 • 目

    前是 1.32 版本 • 試試看其推出的新版寫法
  7. Kubernetes Example • Kubernetes 一 個 大 問題是,更新過於頻繁 • 一

    年更新四版 • YAML 內的寫法 一 直改變 • 但是 大 部分進階功能普通 人用 不到也不知道 • 網路上幾乎沒有什麼 文 章在討論這些新功能 • 很多範例的 YAML 也都是 用 最基本的功能驗證可運 行而 已,進階功能都不 一 定有資源
  8. Kubernetes Example • 常 見 解法 • 閱讀官 方文 件,靠經驗與閱讀能

    力 理解 用 法與情境 • 閱讀官 方 設計 文 件,從設計 文 件中找出蛛絲 馬 跡來理解 • 太新的東 西 跑去問 AI 很容易得到不夠精準的答案 • 你無法判別錯誤與否,浪費太多時間在那邊調整問法
  9. Kubernetes Example • 直接部署兩個答案觀察結果 • 光 QoS 的部分就不 一 樣

    • 強調需要設定成 Gu a r a nteed 的答案結果最後的結果卻是 Burst a ble • 這些錯誤都是很基礎的錯誤,但是只要 YAML 內容過長 (>200 lines) 就很容易被忽略,因為內容 太長, 大 家都喜歡直接複製貼上,到時候就會花很多時間除錯 • 最困難的就是這種問題,服務都跑得起來,但是某些特性卻不 一 樣
  10. 系統架構規劃 • 除了上述這種比較死的程式撰寫與描述外,DevOps 工 程師有時候也需要制定流程與規範,提升 開發與維運團隊的效率 • 以 目 前的

    GitOps 概念來說 • 開發團隊會撰寫應 用 程式,並且打包成各種容器 • 部署團隊撰寫 Kubernetes YAML,並且將這些 YAML 放到 Git 專案中,透過 GitOps Agent 同 步來部署
  11. 系統架構規劃 • 常 見 問題 • 應 用 程式的 Code

    與 對應的 Kubernets YAML 到底要分開還是放 一 起? • Git Repo 搭配 GitOps 來管理多套 K8s 要串接,要使 用 資料夾還是Git Br a nch 來區別不同的 用 途環境,如 dev, st a ging, production
  12. 系統架構規劃 • 前述都是很簡單的流程設計,如果要牽扯到更複雜的系統架構,包涵 • 雲端架構設計 • Network (VPC, LB, NAT

    GW, Firew a ll) • Stor a ge • C a che • DB • IAM • 複雜的系統流程得到的東 西 會更偏向 Wiki 般的說法,幾乎都很難直接落地 • 因為沒有絕對的答案,這類型的問題都與環境息息相關,不太像撰寫程式碼 一 樣比較容易有 一 些標準規範可以參考與遵循
  13. 系統架構規劃 • 好處 • 獲得 一 個粗淺的框架 • 大 概知道有哪些欄位要比較

    • 大 概知道可能的差異 • 能直接根據結果上 Production ? • 終究還是需要 PoC 並且進 行 量測與評估 • 但是 AI 能夠幫你快速濃縮資料(不完全正確)
  14. 程式撰寫 • DevOps 內容包 山 包海,有時候連系統維運,撰寫 一 些除錯腳本都會需要 • B

    a sh Script 就是 一 個非常實 用 的 方 式,這類型的 工 具就非常適合透過 AI 來幫忙撰寫 • 舉例 • 幫忙撰寫 一 個腳本,能夠分析 目 前環境中的 TCP 連線,並且針對 Destin a tion IP 去統計連線數 量
  15. 程式撰寫 • DevOps 內容包 山 包海,有時候連系統維運,撰寫 一 些除錯腳本都會需要 • B

    a sh Script 就是 一 個非常實 用 的 方 式,這類型的 工 具就非常適合透過 AI 來幫忙撰寫 • 舉例 • 幫忙撰寫 一 個腳本,能夠分析 目 前環境中的 TCP 連線,並且針對 Destin a tion IP(ipv4 & ipv6) 去統計連線數量
  16. 程式撰寫 • Infr a 的環境千變萬化,不同發 行 版本,不同版本可能輸出結果都不 一 樣 •

    Ubuntu • Alpine • Debi a n • CentOS • 因此使 用工 具時必須要將這些資訊 一 起考慮進去,否則得到的結果很有可能適 用 於某些環境,但 是不 一 定適 用 於你的環境
  17. 程式撰寫 • 東 西 能夠運 行 後,最重要的是回過頭來看這些腳本的寫法,有沒有值得我們學習的地 方 ? •

    收集網路資訊的指令 • ss • netst a t • a wk/uniq/sort/cut 的 用 法與常 見 組合技 • EUID 用 來判斷 e ff ective UID
  18. DevOps 工 程師 • 身 為 DevOps 工 程師,我們應該怎麼走? •

    設計 • 系統架構這種沒有標準答案且與實際環境有太 大 掛勾的部分,設計上 目 前還沒有辦法完全被取 代,還是需要經驗與 方 法去判斷適合的設計 • 針對嶄新的專案與框架,可以嘗試獲取 一 些濃縮後的資料, 目 的是透過這些 工 具降低學習時 間,不代表可以直接無腦使 用
  19. DevOps 工 程師 • 身 為 DevOps 工 程師,我們應該怎麼走? •

    開發 • 撰寫腳本,收集系統資訊 • 需要注意不同的作業系統與版本,所有的指令輸出都會有所差異,因此本 身 還是要針對這些 工 具有基本了解 • 維運 • OS 層級的資訊對於 大 部分的 DevOps Engineer 是天書 • Dmesg, kernel log, /proc, /sysctl • 透過 AI 幫忙去解釋這些內容 (這些出錯的機率相對低,畢竟變動少)