歡迎光臨
每天分享高質量文章

50+ 最棒的 DevOps 開源工具

你喜歡免費的東西嗎?獲得開發者社區支持的自動化,開源的工具是大家夢寐以求的。這裡列舉了 50+ 款最棒的開源工具,可以幫助你很好的實行 DevOps。
大圖請點擊http://cdn2.hubspot.net/hubfs/381387/Blog-image-tracking/ElasticBox-DevOps_Open_Source_Tools.png。

開發工具

版本控制&協作開發
1、版本控制系統 Git
Git 是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。
2、代碼托管平臺 GitLab
GitLab 是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自托管的Git專案倉庫,可通過Web界面進行訪問公開的或者私人專案。開源中國代碼托管平臺 git.oschina.net 就是基於 GitLab 專案搭建。
3、代碼評審工具 Gerrit
Gerrit 是一個免費、開放原始碼的代碼審查軟體,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟體程式員,可以相互審閱彼此修改後的程式代碼,決定是否能夠提交,退回或者繼續修改。它使用 Git 作為底層版本控制系統。
4、版本控制系統 Mercurial
Mercurial 是一種輕量級分佈式版本控制系統,採用 Python 語言實現,易於學習和使用,擴展性強。
5、版本控制系統 Subversion
Subversion 是一個版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計標的就是取代CVS。互聯網上免費的版本控制服務多基於Subversion。
6、版本控制系統 Bazaar
Bazaar 是一個分佈式的版本控制系統,它發佈在 GPL 許可協議之下,並可用於 Windows、GNU/Linux、UNIX 以及 Mac OS 系統。
自動化構建和測試
7、Apache Ant
Apache Ant是一個將軟體編譯、測試、部署等步驟聯繫在一起加以自動化的一個工具,大多用於Java環境中的軟體開發。
8、Maven 
Maven 除了以程式構建能力為特色之外,還提供 Ant 所缺少的高級專案管理工具。由於 Maven 的預設構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的專案,而使用 Ant 則需要十幾行。事實上,由於 Maven 的面向專案的方法,許多 Apache Jakarta 專案現在使用 Maven,而且公司專案採用 Maven 的比例在持續增長。開源中國的 Maven 庫 http://maven.oschina.net
9、Selenium
Selenium(SeleniumHQ)是 Thoughtworks 公司的一個集成測試的強大工具。
10、PyUnit
Python單元測試框架(The Python unit testing framework),簡稱為PyUnit, 是Kent Beck和Erich Gamma這兩位聰明的家伙所設計的 JUnit 的Python版本。
11、QUnit
QUnit 是 jQuery 的單元測試框架。
12、JMeter 
JMeter 是 Apache 組織的開放原始碼專案,它是功能和性能測試的工具,100% 的用 Java 實現。
13、Gradle
Gradle 就是可以使用 Groovy 來書寫構建腳本的構建系統,支持依賴管理和多專案,類似 Maven,但比之簡單輕便。
14、PHPUnit
PHPUnit 是一個輕量級的PHP測試框架。它是在PHP5下麵對JUnit3系列版本的完整移植,是xUnit測試框架家族的一員(它們都基於樣式先鋒Kent Beck的設計)。
持續集成&交付
15、Jenkins
Jenkins 的前身是 Hudson 是一個可擴展的持續集成引擎。
16、Capistrano
Capistrano 是一個用來並行的在多台機器上執行相同命令的工具,使用用來安裝一整批機器。它最初是被開發用來發佈 Rails 應用的。
17、BuildBot
BuildBot 是一個系統 的自動化編譯/測試周期最需要的軟體,以驗證代碼的變化。通過自動重建和測試每次發生了變化的東西,在建設迅速查明之前,減少不必要的失敗。
18、Fabric
fabric8 是開源 Java Containers(JVMs)深度管理集成平臺。有了 fabric8 可以非常方便的從 UI 和 UX 一致的中央位置進行自動操作,配置和管理。fabric8 同時提供一些非功能性需求,比如配置管理,服務發現故障轉移,集中化監控,自動化等等。
Tinderbox
19、Travis CI
Travis CI 是一個基於雲的持續集成專案, 目前已經支持大部分主流語言了,比如:C,PHP,Ruby,Python, Nodejs等等。
20、Continuum
Apache Continuum 是最新的 CI 服務器之一,也是值得關註的一個新進入者。基於 Web 的界面使得配置專案很容易。而且,還不需要安裝 Web 服務器,因為 Continuum 內置了 Jetty Web 服務器。並且,Continuum 可以作為 Windows 服務運行,還在應用程式的某些部分嵌入了背景關係敏感的文件,從而提供了很多幫助。
21、LuntBuild
LuntBuild 是一個強大自動構建的工具。通過一個簡潔的web接口就可以很容易地進行系統的持續構建。
22、CruiseControl
CruiseControl 是一個針對持續構建程式(專案持續集成)的框架,它包括一個email通知的插件,Ant和各種各樣的CVS工具。CruiseControl提供了一個Web接口, 可隨時查看當前的編譯狀況和歷史狀況
23、Integrity
Integrity 是 Ruby 開發的持續集成服務器。
24、Gump
Gump 是 Apache 的整合工具。它以 Python 寫成、完全支持 Apache Ant、Apache Maven 等等軟體組建工具。
25、Go
Go 是 Google 開發的一種編譯型,併發型,並具有垃圾回收功能的編程語言。
部署工具

容器平臺
26、Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。
27、Rocket
Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 類似,幫助開發者打包應用和依賴包到可移植容器中,簡化搭環境等部署工作。
28、Ubuntu(LXC)
LXD 是 ubuntu 基於 LXC 技術的重構,容器天然支持非特權和分佈式。LXD 與 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 專案由一個 Linux 內核補丁和一些 userspace 工具組成。這些 userspace 工具使用由補丁增加的內核新特性,提供一套簡化的工具來維護容器。
配置管理
29、Chef
Chef 是一個系統集成框架,為整個架構提供配置管理功能
30、Puppet
Puppet,您可以集中管理每一個重要方面,您的系統使用的是跨平臺的規範語言,管理所有的單獨的元素通常聚集在不同的檔案,如用戶, CRON作業,和主機一起顯然離散元素,如包裝,服務和檔案。
31、CFEngine
CFEngine(配置引擎)是一種 UNIX 管理工具,其目的是使簡單的管理的任務自動化,使困難的任務變得較容易。CFEngine 適用於管理各種環境,從一臺主機到上萬台主機的機群均可使用。
32、Bash
Bash 是大多數 Linux 系統以及 Mac OS X v10.4 預設的 shell,它能運行於大多數 Unix 風格的操作系統之上,甚至被移植到了 Microsoft Windows 上的 Cygwin 系統中,以實現 windows 的 POSIX 虛擬接口。此外,它也被 DJGPP 專案移植到了 MS-DOS 上。
33、Rudder
Rudder 已改名為Flannel,為每個使用 Kubernetes 的機器提供一個子網。也就是說 Kubernetes 集群中的每個主機都有自己一個完整的子網,例如機器 A 和 B 可以有 10.0.1.0/24 和 10.0.2.0/24 子網。
Powershell
34、RunDeck
RunDeck 是用 Java/Grails 寫的開源工具,幫助用戶在資料中心或者雲環境中自動化各種操作和流程。通過命令列或者web界面,用戶可以對任意數量的服務器進行操作,大大降低了對服務器自動化的門檻。
35、Saltstack
Saltstack 可以看做是func的增強版+Puppet的弱化版。使用Python編寫。非常好用,快速可以基於EPEL部署。Salt 是一個開源的工具用來管理你的基礎架構,可輕鬆管理成千上萬台服務器。
36、Ansible
Ansible 提供一種最簡單的方式用於發佈、管理和編排計算機系統的工具,你可在數分鐘內搞定。Ansible 是一個模型驅動的配置管理器,支持多節點發佈、遠程任務執行。預設使用 SSH 進行遠程連接。無需在被管理節點上安裝附加軟體,可使用各種編程語言進行擴展。
微服務平臺
37、OpenShift
OpenShift 是由紅帽推出的一款面向開源開發人員開放的平臺即服務 (PaaS)。 OpenShift通過為開發人員提供在語言、框架和雲上的更多的選擇,使開發人員可以構建、測試、運行和管理他們的應用。
38、Cloud Foundry
Cloud Foundry 是VMware於2011年4月12日推出的業界第一個開源PaaS雲平臺,它支持多種框架、語言、運行時環境、雲平臺及應用服務,使開發 人員能夠在幾秒鐘內進行應用程式的部署和擴展,無需擔心任何基礎架構的問題。
39、Kubernetes
Kubernetes 是來自 Google 雲平臺的開源容器集群管理系統。基於 Docker 構建一個容器的調度服務。該系統可以自動在一個容器集群中選擇一個工作容器供使用。其核心概念是 Container Pod。
40、Mesosphere
Apache Mesos 是一個集群管理器,提供了有效的、跨分佈式應用或框架的資源隔離和共享,可以運行Hadoop、MPI、Hypertable、Spark。
服務開通
41、Puppet
Puppet,您可以集中管理每一個重要方面,您的系統使用的是跨平臺的規範語言,管理所有的單獨的元素通常聚集在不同的檔案,如用戶, CRON作業,和主機一起顯然離散元素,如包裝,服務和檔案。
Razor
42、Docker Swarm
Docker Swarm 是一個Dockerized化的分佈式應用程式的本地集群,它是在Machine所提供的功能的基礎上優化主機資源的利用率和容錯服務。具體來 說,Docker Swarm支持用戶創建可運行Docker Daemon的主機資源池,然後在資源池中運行Docker容器。Docker Swarm可以管理工作負載並維護集群狀態。
43、Vagrant
Vagrant 是一個基於 Ruby 的工具,用於創建和部署虛擬化開發環境。它使用 Oracle 的開源 VirtualBox 虛擬化系統,使用 Chef 創建自動化虛擬環境。
44、Powershell
45、OpenStack Heat
維護

日誌記錄
46、Logstash
Logstash 是一個應用程式日誌、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統一對應用程式日誌進行收集管理,提供 Web 接口用於查詢和統計。
47、CollectD
collectd 是一個守護(daemon)行程,用來收集系統性能和提供各種儲存方式來儲存不同值的機制。比如以RRD 檔案形式。
48、StatsD
StatsD 是一個簡單的網絡守護行程,基於 Node.js 平臺,通過 UDP 或者 TCP 方式偵聽各種統計信息,包括計數器和定時器,併發送聚合信息到後端服務,例如 Graphite
監控、警告&分析
49、Nagios
Nagios 是一個監視系統運行狀態和網絡信息的監視系統。Nagios能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等。
50、Ganglia
Ganglia 是一個跨平臺可擴展的,高 性能計算系統下的分佈式監控系統,如集群和網格。它是基於分層設計,它使用廣泛的技術,如XML資料代表,便攜資料傳輸,RRDtool用於資料儲存和可視化。
51、Sensu
Sensu 是開源的監控框架。主要特性:高度可組合;提供一個監控代理,一個事件處理器和文件 APIs;為雲而設計;Sensu 的現代化架構允許監控大規模的動態基礎設施,能夠通過複雜的公共網絡監控幾千個全球分佈式的機器和服務;熱情的社區。
51、Zabbix
Zabbix 是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
52、ICINGA
ICINGA 專案是由Michael Luebben、Hendrik Backer和JoergLinge等人發起的,他們都是現有的Nagios專案社區委員會的成員,他們承諾,新的開源項 目將完全兼容以前的Nagios應用程式及擴展功能。
53、Graphite
Graphite 是一個用於採集網站實時信息併進行統計的開源專案,可用於採集多種網站服務運行狀態信息。Graphite服務平均每分鐘有4800次更新操作。
54、Kibana
Kibana 是一個為 Logstash 和 ElasticSearch 提供的日誌分析的 Web 接口。可使用它對日誌進行高效的搜索、可視化、分析等各種操作。
原文鏈接:https://www.oschina.net/question/2012764_246208

Kubernetes應用實戰培訓

Kubernetes應用實戰培訓將於2018年11月9日在北京開課,3天時間帶你系統學習Kubernetes本次培訓包括:容器特性、鏡像、網絡;Docker特性、架構、組件、概念、Runtime;Docker安全;Docker實踐;Kubernetes架構、核心組件、基本功能;Kubernetes設計理念、架構設計、基本功能、常用物件、設計原則;Kubernetes的實踐、運行時、網絡、插件已經落地經驗;微服務架構、DevOps等,點擊下方圖片查看詳情。

赞(0)

分享創造快樂