DevOps 開始到崩壞?

閱讀時間約 8 分鐘

即將迎來一年一度的DevOps Days,回顧起自我從2017年開始涉足DevOps主題的旅程,首次探索這一議題是在北京的一場高峰會。隨後,多年來我持續深入探討,從團隊協作到塑造企業文化,再到工具運用與自動化等各種議題。然而,更早的關注焦點則放在Scrum與Agile方法論上,而正是這兩者驅動著DevOps的核心動力。

然而,歷經十餘年,Scrum和Agile方法論真正在企業中實現了多少呢?坦率地說,能夠實際落地的企業屈指可數,真正付諸實踐的案例甚是罕見,而其中一些僅僅是表面的皮毛。如果說Scrum和Agile都難以實現,那麼我們不禁要問,DevOps又是否更加具有挑戰性呢?否則,Scrum和Agile早就蛻變為另一個新的名詞了。

從早期大家關注的「資料探勘」,到如今的「大數據」與「數據湖」,事實上,核心原理並未有太大的差異,僅僅是名詞的變化帶來市場的熱度。同樣的邏輯也適用於如今極為熱門的人工智慧領域。沒有大數據作為基礎,AI又如何有所作為呢?因此,在引入AI的同時,事實上我們仍然在討論著大數據的議題和資料清理。

DevOps 本質

DevOps的本質實際上涵蓋了文化、流程和工具的整合。這三個要素相信許多人都耳熟能詳。然而,在這三者之中,工具似乎是最受矚目的。市場上充斥著各種選擇,挑選最適合的工具有時確實令人頭疼。你選擇了A公司的工具,隔天B公司可能就推出更為優越的選項。然而,我們必須明白,工具僅是DevOps過程的一環,不能僅憑此判斷優劣。我認為,工具就像裝備,擁有良好的工具當然能事半功倍,但最終效果還取決於使用方式。

流程和文化則是更為關鍵的部分,同時也是較為複雜的方面。當我們開始實施DevOps時,每位成員都必須在團隊中協調一致,從需求到運維都需要建立流暢的流程和協同作業模式。然而,要在企業中建立這樣的模式並非短時間內可達成的目標。在這個過程中,我們將不斷面對挫折和挑戰,只有持續努力和克服,才能繼續前進。然而,正因為如此,成員們積累的經驗和知識會逐漸增長,即使新加入的成員也能在這樣的環境中快速適應,無需擔心跟不上的問題。當然,前提是需要找尋適合的夥伴。

在網路上有許多指導如何建立健全文化和流程的資源,這些都是可供參考的寶貴資訊。然而,人是複雜的生物,改變並不容易,尤其是當多人協同工作時。因此,我認為時間是至關重要的因素。如果不給予足夠的時間,要實現轉型和成長將變得相當困難。

你開始DevOps,別人呢?

當團隊踏入DevOps的領域,我們需要開始觀察周遭的團隊是否也在實行DevOps,或者他們是否具有相同水準的知識來討論DevOps。而在這個時候,我們也可能陷入「這份工作是我的職責」或「這是我的績效指標」的思維模式中,尤其是在大型企業中,這樣的情況十分普遍。

早期,我們注重的是責任的明確分工,並認為分工愈細愈好。這樣做自然會導致開發者僅專注於編寫程式,佈署專業人員只負責佈署,運維人員只關心運維,資安團隊專注於保障資安等。有些公司甚至分工更細,例如建立AD(Active Directory)與管理AD的工作被分派給不同的人,而這些人的操作權限又受到限制,雙方互相無法介入對方的工作。

這種模式的好處在於,責任分工明確,每個人的工作相對輕鬆,只需專注於特定領域。然而,隨著技術和工具的進步,我們需要重新思考是否仍然需要如此細緻的分工。

另一個分工帶來的問題是,每個團隊就像是功能性團隊,只需關心自己的工作,對其他團隊(部門)的事情不感興趣。這可能與DevOps的本意不符。DevOps的核心並不僅僅是將開發和運維整合為一個團隊,更重要的是要在心態上實現兩者的平衡和協作。早期我們總是希望每個環節都能最優化,但在整合開發和運維這兩個環節時,兩者各自的最優化未必能帶來整體的最優化。這在很多案例中都被證實,最終可能兩方都無法達到最佳狀態。唯有雙方願意讓步,整合才能實現最優化,這正是限制理論所強調的。

然而,讓步這件事情常常相當困難,尤其是在跨國或跨文化的情況下,可能需要從領導層面來引導。正如之前的研討會所提及的,DevOps需要的不僅僅是自下而上的實踐,同樣需要自上而下的推動。在很多情況下,缺乏上層的支援和決策,將增加實現的難度。

以資安團隊為例,如果只關注自身領域,追求個人的績效目標,而忽略其他團隊的模式和情境,將不僅限制了發展,還可能破壞原本團隊的工作模式。從技術角度來看,缺乏透過其他情境學習解決問題的經驗,也將限制個人的技術視野,認為只有單一種解決方案。這種情況對整個公司並不利。

所以,當你的團隊實行DevOps時,與你合作的其他團隊是否也在實踐呢?如果是,恭喜你,你們可以朝著Scrum中的LeSS(Large Scale Scrum)概念邁進,實現大規模的DevOps協同合作,進一步提升整體效益。

每當看到像是biz + Dev + Ops + … 這樣一系列組合時,我都會思考這些組合是為了宣傳,還是真的可行。如果可行,像是bizDevOps是否只是在擴大DevOps的核心概念?畢竟,DevOps中已經涉及到了業務(biz)方面的討論。

raw-image

開始到崩壞

實際上,成功和失敗都是相對的概念,其界定取決於我們設定的目標和期望。如果我們沒有確定的成功標準,就難以談論失敗。然而,崩壞概念則指的是在一段成長過程中,由於某些因素,我們開始經歷逆轉,甚至回到原點。這種情況可以用股市行情圖來說明。當談到崩壞概念時,這可能意味著一家公司或一個項目正在經歷相對成功的時期,但由於某些不利因素,開始出現倒退的趨勢,甚至處於危機中。這種情況可能使我們回到了之前的起點,失去了之前所獲得的進展。

在我看來,最容易出現的問題之一是嚴重的”穀倉效應”以及過度”執著”於控制的Function Team。在DevOps的核心理念中,協助團隊人員將功能交付給客戶,或協助實現其他業務目標。然而,若Function Team無法認識到實現業務目標的重要性(大多數Function Team並未涉足業務層面,無法理解重要性),他們可能為了自身目標而忽視其他因素。人們通常會追求達成自己設定的目標,以獲得更好的薪酬。當Function Team忽略其他因素時,只認為自己目標才是正確的,這可能導致協同合作的困難。

DevOps有人曾說是建立統一的多技能團隊,這將有助於更好地溝通、協作和整合,這是實踐DevOps在任何開發和交付環境中的關鍵。建立多技能團隊可以帶來巨大效益,因為團隊成員可以互相支持,並使團隊運作更快、更有效,最終提升客戶滿意度。然而,這需要突破傳統組織的框架,因為在某些組織中,權力和Function Team的職責緊密相連。換句話說,如果你不在特定的團隊內,即使你擁有出色的技能和豐富的經驗,也可能無法發揮作用,因為你沒有相應的權力,必須依賴(受控於)其他人。甚至,還會被人挖坑。這強調了Top-Down(自上而下)的重要性,缺乏Top-Down支援時,這些問題可能會不斷浮現。

實現這種結構和文化的轉變是一個漫長的過程,但打破這種結構和文化則相對容易。只要Function Team的權力超越其他團隊,且雙方未能站在相同的知識水平上應對商業需求,這可能是組織崩壞的徵兆。

總之,穀倉效應和Function Team的執著可能威脅到DevOps實踐的成功。建立跨功能的多技能團隊,以及強調組織的Top-Down支援,都是克服這些障礙的關鍵。所以,集中化的權責劃分勢必將要轉型,這也將衝擊到原有組織內的工作型態

感想

當前,DevOps在台灣已經逐漸深入到許多企業,儘管大部分仍處於工具導入階段。然而,企業的轉型並不簡單,特別是對於傳統製造業或硬體產業,轉變變得更加艱困。關鍵挑戰不在技術方面,而是在人的因素上。人的行為是難以完全控制的,這也是為何製造業傾向於降低人員介入,追求自動化或無人工廠。這除了降低人力成本外,也有利於提升生產品質,因為人為因素的干擾將會減少。甚至,當上層主管的異動,也會讓原本成果,瞬間崩壞

值得注意的是,這一觀點與製造業中的自動化趨勢相呼應。降低人員介入能減少人力成本,同時增加產品品質和一致性。這也是為什麼不少企業在追求自動化和無人工廠的原因之一。這些措施的目的是減少無法控制的人為因素,以提升生產效率和產品品質。

另外,如何察覺可能的轉型問題,也是一個重要的議題。目前先寫到這,有空再寫寫,如何嗅到崩壞的味道....

avatar-img
6會員
11內容數
沒有最完美架構、只有最適合情境的架構、好的架構是需要不斷迭代
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
EK.Technology 日常 的其他內容
DevOps這個名詞,這幾年在台灣被討論次數有越來越高的趨勢,也發現想要導入或是開始進行DevOps的企業,也從過去的網路公司的產業、電商產業或是軟體資訊業,慢慢吹向到傳統企業與製造業的資訊部門。 我在一些非資訊相關產業的場子上,聽到很多企業主管說想要開始導入或是了解DevOps,再加上去年也剛好
DevOps這個名詞,這幾年在台灣被討論次數有越來越高的趨勢,也發現想要導入或是開始進行DevOps的企業,也從過去的網路公司的產業、電商產業或是軟體資訊業,慢慢吹向到傳統企業與製造業的資訊部門。 我在一些非資訊相關產業的場子上,聽到很多企業主管說想要開始導入或是了解DevOps,再加上去年也剛好
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一、開場:軟體開發的困境 在當今數位時代,軟體開發已經成為推動科技進步的核心力量。然而,傳統的軟體開發過程卻面臨著諸多挑戰:需要設計師規劃系統、程式師編寫代碼、測試工程師進行測試,這種多方協作不僅耗時,還常常因為溝通不良導致效率低下。更重要的是,每個開發階段都使用不同的技術工具,造成整個開發流程支
Thumbnail
「Scrum的用意是為科技業設想一套更快速,更可靠,更有效的軟體開發手法。」 「Scrum源自於 Toyota生產系統,以及空戰的OODA循環。」 「設定為期一週至一個月的“衝刺 Sprint",以維持動能,讓每個成員承擔應有的責任。」 「進行簡短的"每日立會 Daily St
Thumbnail
在業務轉型過程中,面對團隊的挑戰是成功的關鍵。從適應新市場需求到改變供應鏈,團隊的支持至關重要。本文探討瞭如何在面對團隊成員利益驅動下,運用外部資源和內部創業,推動企業的ESG+AI轉型。透過勇敢投資未來業務,您將能夠提升個人與團隊的價值。
Thumbnail
PDCA循環是一種有效的管理方法,透過計劃(Plan)、執行(Do)、檢查(Check)與行動(Act)四個步驟,促進企業流程與產品品質的持續提升。這一管理理念強調選擇與努力相互依賴,共同驅動成果。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
敏捷開發方法已成為現代軟體開發領域的一個關鍵趨勢。其主要目的是通過快速和增量的開發過程,提高開發效率和應對變化的能力。本文將深入探討Scrum和Kanban這兩種流行的敏捷方法的基本原理,實際應用案例,以及實施過程中可能遇到的挑戰和解決策略。
Thumbnail
作為一個管理者,我們需要:保持對技術的熱誠,聆聽與做出決定,還有確保團隊達成目標。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一、開場:軟體開發的困境 在當今數位時代,軟體開發已經成為推動科技進步的核心力量。然而,傳統的軟體開發過程卻面臨著諸多挑戰:需要設計師規劃系統、程式師編寫代碼、測試工程師進行測試,這種多方協作不僅耗時,還常常因為溝通不良導致效率低下。更重要的是,每個開發階段都使用不同的技術工具,造成整個開發流程支
Thumbnail
「Scrum的用意是為科技業設想一套更快速,更可靠,更有效的軟體開發手法。」 「Scrum源自於 Toyota生產系統,以及空戰的OODA循環。」 「設定為期一週至一個月的“衝刺 Sprint",以維持動能,讓每個成員承擔應有的責任。」 「進行簡短的"每日立會 Daily St
Thumbnail
在業務轉型過程中,面對團隊的挑戰是成功的關鍵。從適應新市場需求到改變供應鏈,團隊的支持至關重要。本文探討瞭如何在面對團隊成員利益驅動下,運用外部資源和內部創業,推動企業的ESG+AI轉型。透過勇敢投資未來業務,您將能夠提升個人與團隊的價值。
Thumbnail
PDCA循環是一種有效的管理方法,透過計劃(Plan)、執行(Do)、檢查(Check)與行動(Act)四個步驟,促進企業流程與產品品質的持續提升。這一管理理念強調選擇與努力相互依賴,共同驅動成果。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
敏捷開發方法已成為現代軟體開發領域的一個關鍵趨勢。其主要目的是通過快速和增量的開發過程,提高開發效率和應對變化的能力。本文將深入探討Scrum和Kanban這兩種流行的敏捷方法的基本原理,實際應用案例,以及實施過程中可能遇到的挑戰和解決策略。
Thumbnail
作為一個管理者,我們需要:保持對技術的熱誠,聆聽與做出決定,還有確保團隊達成目標。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。