【摘要】 DevOps方法可以為組織帶來顯著的積極影響,降低成本、提高效率,使開發團隊的工作更加精簡。為了掌握這個過程的優勢,有必要認識到DevOps是什麼、不是什麼。在本文中,就將討論一些流傳甚廣的關於DevOps的一些誤解。
開發人員社群中流傳著大量的DevOps神話。考慮到近年來DevOps概念的流行,這並不奇怪。
DevOps是鼓勵採用敏捷思維來提高軟體交付過程的速度和質量的實踐。在DevOps中,開發團隊與運維團隊的相互合作,貫穿整個軟體生命週期,二者對自己的具體任務負責但並不真正在一起工作。
如果實施得當,DevOps方法可以為組織帶來顯著的積極影響。它可以降低成本,提高效率,並使開發團隊的工作更加精簡。為了掌握這個過程的優勢,有必要認識到DevOps是什麼、不是什麼。在本文中,就將討論一些流傳甚廣的關於DevOps的一些誤解。
×DevOps就是CI和CD
關於DevOps最大的誤解之一是它與CI/CD是一回事。事實上,持續整合和交付只是DevOps生命週期的一環,是Devps的關鍵元件。
DevOps注重團隊的文化和責任感,它強調團隊中的每個人都需要參與彼此的任務,這樣可以提高團隊中的協作和溝通能力。
另一方面,CI/CD通過強調自動化的軟體和工具實現了這種溝通的文化,所以可以將CI/CD看作達到DevOps的手段。
×DevOps意味著NoOps
NoOps的概念描述了雲基礎設施足夠自動化,以至於不需要手動管理。
NoOps被認為是DevOps的下一個發展模式。與DevOps一樣,它的目標是改進軟體交付,但允許開發人員專注於應用程式開發,而不必在基礎設施和維護上花費過多精力。
通過使用機器學習和人工智慧,可以自動化設定、部署和監視過程,從而更接近NoOps。
×自動化消除了所有瓶頸
自動化是DevOps提供的最大好處之一,但它不是可以解決所有問題的銀彈。
持續交付過程使團隊能夠快速推出新功能,並且更快地得到所需要的反饋。當然,這意味著必須確保產品的質量。此外,在擴充套件時必須考慮到執行情況和效能,還需要確保順利的生產部署。
自動化CI/CD管道有助於消除程式碼提交和部署之間的瓶頸。但這只是軟體交付過程的一個階段。除非開發人員和測試人員結成夥伴關係,否則無法解決所有問題,且很可能只會將問題轉移到其他流程。
×一刀切式的持續交付管道
擁有一個適用於所有團隊和公司的流程是不可能的,這與普遍的想法相反。每個組織都有不同的需求和要求,即使是同一組織中的不同專案也需要不同的持續交付管道。
您可以有隻需要兩到三個環境的專案。例如,頻繁部署的開發、測試和生產環境。在軟體交付週期中有多個階段的專案可能就需要更多的環境。
這就是為什麼持續交付管道應該符合公司已經在使用的釋出過程。
×DevOps即工具
關於DevOps的討論主要集中在公司使用的工具上。然後就變成了關於什麼是最好的工具的哲學爭論。相反,應該交流關於更大的前景,如DevOps給公司帶來的商業價值。
DevOps意味著關注文化、心態以及個人如何協同工作。只有在此之後,才應該為流程選擇正確的工具。團隊經常在工具的大生態系統中尋找最完美的解決方案。構建DevOps管道的時間很長,一旦完成就應該重新進行。
Atlassian的一項研究表明,成功實施DevOps的兩個主要因素是合適的工具和合適的人員。
×軟體釋出與Amazon/Facebook/Google相同
由於DevOps的優點和靈活性,許多世界領先的公司都採用了它。看著這些公司的成功故事,我們當然會敬佩他們的成就。但我們效仿的時候,卻忽視了他們的背景和成功的步驟。
有一件事是肯定的——這些組織選擇並構建了當時最適合他們的工具和流程。這並不一定意味著我們一定要效仿這些組織。此外,他們所做的不會奇蹟般地對我們的業務也起作用。
我們應該向他們學習,尋找創新和發展的新途徑。探索並找到定義問題空間的正確流程和工具。什麼會給我們的事業帶來成功?這就是DevOps的全部內容。
×隨時釋出
頻繁釋出的想法讓公司擔心他們的軟體釋出不夠連續。“船常”已成為行業標準。但是,這並沒有指定時間。可能是每兩到三個星期,也可能是一天幾次。
最重要的是獲得了團隊的信心,使您能夠在需要的時候釋出新軟體。CD是一種從主分支釋出程式碼並對其充滿信心的能力。DevOps的理念是你的程式碼應該在任何時候都可以釋出。
所以請記住,持續交付並不意味著您應該儘可能頻繁地釋出,而是給予想要的頻繁釋出的能力,而多長時間釋出一次應該由公司決定。
希望這篇文章能幫助你解開一些廣為流傳的DevOps誤解,不要讓這種誤解阻礙你團隊的進步。實施DevOps可以幫助你的公司提高生產力,創造更好的產品,所以不要因為這些DevOps誤區而錯失良機。