前言
本人在上周四(9/15)和周五(9/16)去參加了2022 DevOps day,想藉此機會順便整理一下自己對於DevOps的想法,如果有誤再請多指教~
當時開場就被問:「如果有人跟你說來導入DevOps吧,你覺得對方第一時間想做什麼?」
我當時想法:「阿不就CI/CD Pipeline跟自動化佈署」
果不其然跟多數人一樣,附上大會過程的投票結果
圖片來源:https://speakerdeck.com/cheng_wei_chen/devopsdays-taipei-2022-opening?slide=4
何謂DevOps
我自己對於DevOps的理解如下:
- DevOps = 開發 (Dev) + 作業 (Ops) 的複合 →人員、程序與技術的聯合,可持續不斷為客戶提供價值。
- DevOps 能讓先前各自獨立的角色 (開發、IT 作業、QA、可能還有其他腳色) 互相協調並共同作業,做出高品質的產品。藉由 DevOps 文化特性、做法及工具,團隊能更妥善回應客戶需求、對其建置的應用程式更具信心,並更快速達成業務目標。
DevOps文化特性
以下特性會搭配我自己在工作碰到的例子~
- 共同作業 e.g.PM和RD會一起討論階段性任務該做到哪些事情
- 範圍&責任轉移:團隊之間的協調,可獲得主導權並參與其他生命週期階段,而不僅限於其角色主要負責的階段
- 較短發行週期
- 以短週期發行軟體以保持靈活
- 較短發行週期能讓規劃與風險管理更輕鬆,因為進度是遞增,也會降低對系統穩定性的影響 e.g.預計在年底完成讓新專案上線,兩個禮拜一個sprint持續推移進度
- 持續學習:高效 DevOps 團隊會建立成長心態。快速從失敗中學習,並將經驗融入過程、不斷改進、提高客戶滿意度並加速創新及適應市場。 e.g.因為進度會一直往前,像是在這個sprint碰到的坑就可以先記錄起來,讓自己下次再碰到的時候可以查詢久了就會記得要繞過坑阿
DevOps作法或工具
- CI/CD Pipeline
- 版本控制 e.g.GitHub
- 敏捷開發
- 持續監控(Continuous Monitoring) e.g.ELK(我只有聽過但還沒實際用過)
- 可能還有其他工具但我沒列出來
結論
放張梗圖來做結尾
圖片來源:https://speakerdeck.com/cheng_wei_chen/devopsdays-taipei-2022-opening?slide=25
其實一開始接觸軟體就是被灌輸這些知識,所以老實說對於DevOps還沒有很深刻的感觸,會覺得阿這些不都是正常流程嗎xD希望自己在工程師這條路上可以慢慢體會DevOps的好處跟各種坑lol
如文章內容有誤歡迎留言指正,但抱歉請鞭小力點QQ