DevOps專注於核心工具

大多數成功的DevOps組織使用各種特定工具自動使用幾個核心類別中的工具:

配置管理。 當DevOps愛好者拋出諸如“自動化基礎設施”,“基礎設施作爲代碼”和“可編程基礎設施”之類的短語時,他們談論的是配置管理。這是跟蹤和控制軟件代碼庫的更改以及將所有文件版本歸檔到中央配置管理數據庫( CMDB),這使得多個開發人員可以在相同的代碼庫上工作,同時避免版本控制問題。流行的配置管理工具包括 Ansible, CFEngine, Chef, Puppet, RANCID, SaltStack和 Ubuntu Juju。但真正的問題是您在配置管理方面需要什麼?例如,如果您想要接收其他人提供的數據,然後對其執行某些操作,則需要一個能夠很好地處理這些數據的工具。

應用部署。應用程序部署工具可實現版本的自動化,是持續交付的核心,也是DevOps的主要原則之一。Capistrano是一個部署庫,是此類別中最受歡迎的獨立工具。其他用於自動化應用程序部署的流行工具包括 Ansible, Fabric和 Jenkins。同樣,關鍵是要找到一種工具來跟蹤歷史記錄中的行爲以更改日誌 - 這對於dev和ops都是有意義的。

監測。DevOps需要兩種不同類型的監控。應用程序性能監視工具(如 New Relic APM)支持代碼級別識別和性能問題修復。在基礎架構級別,服務器監控工具(如 New Relic Server)提供了對容量,內存和CPU消耗的可視性,因此可靠性工程師可以在出現問題時立即解決問題。關鍵是確保每個人都能看到數據,以便他們做出更好的決策。

版本控制。要實現DevOps的優勢,不僅要對應用程序代碼進行版本,還要對您的基礎結構,配置和數據庫進行版本控制。這需要編寫所有源工件的腳本,但是收益應該是應用程序代碼和IT系統和數據庫的單一事實來源,允許您快速識別出錯的地方,並通過推送來重新創建已知狀態按鈕。不再需要玩Sherlock Holmes來確定哪些版本的應用程序代碼與哪些環境或數據庫相關。雖然常用的版本控制工具包括 Git, Perforce和Subversion,但它們在支持DevOps風格協作方面的差異很大。

測試和構建系統。這些工具可自動執行常見的開發人員任務,包括將源代碼編譯爲二進制代碼,創建可執行文件,運行測試以及創建文檔。此類工具包括 Ant, Gradle, Jenkins和 Maven。Travis和 BuildHive等託管服務提供了更多選擇。

DevOps的正確工具鏈將自動化IT服務,提供對系統和應用程序性能的實時可見性,併爲您提供單一的事實來源。但是,比單個工具的功能更重要的是,所有這些都與您組織的戰略目標相匹配。這是最大化實現DevOps良好機會的方法。

當然,工具只是DevOps方程的一部分。您還需要創建一種文化,讓dev和ops一起朝着相同的目標努力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章