11.18 推薦幾款2019 年必學的 DevOps 流行工具

DevOps 不僅僅是一種技術、工具或語言,還是一種強調不同硬件、計算機、協同工作的文化,它以這種方式來幫助團隊從整個編程中獲益。在本文中,我們將介紹幾款常用的 DevOps 工具。

推薦幾款2019 年必學的 DevOps 流行工具

DevOps 是一種利用雲創新、自動化和制度化,從根本上加速傳統編程的改進模式。

Git

Git 是分佈式版本控制系統,沒有中央服務器,每個人的電腦就是一個完整的版本庫,工作的時候不用聯網,因為版本都在自己電腦上。

協同方法是這樣的:比如說自己在電腦上改了文件 A,其他人也在電腦上改了文件 A,這時,你們之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

Git 是免費、開源的,最初 Git 是為輔助 Linux 內核開發的,來替代 BitKeeper 。

優點:

  • 適合分佈式開發,強調個體。
  • 公共服務器壓力和數據量都不會太大。
  • 速度快、靈活。
  • 任意兩個開發者之間可以很容易的解決衝突。
  • 離線工作。

缺點:

  • 模式上比 SVN 更加複雜。
  • 不符合常規思維。
  • 代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

Docker

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux 或 Windows 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何接口。Docker 使用客戶端 - 服務器 (C/S) 架構模式,使用遠程 API 來管理和創建 Docker 容器。

推薦幾款2019 年必學的 DevOps 流行工具

Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關係類似於面向對象編程中的對象與類。

Selenium

Selenium 是一種開源的基於 Web UI 自動化測試架構。

Selenium 是用於測試 Web 應用程序用戶界面 (UI) 的常用框架。它是一款用於運行端到端功能測試的超強工具。

您可以使用多個編程語言編寫測試,並且 Selenium 能夠在一個或多個瀏覽器中執行這些測試。

Jenkins

Jenkins 是一個用 Java 編寫的開源的自動集成服務器。Jenkins 可以自動化流水線的不同階段。Jenkins 可用於持續集成。

為了給你一個直觀感受,想象一下有這樣一個場景:Jenkins 服務器將我們應用程序劃分成不同階段,使其在所有條件部署好之前,可以提前開放給測試、QA。Jenkins 服務器貫穿整個 CI/CD 管道。它可以自動化整個 CI/CD 過程,這意味著設計人員無論在什麼地方提交代碼變更,該代碼都將實時開放給測試服務器或 QA 組。

此時,他們可以即刻就這些變化提出建議。Microsoft、Redhat 和 Rackspace 都在使用 Jenkins,並且他們都提供一些使用 Jenkins 的示例。

Ansible

Ansible 是一個開源的自動化運維工具,它可用於配置管理和應用程序部署。Ansible 是控制由許多機器組成的集群自動化的基礎 Ansible 拋棄了客戶端 / 服務器模式。

Ansible 是基於模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是 ansible 所運行的模塊,ansible 只是提供一種框架。

主要包括:

(1). 連接插件 connection plugins:負責和被監控端實現通信;

(2).host inventory:指定操作的主機,是一個配置文件裡面定義監控的主機;

(3). 各種模塊核心模塊、command 模塊、自定義模塊;

(4). 藉助於插件完成記錄日誌郵件等功能;

(5).playbook:劇本執行多個任務時,非必需可以讓節點一次性運行多個任務。

Puppet

Puppet 是一種 Linux、Unix、windows 平臺的集中配置管理系統,使用自有的 puppet 描述語言,可管理配置文件、用戶、cron 任務、軟件包、系統服務等。

Puppet 把這些系統實體稱之為資源,puppet 的設計目標是簡化對這些資源的管理以及妥善處理資源間的依賴關係。

Puppet 採用 C/S 星狀的結構,所有的客戶端和一個或幾個服務器交互。每個客戶端週期的(默認半個小時)向服務器發送請求,獲得其最新的配置信息,保證和該配置信息同步。

每個 puppet 客戶端每半小時 (可以設置) 連接一次服務器端,下載最新的配置文件,並且嚴格按照配置文件來配置客戶端。配置完成以後,puppet 客戶端可以反饋給服務器端一個消息.。如果出錯,也會給服務器端反饋一個消息。

Nagios

Nagios是一款開源的免費網絡監視工具,能有效監控 Windows、Linux 和 Unix 的主機狀態,交換機路由器等網絡設備,打印機等。

在系統或服務狀態異常時,它會發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。

Nagios 可以監控的功能有:

1. 監控網絡服務(SMTP、POP3、HTTP、NNTP、PING 等);

2. 監控主機資源(處理器負荷、磁盤利用率等);

3. 簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法;

4. 可以通過手機查看系統監控信息;

Chef

Chef 是 IT 自動化平臺,可讓客戶創建、部署、變更和管理基礎設施運行時環境和應用。Chef 是平臺無關的,可以部署到雲端、本地或作為虛機(VM)。

Chef 也被稱為部署自動化工具和 DevOps 使能者,它是一款可以為不同規模企業提供許多集成選項的產品。

客戶用 Chef 來創建、管理和部署應用棧、裸服務器以及 VM。Chef 平臺主要基於客戶 / 服務器。受管理的系統運行 Chef 客戶端,後者再利用 HTTP RESTful API 連接 Chef 服務器。

Chef 服務器包含有一個數據庫,裡面存儲有“配方”,“配方”會被打包成獨立的“食譜”,代表著運行在客戶端的獨立組件—比方說 Java、WebSphere 以及 MySQL 等,還會保留著所有受管理機器的詳細目錄。

更多技術乾貨,請關注公眾號: mikezhou_talk,你們的支持會鼓勵不斷產出分享更多更好的優質文章。


分享到:


相關文章: