面向開發(fā)運維的10款開源工具
譯文【51CTO.com快譯】許多最流行的開發(fā)運維(DevOps)工具采用了開源許可證,包括Chef、Puppet和Docker。
當(dāng)然,面向開發(fā)運維的開源工具名單越來越長。原因何在?因為開發(fā)運維本身就在發(fā)展壯大,而開源是這種開發(fā)方法的一種自然選擇。
開發(fā)運維這個術(shù)語最早在2009年問世,它是指這樣一種IT方法:強(qiáng)調(diào)開發(fā)團(tuán)隊和運維團(tuán)隊之間的協(xié)作。它源自敏捷軟件開發(fā)潮流,將一些同樣的原則運用于應(yīng)用程序生命周期管理(ALM)流程。開發(fā)運維很難定義,因為它與其說是一套死板的規(guī)則或?qū)嵺`,還不如說是一種潮流或理念。采用開發(fā)運維的企業(yè)組織具有這些特點:合作程度高,內(nèi)部“孤島”比較少,自動化使用程度高,持續(xù)測試和集成,以及應(yīng)用程序的開發(fā)和部署比較快。
自開發(fā)運維首次提出來之后,它的人氣就急劇飆升。實際上,RightScale公司所做的一項調(diào)查就發(fā)現(xiàn),74%的組織和81%的企業(yè)表示自己在使用開發(fā)運維。
為了支持開發(fā)運維,企業(yè)組織通常采用許多不同的工具,許多頂級的開發(fā)運維工具采用開源許可證。本文介紹了十款人氣特旺或特別值得關(guān)注的工具。其中許多工具使部署或管理基礎(chǔ)設(shè)施的過程實現(xiàn)自動化,而這項任務(wù)是成功的開發(fā)運維實施項目的一個重要部分。它們都是開源工具,如果貴企業(yè)對開發(fā)運維有興趣,它們值得打量一下。
1. Ansible
Ansible歸紅帽公司所有,它可以使許多常見的IT運維任務(wù)實現(xiàn)自動化,比如云配置、配置管理和應(yīng)用程序部署。它可與其他許多流行的開發(fā)運維工具整合起來,包括Git、JIRA、Jenkins及其他許多工具。軟件下載量已超過500萬人次,它在GitHub上的星數(shù)已超過16000顆。免費開源版在GitHub上可以下載,紅帽提供三個收費版本:自我支持版、標(biāo)準(zhǔn)版和高級版,價格視生產(chǎn)環(huán)境中的節(jié)點數(shù)量和所需的支持級別而定。
相關(guān)鏈接:https://www.ansible.com
2. Chef
Chef是基礎(chǔ)設(shè)施自動化方面的另一個選擇,它讓用戶可以借助單單一個工具,同時管理云環(huán)境和傳統(tǒng)環(huán)境。它承諾可加快采用云的速度,同時保持高可用性。Chef官方網(wǎng)站上有相當(dāng)豐富的說明文檔和技術(shù)資源,包括旨在幫助企業(yè)遷移到開發(fā)運維,并擴(kuò)展實施的開發(fā)運維系統(tǒng)規(guī)模的許多資源。該公司還提供收費版的Chef,名為Chef Automate,此外提供另外兩個開源項目:InSpec,專注于安全和合規(guī);以及Habitat,它讓用戶可以將應(yīng)用程序部署在任何環(huán)境,包括云、裸機(jī)或容器等環(huán)境。
相關(guān)鏈接:https://www.chef.io
3. Docker
Docker立于容器這股新潮流的最前沿。它把應(yīng)用程序運行所需的各個部分包裝起來:代碼、運行時環(huán)境、系統(tǒng)工具和庫等,那樣無論應(yīng)用程序部署在哪里,都將會有一樣的操作方式。容器比虛擬機(jī)來得更輕巧,還具有安全方面的一些好處。Docker開展的一項近期調(diào)查發(fā)現(xiàn),80%的受訪企業(yè)計劃實施基于Docker的開發(fā)運維項目。
除了開源版本外,Docker還有收費的數(shù)據(jù)中心版本和云版本。
相關(guān)鏈接:https://www.docker.com
4. Git
近些年來,Git這款源代碼管理工具變得極受歡迎,尤其是由于網(wǎng)站GitHub因托管開源項目而變得更流行起來。它有別于其他版本控制管理工具的地方在于,可以輕松處理分支和合并。Git也很容易供分布式開發(fā)團(tuán)隊使用,并提供了出色的性能。許多開發(fā)運維團(tuán)隊用它來管理應(yīng)用程序的源代碼。知名用戶包括科技行業(yè)的許多大牌公司,比如谷歌、Facebook、微軟、推特、領(lǐng)英、Netflix、Linux內(nèi)核及其他許多品牌。
相關(guān)鏈接:https://git-scm.com
5. Hudson
持續(xù)集成是開發(fā)運維方法的一個必要組成部分,而Hudson是一款用來監(jiān)控及管理持續(xù)集成和測試的工具。主要功能包括:易于安裝和配置、變更集支持、實時通知測試故障、文件指紋、支持一系列廣泛的源代碼管理系統(tǒng)、構(gòu)建工具、測試框架、代碼分析工具、應(yīng)用程序服務(wù)器及其他開發(fā)運維工具。Hudson由Eclipse基金會管理,還有龐大的插件庫可增強(qiáng)其功能。
相關(guān)鏈接:http://hudson-ci.org
6. Jenkins
作為“領(lǐng)先的開源自動化服務(wù)器軟件”,Jenkins從Hudson分支出來,提供許多同樣的功能。它具有易于安裝和配置的優(yōu)點,有數(shù)百個插件,易于擴(kuò)展,分布式架構(gòu)讓它得以加快測試過程。它有一個非常活躍的用戶社區(qū),經(jīng)常舉辦大量定期活動,提供了進(jìn)一步了解這款軟件的機(jī)會。官方網(wǎng)站上也有大量的說明文檔,包括經(jīng)常更新的博客。
相關(guān)鏈接:https://jenkins.io/index.html
7. OneOps
今年早些時候,OneOps由沃爾瑪實驗室發(fā)布,成為一款開源工具,它是本文介紹的最新的開源開發(fā)運維工具。它結(jié)合了云管理和應(yīng)用程序生命周期管理功能,目的在于幫助開發(fā)運維團(tuán)隊更迅速地編寫和啟動應(yīng)用程序。它還讓用戶很容易在多家云提供商之間轉(zhuǎn)換,有助于防止廠商鎖定,并提供了更大的靈活性。它還提供高可用性、自愈合和自動更換等功能、自動擴(kuò)展機(jī)制,并且與其他許多持續(xù)交付和自動化工具整合起來,另外還支持所有主要的公共云服務(wù)。
相關(guān)鏈接:http://www.oneops.com
8. Puppet
Puppet被30000多家企業(yè)組織所使用,聲稱是“交付和運行軟件的標(biāo)準(zhǔn)方式,不管軟件在哪里運行”。它可以實現(xiàn)部署自動化,以提升敏捷性、可靠性和可審計性。這款軟件的知名用戶包括紐約證券交易所、1-800-Flowers.com、蓋蒂圖片社、Staples及其他許多大企業(yè)。整個Puppet生態(tài)系統(tǒng)包括40多個不同的項目,3100個模塊可通過Puppet Forge來獲得。除了開源版外,它還有企業(yè)版;企業(yè)版又分為免費版、標(biāo)準(zhǔn)版和高級版三個檔次。
相關(guān)鏈接:https://puppet.com
9. Salt
Salt是IT運維自動化方面的另一個選擇,它自稱是“最智能、最強(qiáng)大、最靈活的開源軟件,可用于遠(yuǎn)程執(zhí)行、配置自動化、云控制和事件驅(qū)動型編排。”它首次發(fā)布是在2012年,已被成千上萬家企業(yè)組織所使用,并獲得了無數(shù)獎項,包括VMworld 2014虛擬化管理最佳工具獎、《InfoWorld》2014年年度技術(shù)獎,并且在2013年被評為Gartner熱門廠商。開源版常常被稱為Salt Open,它還有一款收費的企業(yè)版,名為SaltStack Enterprise。
相關(guān)鏈接:https://saltstack.com
10. Vagrant
Vagrant歸開發(fā)運維工具廠商HashiCorp所有,旨在讓用戶易于搭建輕型、便攜、可復(fù)制的開發(fā)環(huán)境。這是一款命令行實用工具,可用于管理虛擬機(jī)。用戶包括:英國廣播公司(BBC)、Expedia、Yammer、Mozilla、諾基亞及其他公司。它與Chef、 Puppet、VMware、亞馬遜網(wǎng)絡(luò)服務(wù)及其他許多開發(fā)運維工具及云服務(wù)整合起來??赏ㄟ^合作伙伴獲得收費的VMware插件,HashiCorp提供了相關(guān)的收費工具,可用于管理開發(fā)運維環(huán)境。
相關(guān)鏈接:https://www.vagrantup.com
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】