【注】本文譯自: https://www.javatpoint.com/devops
DevOps 是兩個單詞的複合,一個是 Development,另一個是 Operations。它是一種共同提升開發和運維過程的文化。
DevOps 教程將幫助你學習 DevOps 基礎知識並帶你深入了解各種 DevOps 工具,譬如:Git、Ansible、Docker、Puppet、Jenkins、Chef、Nagios 和 Kubernetes。
什麼是 DevOps?
DevOps 是兩個單詞的複合,其一是軟體開發,其二是運維。這就允許一個團隊掌握整個應用生命周期,從開發到測試、部署以及運維。DevOps 有助於減少軟體開發工程師、質量保障(QA)工程師和系統管理者之間的斷層。
DevOps 提升開發和運維團隊間的協作,通過自動化和可重複的方式將將代碼更快地部署到生產。
DevOps 有助於加快組織交付應用和服務的速度。它也使得組織更好地服務客戶,以增強市場競爭力。
DevOps 也可以被定義成開發和 IT 運維更好地溝通和協作的序列。
DevOps 已經成為企業或組織最具價值的業務準則之一。在 DevOps 的幫助下,應用交付的質量和速度已經得到了極大的改善。
DevOps 只是使「開發人員」和「運營人員」一起工作的一種實踐或方法。DevOps 代表著 IT 文化的一種變化,它完全專注於在面向系統方法的上下文中通過採用敏捷實踐來快速交付IT服務。
DevOps 就是關於運營和開發流程的集成。 已採用DevOps的組織注意到,軟體質量提高了22%,應用程式部署頻率提高了17%,客戶滿意度提高了22%。 成功實施 DevOps 後,收入增長了19%。
為什麼需要 DevOps?
接下來,我們需要了解為什麼我們需要 DevOps 而不是其他方法。
運營和開發團隊完全孤立地工作。在設計-構建之後,分別進行測試和部署。 這就使得他們比實際構建周期花費更多時間。在不使用 DevOps 的情況下,團隊成員花費大量時間在設計,測試和部署上,而不是構建項目。手動代碼部署會導致生產中的人為錯誤。編碼團隊和操作團隊有各自的時間表、並且不同步,從而導致進一步的延遲。DevOps 歷史
2009年,第一屆名為 DevOpsdays 的會議在比利時根特舉行。 比利時顧問和 Patrick Debois 共同創立了此次會議。2012年,Puppet 的 Alanna Brown 提出並構思了 DevOps 狀態報告。 2014年,Nicole Forsgren、Jez Humble、Gene Kim 等人發布了年度 DevOps 狀態報告。他們發現,DevOps 的採用也在 2014 年加速發展。2015年,妮可·福斯格倫(Nicole Forsgren)、吉恩·金(Gene Kim)和傑茲·漢布爾(Jez Humble)創立了 DORA(DevOps研究與任務)。2017年,妮可·福斯格倫(Nicole Forsgren),吉恩·金(Gene Kim)和傑茲·漢布爾(Jez Humble)發表了「加速:建立和擴展高性能技術組織」。DevOps 架構特性
以下是 DevOps 架構的一些關鍵功能,例如:
1) 自動化
自動化可以減少時間消耗,尤其是在測試和部署階段。 生產率提高了,並且自動化使發布更快。 這將導致迅速捕獲錯誤,因此可以輕鬆修復它。 對於持續交付,每個代碼都是通過自動化測試,基於雲的服務和構建來定義的。 可以使用自動部署來促進生產。
2) 協作
開發和運營團隊作為 DevOps 團隊進行協作,隨著團隊生產力的提高,生產力不斷提高,從而改善了文化模型、增強了責任感和所有權。 這些團隊分擔責任並緊密同步工作,進而加快了生產部署速度。
3) 集成
應用程式需要與環境中的其他組件集成。 集成階段是將現有代碼與新功能結合起來,然後進行測試。 持續的集成和測試可以實現持續的開發。 發布和微服務的頻率導致重大的運營挑戰。 為了克服這些問題,就要實施持續集成和持續交付,以便以更快,更安全和可靠的方式交付。
4) 配置管理
配置管理確保應用程式僅與那些與其運行環境有關的資源進行交互。 在將應用程式的外部配置與原始碼分開的情況下,不會創建配置文件。 配置文件可以在部署過程中編寫,也可以在運行時加載,具體取決於運行環境。
DevOps 的優點和缺點
以下是DevOps對業務可能具有的一些優點和缺點,例如:
優點
DevOps 是快速開發和部署應用程式的絕佳方法。對市場變化做出更快的響應,以改善業務增長。DevOps通過減少軟體交付時間和運輸成本來提升業務利潤。DevOps 清除了描述過程,從而使產品開發和交付更加清晰。改善了客戶體驗和滿意度 DevOps 簡化了協作,並將所有工具都放置在雲中供客戶訪問。DevOps 意味著集體責任,可以提高團隊參與度和生產力。缺點
DevOps 專業人士或專家的開發人員較少。使用 DevOps 進行開發非常昂貴。行業在短時間內很難採用新的DevOps技術。在自動化項目的持續集成中,缺乏DevOps知識可能是一個問題。前提條件
要學習 DevOps,您應該具有 Linux 的基本知識和至少一種腳本語言。
受眾
我們的 DevOps 教程旨在幫助初學者和專業人士。