1. 開發(fā)工具
版本控制&協(xié)作開發(fā)
版本控制系統(tǒng) Git
Git 是一個開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項目版本管理。開源中國 Git 代碼托管平臺:http://git.oschina.net/
代碼托管平臺 GitLab
GitLab 是一個利用 Ruby on Rails 開發(fā)的開源應用程序,實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。開源中國代碼托管平臺 git.oschina.net 就是基于 GitLab 項目搭建。
代碼評審工具 Gerrit
Gerrit 是一個免費、開放源代碼的代碼審查軟件,使用網(wǎng)頁界面。利用網(wǎng)頁瀏覽器,同一個團隊的軟件程序員,可以相互審閱彼此修改后的程序代碼,決定是否能夠提交,退回或者繼續(xù)修改。它使用 Git 作為底層版本控制系統(tǒng)。
版本控制系統(tǒng) Mercurial
Mercurial 是一種輕量級分布式版本控制系統(tǒng),采用 Python 語言實現(xiàn),易于學習和使用,擴展性強。
版本控制系統(tǒng) Subversion
Subversion 是一個版本控制系統(tǒng),相對于的 RCS、CVS,采用了分支管理系統(tǒng),它的設(shè)計目標就是取代CVS?;ヂ?lián)網(wǎng)上免費的版本控制服務(wù)多基于Subversion。
版本控制系統(tǒng) Bazaar
Bazaar 是一個分布式的版本控制系統(tǒng),它發(fā)布在 GPL 許可協(xié)議之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系統(tǒng)。
2. 自動化構(gòu)建和測試
Apache Ant
Apache Ant是一個將軟件編譯、測試、部署等步驟聯(lián)系在一起加以自動化的一個工具,大多用于Java環(huán)境中的軟件開發(fā)。
Maven
Maven 除了以程序構(gòu)建能力為特色之外,還提供 Ant 所缺少的高級項目管理工具。由于 Maven 的缺省構(gòu)建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構(gòu)建腳本就可以構(gòu)建簡單的項目,而使用 Ant 則需要十幾行。
事實上,由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目現(xiàn)在使用 Maven,而且公司項目采用 Maven 的比例在持續(xù)增長。開源中國的 Maven 庫
http://maven.oschina.net
Selenium
Selenium (SeleniumHQ) 是 thoughtworks公司的一個集成測試的強大工具。
PyUnit
Python單元測試框架(The Python unit testing framework),簡稱為PyUnit, 是Kent Beck和Erich Gamma這兩位聰明的家伙所設(shè)計的 JUnit 的Python版本。
QUnit
QUnit 是 jQuery 的單元測試框架。
JMeter
JMeter 是 Apache 組織的開放源代碼項目,它是功能和性能測試的工具,100% 的用 java 實現(xiàn)。
Gradle
Gradle 就是可以使用 Groovy 來書寫構(gòu)建腳本的構(gòu)建系統(tǒng),支持依賴管理和多項目,類似 Maven,但比之簡單輕便。
PHPUnit
PHPUnit 是一個輕量級的PHP測試框架。它是在PHP5下面對JUnit3系列版本的完整移植,是xUnit測試框架家族的一員(它們都基于模式先鋒Kent Beck的設(shè)計)。
3. 持續(xù)集成&交付
Jenkins
Jenkins 的前身是 Hudson 是一個可擴展的持續(xù)集成引擎。
Capistrano
Capistrano 是一個用來并行的在多臺機器上執(zhí)行相同命令的工具,使用用來安裝一整批機器。它最初是被開發(fā)用來發(fā)布 Rails 應用的。
BuildBot
BuildBot 是一個系統(tǒng) 的自動化編譯/測試周期最需要的軟件,以驗證代碼的變化。通過自動重建和測試每次發(fā)生了變化的東西,在建設(shè)迅速查明之前,減少不必要的失敗。
Fabric
fabric8 是開源 Java Containers(JVMs) 深度管理集成平臺。有了 fabric8 可以非常方便的從 UI 和 UX 一致的中央位置進行自動操作,配置和管理。fabric8 同時提供一些非功能性需求,比如配置管理,服務(wù)發(fā)現(xiàn)故障轉(zhuǎn)移,集中化監(jiān)控,自動化等等。
Tinderbox
Travis CI
Travis CI 是一個基于云的持續(xù)集成項目, 目前已經(jīng)支持大部分主流語言了,比如:C,PHP,Ruby,Python, Nodejs等等。
Continuum
Apache Continuum 是最新的 CI 服務(wù)器之一,也是值得關(guān)注的一個新進入者?;?Web 的界面使得配置項目很容易。
而且,還不需要安裝 Web 服務(wù)器,因為 Continuum 內(nèi)置了 Jetty Web 服務(wù)器。并且,Continuum 可以作為 Windows 服務(wù)運行,還在應用程序的某些部分嵌入了上下文敏感的文檔,從而提供了很多幫助。
LuntBuild
LuntBuild 是一個強大自動構(gòu)建的工具。通過一個簡潔的web接口就可以很容易地進行系統(tǒng)的持續(xù)構(gòu)建。
CruiseControl
CruiseControl 是一個針對持續(xù)構(gòu)建程序(項目持續(xù)集成)的框架,它包括一個email通知的插件,Ant和各種各樣的CVS工具。CruiseControl提供了一個Web接口, 可隨時查看當前的編譯狀況和歷史狀況
Integrity
Integrity 是 Ruby 開發(fā)的持續(xù)集成服務(wù)器。
Gump
Gump 是 Apache 的整合工具。它以 Python 寫成、完全支持 Apache Ant、Apache Maven 等等軟件組建工具。
Go
Go 是 Google 開發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語言。
4. 部署工具
4.1 容器平臺
Docker
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
Rocket
Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 類似,幫助開發(fā)者打包應用和依賴包到可移植容器中,簡化搭環(huán)境等部署工作。
Ubuntu(LXC)
LXD 是 ubuntu 基于 LXC 技術(shù)的重構(gòu),容器天然支持非特權(quán)和分布式。LXD 與 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 項目由一個 Linux 內(nèi)核補丁和一些 userspace 工具組成。這些 userspace 工具使用由補丁增加的內(nèi)核新特性,提供一套簡化的工具來維護容器。
4.2 配置管理
Chef
Chef 是一個系統(tǒng)集成框架,為整個架構(gòu)提供配置管理功能。
Puppet
Puppet,您可以集中管理每一個重要方面,您的系統(tǒng)使用的是跨平臺的規(guī)范語言,管理所有的單獨的元素通常聚集在不同的文件,如用戶, CRON作業(yè),和主機一起顯然離散元素,如包裝,服務(wù)和文件。
CFengine
Cfengine(配置引擎)是一種 UNIX 管理工具,其目的是使簡單的管理的任務(wù)自動化,使困難的任務(wù)變得較容易。Cfengine 適用于管理各種環(huán)境,從一臺主機到上萬臺主機的機群均可使用。
Bash
bash 是大多數(shù)Linux系統(tǒng)以及Mac OS X v10.4默認的shell,它能運行于大多數(shù)Unix風格的操作系統(tǒng)之上,甚至被移植到了Microsoft Windows上的Cygwin系統(tǒng)中,以實現(xiàn)windows的POSIX虛擬接口。此外,它也被DJGPP項目移植到了MS-DOS上。
Rudder
Rudder 已改名為Flannel,為每個使用 Kubernetes 的機器提供一個子網(wǎng)。也就是說 Kubernetes 集群中的每個主機都有自己一個完整的子網(wǎng),例如機器 A 和 B 可以有 10.0.1.0/24 和 10.0.2.0/24 子網(wǎng)。
Powershell
RunDeck
RunDeck 是用 Java/Grails 寫的開源工具,幫助用戶在數(shù)據(jù)中心或者云環(huán)境中自動化各種操作和流程。通過命令行或者web界面,用戶可以對任意數(shù)量的服務(wù)器進行操作,大大降低了對服務(wù)器自動化的門檻。
Saltstack
Saltstack 可以看做是func的增強版+Puppet的弱化版。使用Python編寫。非常好用,快速可以基于EPEL部署。Salt 是一個開源的工具用來管理你的基礎(chǔ)架構(gòu),可輕松管理成千上萬臺服務(wù)器。
Ansible
Ansible 提供一種最簡單的方式用于發(fā)布、管理和編排計算機系統(tǒng)的工具,你可在數(shù)分鐘內(nèi)搞定。Ansible 是一個模型驅(qū)動的配置管理器,支持多節(jié)點發(fā)布、遠程任務(wù)執(zhí)行。默認使用 SSH 進行遠程連接。無需在被管理節(jié)點上安裝附加軟件,可使用各種編程語言進行擴展。
4.3 微服務(wù)平臺
OpenShift
OpenShift 是由紅帽推出的一款面向開源開發(fā)人員開放的平臺即服務(wù)(PaaS)。 OpenShift通過為開發(fā)人員提供在語言、框架和云上的更多的選擇,使開發(fā)人員可以構(gòu)建、測試、運行和管理他們的應用。
Cloud Foundry
Cloud Foundry 是VMware于2011年4月12日推出的業(yè)界第一個開源PaaS云平臺,它支持多種框架、語言、運行時環(huán)境、云平臺及應用服務(wù),使開發(fā) 人員能夠在幾秒鐘內(nèi)進行應用程序的部署和擴展,無需擔心任何基礎(chǔ)架構(gòu)的問題。
Kubernetes
Kubernetes 是來自 Google 云平臺的開源容器集群管理系統(tǒng)。基于 Docker 構(gòu)建一個容器的調(diào)度服務(wù)。該系統(tǒng)可以自動在一個容器集群中選擇一個工作容器供使用。其核心概念是 Container Pod。
Mesosphere
Apache Mesos 是一個集群管理器,提供了有效的、跨分布式應用或框架的資源隔離和共享,可以運行Hadoop、MPI、Hypertable、Spark。
4.4 服務(wù)開通
Puppet
Puppet,您可以集中管理每一個重要方面,您的系統(tǒng)使用的是跨平臺的規(guī)范語言,管理所有的單獨的元素通常聚集在不同的文件,如用戶, CRON作業(yè),和主機一起顯然離散元素,如包裝,服務(wù)和文件。
Razor
Docker Swarm
Docker Swarm 是一個Dockerized化的分布式應用程序的本地集群,它是在Machine所提供的功能的基礎(chǔ)上優(yōu)化主機資源的利用率和容錯服務(wù)。具體來 說,Docker Swarm支持用戶創(chuàng)建可運行Docker Daemon的主機資源池,然后在資源池中運行Docker容器。Docker Swarm可以管理工作負載并維護集群狀態(tài)。
Vagrant
Vagrant 是一個基于 Ruby 的工具,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境。它使用 Oracle 的開源 VirtualBox 虛擬化系統(tǒng),使用 Chef 創(chuàng)建自動化虛擬環(huán)境。
Powershell
OpenStack Heat
5. 維護
日志記錄
Logstash
Logstash 是一個應用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應用程序日志進行收集管理,提供 Web 接口用于查詢和統(tǒng)計。
CollectD
Collectd 是一個守護(daemon)進程,用來收集系統(tǒng)性能和提供各種存儲方式來存儲不同值的機制。比如以RRD 文件形式。
StatsD
StatsD 是一個簡單的網(wǎng)絡(luò)守護進程,基于 Node.js 平臺,通過 UDP 或者 TCP 方式偵聽各種統(tǒng)計信息,包括計數(shù)器和定時器,并發(fā)送聚合信息到后端服務(wù),例如 Graphite。
6. 監(jiān)控,警告&分析
Nagios
Nagios 是一個監(jiān)視系統(tǒng)運行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠程主機以及服務(wù),同時提供異常通知功能等。
Ganglia
Ganglia 是一個跨平臺可擴展的,高 性能計算系統(tǒng)下的分布式監(jiān)控系統(tǒng),如集群和網(wǎng)格。它是基于分層設(shè)計,它使用廣泛的技術(shù),如XML數(shù)據(jù)代表,便攜數(shù)據(jù)傳輸,RRDtool用于數(shù)據(jù)存儲和可視化。
Sensu
Sensu 是開源的監(jiān)控框架。主要特性:高度可組合;提供一個監(jiān)控代理,一個事件處理器和文檔 APIs;為云而設(shè)計;Sensu 的現(xiàn)代化架構(gòu)允許監(jiān)控大規(guī)模的動態(tài)基礎(chǔ)設(shè)施,能夠通過復雜的公共網(wǎng)絡(luò)監(jiān)控幾千個全球分布式的機器和服務(wù);熱情的社區(qū)。
Zabbix
Zabbix 是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
ICINGA
ICINGA 項目是 由Michael Luebben、HendrikB?cker和JoergLinge等人發(fā)起的,他們都是現(xiàn)有的Nagios項目社區(qū)委員會的成員,他們承諾,新的開源項 目將完全兼容以前的Nagios應用程序及擴展功能。
Graphite
Graphite 是一個用于采集網(wǎng)站實時信息并進行統(tǒng)計的開源項目,可用于采集多種網(wǎng)站服務(wù)運行狀態(tài)信息。Graphite服務(wù)平均每分鐘有4800次更新操作。
Kibana
Kibana 是一個為 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口??墒褂盟鼘θ罩具M行高效的搜索、可視化、分析等各種操作。
第三十六屆CIO班招生
國際CIO認證培訓
首席數(shù)據(jù)官(CDO)認證培訓
責編:content
免責聲明:本網(wǎng)站(http://www.www.gypb.net/)內(nèi)容主要來自原創(chuàng)、合作媒體供稿和第三方投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
本網(wǎng)站刊載的所有內(nèi)容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權(quán)歸原作者所有。任何單位或個人認為本網(wǎng)站中的內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,請及時通知本站,予以刪除。