2018年最好的幾個開源DevOps工具
開發和運營的整合為軟體開發帶來了新的視角。如果您是DevOps實踐的新手,或者希望改進當前流程,那麼瞭解哪種工具最適合您的團隊可能是一項挑戰。
我們將這個列表放在一起,以幫助您做出明智的決定,確定哪些工具應該是您的堆疊的一部分。那麼,讓我們來看看幾個最好的DevOps工具,從自動構建工具到 ofollow,noindex" target="_blank">應用程式效能監控平臺 。
2018年最好的開源DevOps工具
1. Gradle

DevOps工具堆疊需要一個可靠的構建工具。Apache Ant和Maven多年來一直主導著自動化構建工具市場,但 Gradle 在2009年出現在現場,並且其受歡迎程度自那時起穩步增長。
Gradle是一個非常通用的工具,它允許您使用Java,C ++,Python或其他語言編寫程式碼。Gradle還受到Netbeans,Eclipse和IntelliJ IDEA等流行IDE的支援。如果這不能說服你,那麼谷歌也會選擇它作為Android+Studio/">Android Studio 的 官方構建工具 可能會有所幫助。
雖然Maven和Ant使用XML進行配置,但Gradle引入了基於Groovy的DSL來描述構建。2016年,Gradle團隊還發布了 基於Kotlin的DSL ,現在您也可以在Kotlin中編寫構建指令碼。這意味著Gradle確實有一些學習曲線,所以如果您以前使用過Groovy,Kotlin或其他JVM語言,它可以提供很多幫助。此外,Gradle使用Maven的儲存庫格式,因此如果您之前有使用Maven的經驗,那麼依賴管理將會很熟悉。您還可以 將Ant構建 匯入Gradle。
關於Gradle的最好的事情是 增量構建 ,因為它們節省了大量的編譯時間。根據Gradle的 效能測量結果 ,它比Maven快100倍。
這部分是因為增量,但也是由於Gradle的 構建快取 和 守護程序 。構建快取重用任務輸出,而Gradle Daemon在構建之間的記憶體中保持構建資訊熱。
總而言之,Gradle允許更快的運輸,並提供了許多配置可能性。
2.git

Git 是最受歡迎的DevOps工具之一,廣泛應用於整個軟體行業。它是一個分散式SCM(原始碼管理)工具,深受遠端團隊和開源貢獻者的喜愛。Git允許您跟蹤開發工作的進度。您可以儲存原始碼的不同版本,並在必要時返回到以前的版本。它也非常適合進行實驗,因為您可以建立單獨的分支並僅在它們準備就緒時合併新功能。
要將Git與您的DevOps工作流程整合,您還需要託管您的團隊成員可以推動其工作的儲存庫。目前,兩個最好的線上Git repo託管服務是 GitHub 和 Bitbucket 。GitHub更為知名,但Bitbucket為小型團隊(最多五個團隊成員)提供免費無限制的私人回購。使用GitHub,您只能免費訪問公共回購 - 這對許多專案來說仍然是一個很好的解決方案。
GitHub和Bitbucket都有很棒的整合。例如,您可以將它們與Slack整合,以便每當有人進行新的提交時,團隊中的每個人都會收到通知。
3.Jenkins

Jenkins 是許多軟體開發團隊的首選DevOps自動化工具。它是一個開源CI / CD伺服器,允許您自動化交付管道的不同階段。Jenkins受歡迎的主要原因是其巨大的外掛生態系統。目前,它提供 了1000多個外掛 ,因此它集成了幾乎所有DevOps工具,從Docker到Puppet。
使用Jenkins,您可以根據自己的需要設定和自定義CI / CD管道。我在 Jenkins Docs中 找到了以下示例。而且,這只是其中一種可能性。不錯,不是嗎?

開始使用Jenkins 非常容易,因為它在Windows,Mac OS X和Linux上都是開箱即用的。您也可以 使用Docker 輕鬆 安裝它 。您可以通過Web介面設定和配置Jenkins伺服器。如果您是初次使用的使用者,可以選擇使用一些常用外掛進行安裝。但是,您也可以建立自己的自定義配置。
使用Jenkins,您可以儘快迭代和部署新程式碼。它還允許您衡量管道每個步驟的成功。我聽說有人抱怨詹金斯的“醜陋”和非直觀的使用者介面,然而,我仍然能找到我想要的一切而沒有任何問題。
竹子
4. Docker

Docker 是2018年的頭號容器平臺。它也被認為是最重要的DevOps工具之一。Docker使集裝箱化在科技界廣受歡迎,主要是因為它使分散式開發成為可能,並使應用程式的部署自動化。它將應用程式隔離到單獨的容器中,因此它們變得便攜且更安全。Docker應用程式也獨立於作業系統和平臺。您可以使用Docker容器而不是VirtualBox等虛擬機器。
我最喜歡Docker的是你不必擔心依賴管理。您可以將所有依賴項打包在應用程式的容器中,並將整個事物作為獨立單元傳送。然後,您可以在任何計算機或平臺上執行該應用程式,而不必擔心。
Docker也與 Jenkins 和 Bamboo 整合。如果將其與其中一個自動化伺服器一起使用,則可以進一步改善交付工作流程。此外,Docker也非常適合雲端計算。近年來,AWS和Google Cloud等所有主要雲提供商都加入了對Docker的支援。因此,如果您計劃進行雲遷移,Docker可以為您簡化流程。
5. Kubernetes

今年,每個人都在談論 Kubernetes 。它是一個容器編排平臺,將集裝箱化提升到了一個新的水平。它適用於Docker或其任何替代品。Kubernetes仍然很新; 它的第一個版本於2015年問世。它由幾位Google工程師建立,他們希望找到一個大規模管理容器的解決方案。使用Kubernetes,您可以將容器分組為邏輯單元。
如果您只有幾個容器,則可能不需要容器編排平臺。但是,當您達到一定程度的複雜性並需要擴充套件資源時,這是下一個合乎邏輯的步驟。Kubernetes允許您自動化管理數百個容器的過程。
使用Kubernetes,您無需將容器化應用程式繫結到一臺計算機上。相反,您可以將其部署到計算機群集。Kubernetes自動化整個叢集中容器的分發和排程。
Kubernetes叢集由一個主節點和幾個工作節點組成。主節點實現預定義的規則,並將容器部署到工作節點。Kubernetes關注一切。例如,它注意到工作節點何時關閉並在必要時重新分配容器。
6. Nagios

Nagios 是最流行的免費和開源DevOps監控工具之一。它允許您監視基礎結構,以便您可以找到並修復問題。使用Nagios,您可以記錄事件,中斷和故障。您還可以藉助Nagios的圖表和報告密切關注趨勢。這樣,您可以預測中斷和錯誤並檢測安全威脅。
儘管有許多用於基礎架構監控的DevOps工具,但Nagios因其豐富的 外掛生態系統 而脫穎而出。由於Nagios已經存在了一段時間(自2002年以來),它周圍有一個龐大的社群。除了外掛,他們還可以免費製作附加元件,教程,翻譯和其他好東西。
Nagios提供四種開源監控解決方案:
- Nagios Core
- Nagios XI
- Nagios Log Server
- Nagios Fusion
Nagios Core是一個命令列工具,具有所有基本功能。您還可以選擇附帶基於Web的GUI和監視嚮導的Nagios XI。Nagios寫了一個方便的 比較他們的能力 。
Nagios Log Server允許您搜尋日誌資料並設定有關潛在威脅的警報。而且,Nagios Fusion允許您同時監控多個網路。
總的來說,Nagios為DevOps團隊提供了基礎架構監控解決方案。但是,設定它並使其與您的環境相容可能需要一段時間。