開源的工具是大家夢寐以求的。這里列舉了多款最棒的開源工具,可以很好的實(shí)行 DevOps
一、開發(fā)工具版本控制&協(xié)作開發(fā)
01版本控制系統(tǒng) Git
Git是一個開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。
02代碼托管平臺 GitLab
GitLab是一個利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個自托管的Git項(xiàng)目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。
03代碼評審工具 Gerrit
Gerrit是一個免費(fèi)、開放源代碼的代碼審查軟件,使用網(wǎng)頁界面。利用網(wǎng)頁瀏覽器,同一個團(tuán)隊(duì)的軟件程序員,可以相互審閱彼此修改后的程序代碼,決定是否能夠提交,退回或者繼續(xù)修改。它使用Git作為底層版本控制系統(tǒng)。
04版本控制系統(tǒng) Mercurial
Mercurial是一種輕量級分布式版本控制系統(tǒng),采用 Python 語言實(shí)現(xiàn),易于學(xué)習(xí)和使用,擴(kuò)展性強(qiáng)。
05版本控制系統(tǒng) Subversion
Subversion 是一個版本控制系統(tǒng),相對于的RCS、CVS,采用了分支管理系統(tǒng),它的設(shè)計目標(biāo)就是取代CVS。互聯(lián)網(wǎng)上免費(fèi)的版本控制服務(wù)多基于Subversion。
二、自動化構(gòu)建和測試
01Apache Ant
Apache Ant是一個將軟件編譯、測試、部署等步驟聯(lián)系在一起加以自動化的一個工具,大多用于Java環(huán)境中的軟件開發(fā)。
02Maven
Maven 除了以程序構(gòu)建能力為特色之外,還提供 Ant 所缺少的高級項(xiàng)目管理工具。由于 Maven 的缺省構(gòu)建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構(gòu)建腳本就可以構(gòu)建簡單的項(xiàng)目,而使用 Ant 則需要十幾行。事實(shí)上,由于 Maven 的面向項(xiàng)目的方法,許多 Apache Jakarta 項(xiàng)目現(xiàn)在使用 Maven,而且公司項(xiàng)目采用 Maven 的比例在持續(xù)增長。
03Selenium (SeleniumHQ)
thoughtworks公司的一個集成測試的強(qiáng)大工具。
04PyUnit
Python單元測試框架(The Python unit testing framework),簡稱為PyUnit, 是Kent Beck和Erich Gamma這兩位聰明的家伙所設(shè)計的 JUnit 的Python版本。
05PHPUnit
PHPUnit 是一個輕量級的PHP測試框架。它是在PHP5下面對JUnit3系列版本的完整移植,是xUnit測試框架家族的一員(它們都基于模式先鋒Kent Beck的設(shè)計)。
三、持續(xù)集成&交付
01Jenkins
Jenkins 的前身是 Hudson,它是一個可擴(kuò)展的持續(xù)集成引擎。
02Capistrano
Capistrano 是一個用來并行的在多臺機(jī)器上執(zhí)行相同命令的工具,使用用來安裝一整批機(jī)器。它最初是被開發(fā)用來發(fā)布 Rails 應(yīng)用的。
03BuildBot
BuildBot 是一個系統(tǒng)的自動化編譯/測試周期最需要的軟件,以驗(yàn)證代碼的變化。通過自動重建和測試每次發(fā)生了變化的東西,在建設(shè)迅速查明之前,減少不必要的失敗。
04Fabric
fabric8 是開源 Java Containers(JVMs) 深度管理集成平臺。有了 fabric8 可以非常方便的從 UI 和 UX 一致的中央位置進(jìn)行自動操作,配置和管理。fabric8 同時提供一些非功能性需求,比如配置管理,服務(wù)發(fā)現(xiàn)故障轉(zhuǎn)移,集中化監(jiān)控,自動化等等。
05Go
Go 是 Google 開發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語言。
四、部署工具
(一)容器平臺
01Docker
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
02Rocket
Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 類似,幫助開發(fā)者打包應(yīng)用和依賴包到可移植容器中,簡化搭環(huán)境等部署工作。
03Ubuntu(LXC)
LXD 是 ubuntu 基于 LXC 技術(shù)的重構(gòu),容器天然支持非特權(quán)和分布式。LXD 與 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 項(xiàng)目由一個 Linux 內(nèi)核補(bǔ)丁和一些 userspace 工具組成。這些 userspace 工具使用由補(bǔ)丁增加的內(nèi)核新特性,提供一套簡化的工具來維護(hù)容器。
(二)配置管理
01Chef
Chef 是一個系統(tǒng)集成框架,為整個架構(gòu)提供配置管理功能。
02Puppet
Puppet,您可以集中管理每一個重要方面,您的系統(tǒng)使用的是跨平臺的規(guī)范語言,管理所有的單獨(dú)的元素通常聚集在不同的文件,如用戶, CRON作業(yè),和主機(jī)一起顯然離散元素,如包裝,服務(wù)和文件。
03CFengine
Cfengine(配置引擎)是一種 Unix 管理工具,其目的是使簡單的管理的任務(wù)自動化,使困難的任務(wù)變得較容易。Cfengine 適用于管理各種環(huán)境,從一臺主機(jī)到上萬臺主機(jī)的機(jī)群均可使用。
04Bash
Bash 是大多數(shù)Linux系統(tǒng)以及Mac OS X v10.4默認(rèn)的shell,它能運(yùn)行于大多數(shù)Unix風(fēng)格的操作系統(tǒng)之上,甚至被移植到了Microsoft Windows上的Cygwin系統(tǒng)中,以實(shí)現(xiàn)windows的POSIX虛擬接口。此外,它也被DJGPP項(xiàng)目移植到了MS-DOS上。
05RunDeck
RunDeck 是用 Java/Grails 寫的開源工具,幫助用戶在數(shù)據(jù)中心或者云環(huán)境中自動化各種操作和流程。通過命令行或者web界面,用戶可以對任意數(shù)量的服務(wù)器進(jìn)行操作,大大降低了對服務(wù)器自動化的門檻。
06Saltstack
Saltstack 可以看做是func的增強(qiáng)版+Puppet的弱化版。使用Python編寫。非常好用,快速可以基于EPEL部署。Salt 是一個開源的工具用來管理你的基礎(chǔ)架構(gòu),可輕松管理成千上萬臺服務(wù)器。
07Ansible
Ansible 提供一種最簡單的方式用于發(fā)布、管理和編排計算機(jī)系統(tǒng)的工具,你可在數(shù)分鐘內(nèi)搞定。Ansible 是一個模型驅(qū)動的配置管理器,支持多節(jié)點(diǎn)發(fā)布、遠(yuǎn)程任務(wù)執(zhí)行。默認(rèn)使用 SSH 進(jìn)行遠(yuǎn)程連接。無需在被管理節(jié)點(diǎn)上安裝附加軟件,可使用各種編程語言進(jìn)行擴(kuò)展。
五、維護(hù)
01Logstash
Logstash 是一個應(yīng)用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應(yīng)用程序日志進(jìn)行收集管理,提供 Web 接口用于查詢和統(tǒng)計。
02CollectD
collectd 是一個守護(hù)(daemon)進(jìn)程,用來收集系統(tǒng)性能和提供各種存儲方式來存儲不同值的機(jī)制。比如以RRD 文件形式。
03StatsD
StatsD 是一個簡單的網(wǎng)絡(luò)守護(hù)進(jìn)程,基于 Node.js 平臺,通過 UDP 或者 TCP 方式偵聽各種統(tǒng)計信息,包括計數(shù)器和定時器,并發(fā)送聚合信息到后端服務(wù),例如 Graphite。
六、監(jiān)控,警告&分析
01Nagios
Nagios 是一個監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時提供異常通知功能等。
02Ganglia
Ganglia 是一個跨平臺可擴(kuò)展的,高性能計算系統(tǒng)下的分布式監(jiān)控系統(tǒng),如集群和網(wǎng)格。它是基于分層設(shè)計,它使用廣泛的技術(shù),如XML數(shù)據(jù)代表,便攜數(shù)據(jù)傳輸,RRDtool用于數(shù)據(jù)存儲和可視化。
03zabbix
zabbix 是一個基于Web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
04Kibana
Kibana 是一個為 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它對日志進(jìn)行高效的搜索、可視化、分析等各種操作。
審核編輯 :李倩
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6543瀏覽量
110472 -
自動化
+關(guān)注
關(guān)注
29文章
5511瀏覽量
79099 -
開源
+關(guān)注
關(guān)注
3文章
3245瀏覽量
42396
原文標(biāo)題:運(yùn)維常見的工具推薦
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論