在日常的技術討論中,DevOps 幾乎是一個必定會出現的詞彙。有去查過一些定義,但久而久之,我對它的印象只剩下和部屬相關的一種任務種類。這次參加 DevOps 主題的鐵人賽,我希望能重新認識這個詞彙的真正定義與價值,並思考如何讓團隊的交付效率和工作體驗有所提升。
當我回頭檢視過去的工作經驗時,自己大多數的時間都待在「開發」角色,卻常常忽略了「運維」這一端。事實上,一個軟體能順利上線並穩定運作,少不了開發與運維兩部分的合作。DevOps 就是這兩端的橋樑,透過自動化與協作,提升軟體的交付品質與速度。
DevOps 由 Development(開發) 與 Operations(運維) 兩個詞組合而來。它不是一個工具名稱,也不是某種工作職稱,而是一種方法論與文化。
它的核心精神在於:
DevOps 不只是「工具」或「自動化部署」,而是 工具 + 流程 + 文化 的結合。
當我們談到 DevOps 時,很多人腦中第一個浮現的就是 CI/CD,但可以在更細分為不同的面向:
CI/CD(持續整合/持續交付)
讓程式碼能自動測試、自動部署,減少人為錯誤,加快上線速度。
→ 常見工具:Jenkins、GitLab CI/CD、GitHub Actions
IaC(Infrastructure as Code)
用程式碼管理基礎設施,避免「環境不同」的問題,確保一致性與可追溯性。
→ 常見工具:Terraform, Ansible
容器化與容器集群
容器化解決環境一致性的問題,容器集群則提供自動調度、擴展與容錯。
→ 常見工具:Docker, Kubernetes, Helm
Observability(可觀測性)
透過 log、metrics、tracing 掌握系統狀況,快速發現並解決問題。
→ 常見工具:Prometheus, Grafana, ELK/EFK, Datadog
這些工具的共同目的只有一個:讓交付更快、更可靠、更可控。
工具解決了技術問題,但要真正發揮價值,還需要改變團隊的工作流程:
這樣的流程能讓團隊從「交付一個版本」轉變為「隨時都能交付」。
很多團隊導入 DevOps 工具後,仍然覺得沒什麼改變,原因是或許是缺少文化的支撐。
我覺得不光是 DevOps,任何團隊間運作、合作模式的轉移,工具只是助力,重要的是團隊文化能不能讓大家都朝著同一個目標前進。
過去自己其實比較少有機會去深入理解 DevOps 的文化內涵與工具,也因此對這個詞的印象總是停留在表層。但透過這次參加鐵人賽,我很開心能夠重新認識並體會到 DevOps 的精神,並且對於這個領域的學習有了更多的啟發與動力。
我期待在接下來的文章中,能持續精進自己在 DevOps 相關知識與實踐上的理解,並同時思考一個更有趣的課題:AI 如何融入 DevOps 的世界。如果說 DevOps 是幫助團隊更快、更穩定地交付價值,那麼 AI 也許能成為下一個強大的助力,進一步提升團隊效率與工作體驗。
這會是我在後半段鐵人賽中想要探索與分享的方向。