將DevOps視為哲學——實施DevOps的絕佳方式
經過此前的文章介紹,相信大家都對DevOps有了簡單的瞭解。(回顧DevOps是什麼、生命週期點這裡:《DevOps生命週期,你想知道的全都在這裡了!》)DevOps的概念和工具在近些年呈現如火如荼的趨勢,且根據預測將持續增長。但DevOps並非一朝一夕就能實現,而是需要在循序漸進的使用中愈發熟練、完善。
您可能已經注意到,人們決心在他們的環境中實現DevOps,並期望從中獲得更大的好處。誠然,DevOps可以讓軟體開發之旅走上快車道,但在本文中將展示DevOps的另一面,即將DevOps視為一種哲學。事實就是,僅僅依賴工具並不能幫助實現目標,還需要有心態上的改變。
是的,DevOps並不完全是為了更快的軟體開發和交付。事實上,它促進了協作環境,在這種環境中,軟體可以更高效、更少Bug、更快速,而且更重要的是,以使用者為中心。
DevOps的定義指出DevOps彌合了開發和運維之間的鴻溝。DevOps的最終目標是縮短軟體開發生命週期,但是不應該忽視軟體的質量。許多關鍵的技術組織,如亞馬遜、Netflix、NASA、IBM、微軟、谷歌、Facebook等,都在他們的開發環境中使用DevOps作為方法論。
但是你真的理解DevOps這個詞及其整套理念嗎?
不能僅僅通過減少軟體交付的時間就說你在做DevOps或敏捷。如果你的組織正在做DevOps,那麼團隊中的每個人都必須參與到整個DevOps規程中,該規程注重於強大的協作和早期的反饋。
從無到有的DevOps旅程
根據Gartner的調查,到2023年,90%的DevOps計劃是由於領導方法的限制而不是技術原因而失敗。DevOps從無到有的旅程將需要每個人的努力和關注,因為DevOps著眼於整個團隊而非個人。這就是觀念在採用成功的DevOps流程中可以發揮重要作用的地方。
當你考慮理念問題時,以下幾點是必須具備的:
●能夠理性思考特定問題
●能夠獨立清晰地思考
●以更廣闊的視角分析和解決問題
當你接受“DevOps作為一種哲學”以及有效的DevOps工具時,軟體開發方法將被轉移到深遠且快速的軟體交付上,並與每個階段的使用者反饋保持一致。
有許多傳統的軟體開發模型,比如瀑布模型、螺旋模型、迭代模型、極限程式設計模型等等。另一方面,DevOps是一種基於敏捷原則的新文化,它在較短的時間內重視軟體的方法、過程和質量。
為什麼DevOps的轉變對組織來說會如此困難?DevOps之旅對大多陣列織來說都是痛苦的,因為:
●人們抗拒轉變
●團隊不協調及精力有限
●對自動化不切實際的期待
●專注於上述因素,就可以逐步在組織中為DevOps營造一個建設性的氛圍。
自動化被誤解了
我們經常聽到DevOps使用CI(持續整合)和CD(持續交付)來自動化軟體開發管道。但這只是部分真相。
毫無疑問,DevOps指的是軟體開發、測試和部署的自動化,但這並不意味著不需要人工智慧和協作。雖然有些流程可以毫不費力地實現自動化,但有些流程需要高階功能。記住“導致devops失敗的往往是人,而不是流程”,Gartner研究總監George Spafford如是說。
為了在競爭中獲得優勢,應該關注軟體開發的質量。自動化是必不可少的,並且通過消除冗餘任務節省了您大量的時間和精力。
但是,更重要的是質量標準,通過人和機器共同維護。在這裡,人們可以幫助將提議的開發圖與開發的系統相匹配,這樣他們就可以更加關注客戶的滿意度。
改變不是一朝一夕發生的,要循序漸進
你不能指望在一兩天內就能成功實現DevOps。它可能需要幾天、幾周甚至幾個月的時間才能成熟。在這裡,“將DevOps視為一種哲學”可以幫助建立一種心態——以緩慢而堅定的心態幫助企業實現根本改變。
軟體不再只停留在網頁端和移動端範圍內。它正在超越機器學習、人工智慧、大資料分析、物聯網的崛起。
在數字時代,需要持續的聯絡和以質量為導向的心態。在這樣的場景中,DevOps之類的概念可以讓您獲得同步的好處,從而通過以客戶為中心的軟體解決方案交付價值。
不要僅為了更快的交付而實施DevOps,需要做的是:
●確認DevOps的真正優勢
●依靠“DevOps哲學”來帶來文化變革
●為組織定義自動化和協作
●在進行下一步工作之前,注意整體基礎設施
●確定目標和衡量標準
●不要害怕失敗
●開發整個工具鏈並培訓員工
人員和流程必須按照共同的思維方式工作,以便向終端使用者交付價值。這個原則適用於任何型別的軟體開發。
作者:陳琦,資深敏捷測試顧問,作為國內知名專案管理軟體——禪道的團隊成員,主要負責開源自動化測試管理框架——ZTF的開發工作。擁有十多年的敏捷過程實踐經驗,現致力於測試自動化和DevOps相關領域的實踐和研究。
相關文章
- DevOps落地實施要有哪些支柱?dev
- DevOps實施手冊 在多級IT企業中使用DevOpsdev
- 實施DevOps安全策略清單dev
- 資料庫DBA為什麼拒絕DevOps?資料庫dev
- DevOps是一種哲學,而不是一個具體技術名頭 - DZone DevOpsdev
- DevOps已死?2024年的DevOps將如何發展dev
- DEVOPS學習dev
- Azure DevOps(二)利用Azure DevOps Pipeline 構建基礎設施資源dev
- DevOps實戰dev
- DevOps實踐dev
- 阿里巴巴DevOps實踐指南(一)| 為什麼DevOps的必然趨勢是BizDevOps阿里dev
- 切忌一步到位,談談DevOps實施落地dev
- 荷蘭銀行實施大規模DevOps經驗dev
- 華為敏捷DevOps實踐:如何從Excle管理軟體的方式中走出來敏捷dev
- Serverless 時代 DevOps 的最佳開啟方式Serverdev
- DevOps 實踐指南dev
- DevOps 視角的前後端分離與實戰dev後端
- 將安全融入 DevOps:啟用技巧dev
- DevOps - DevOps隨想雜談dev
- GitOps—用於基礎設施自動化的DevOpsGitdev
- 兩種 cp 命令的絕佳用法的快捷方式
- CODING DevOps 系列第四課:DevOps 中的質量內建實踐dev
- 金融科技 DevOps 的最佳實踐dev
- DevOps 中的測試實踐dev
- DevOps中的測試實踐dev
- DevOps和機器學習將成為2018年的主導性技術機遇dev機器學習
- DevOps與敏捷異同 - DZone DevOpsdev敏捷
- Devops-01-devops 是什麼?dev
- DevOps 初學者寶典dev
- 免費直播 | DevOps 道法術器3.0,立體化實施框架與實踐dev框架
- 【Azure DevOps系列】什麼是Azure DevOpsdev
- 誰動了我的DevOps:DevOps風險測繪dev
- 基於DevOps的容器安全實踐dev
- Devops實現之 nginx(一)devNginx
- DevOps 的未來dev
- DevOps概述dev
- devops 2024dev
- 【Azure DevOps系列】Azure DevOps使用Docker將.NET應用程式部署在雲伺服器devDocker伺服器