今天讓我們繼續聊這個題目「你覺得 CI/CD Pipeline 是公司請一位 DevOps 工程師就能搞定的東西嗎?」
筆者在 Day20 的時候其實有稍微聊到這個題目,讓我們回顧一下當時是怎麼說的
如果你的公司及團隊規模很小,我覺得請一位同時擁有「開發 + 維運 + Infra」經驗的工程師來擔任 DevOps 工程師,確實是一個可以考慮的選項;因為規模小,他一個人是有機會發揮影響力來影響整個團隊,獨自打通從軟體開發、交付、部署至維運的整個工作流程,然後建立出團隊共同的協作原則,讓團隊的 DevOps 持續改善之旅能夠往前推進。
從上面的描述可以發現是有幾個前提的
好了,你覺得要一次滿足上面三個前提是一件容易的事嗎?
大公司或大團隊依然可以切分成小團隊或專案團隊,因此將規模變小,似乎不是太困難的事情。
找到同時擁有「開發 + 維運 + Infra」經驗的人才,這個可能有一點難度,畢竟 Dev 與 Ops(Infra)長年的恩恩怨怨,在各種網路戰文中,我們不乏會看見 Dev 說「我們根本不想碰維運,可以讓我專寫程式嗎?」
(截圖來自 infoworld.com 同標題文章。)
反之 Ops 也會說「我才不想整天在 Production 環境 debug,Dev 可以交付真正能正常運作的程式嗎?」
(圖片來自 turnoff.us)
因此不少公司或人會是從 Dev 或 Ops 的其中一端往另一端發展。
(圖片來自 turnoff.us)
最後一點,他必須擁有「軟技能」及一顆願意「發揮影響力」的心,這個⋯⋯嗯⋯⋯實在是不好說⋯⋯畢竟如果不是真正對公司有「愛」,單靠一個人的力量,究竟他有辦法向前衝撞多少次呢?(所以才說要軟技巧嘛~)
(截圖來自 FB 貼文,我想要分享最後一行那句「你總是可以一起參與改革」。)
上面是筆者舉例的情境,如果是不同的情境呢?
所以到底是什麼導致 DevOps pipeline 這麼難搞定呢?
不就是我們這麼多天 DevOps 輕鬆聊不斷談到的,它涉及了從開發、交付、部署至維運整條工作流程,這不只是意味著它跨越了諸多領域,需要多重的技術能力,同時也是因為這整條流程當中,有太多「環節」需要被打通。最後就是整個流程涉及了多重的角色,因此你必須照顧到多重的利害關係人,「人」的問題有時候不是這麼容易解決的。
由此看來,找一位 DevOps 工程師或者是成立一個 DevOps 團隊,雖然是一種實踐 DevOps 或建立 DevOps Pipeline 的方法,但恐怕不是把人找進來,事情就能如你預期推進的。
好了,在這連續假期的日子,今天的 DevOps 輕鬆聊,就聊少一點嘍,我們明天見~