2021年值得推薦的25個(gè)優(yōu)秀DevOps工具
譯文【51CTO.com快譯】DevOps正在改變?nèi)蜍浖_發(fā)行業(yè)的現(xiàn)狀。本文詳細(xì)介紹了當(dāng)前可用的25個(gè)優(yōu)秀DevOps工具。
在調(diào)研機(jī)構(gòu)哈佛商業(yè)評論分析服務(wù)公司對軟件開發(fā)行業(yè)進(jìn)行的一項(xiàng)調(diào)查中,超過80%的受訪者表示,DevOps正在以某種形式有效地為他們的工作增加價(jià)值;而48%的受訪者表示他們的公司依賴DevOps來提高效率。
調(diào)查表明,DevOps正在提高全球軟件開發(fā)公司的上市速度、可銷售性、創(chuàng)新和產(chǎn)品質(zhì)量。 而2021年將是DevOps發(fā)展的重要一年。由于DevOps涵蓋了開發(fā)、運(yùn)營、IT、安全和產(chǎn)品團(tuán)隊(duì),以及軟件開發(fā)的不同階段,因此有很多工具可供選擇。
以下將詳細(xì)介紹目前市場上可用的一些優(yōu)秀DevOps工具,同時(shí)指出了持續(xù)集成(CI)/持續(xù)交付(CD)生命周期的重要類別。
一、配置管理類別
1.Puppet
Puppet是一種開源軟件配置管理和部署工具,通常用于確保將所有服務(wù)器都配置為所需的狀態(tài)。Puppet是基于代理的,通常用于Linux和Windows并同時(shí)控制多個(gè)應(yīng)用程序服務(wù)器。Puppet主要用于客戶端/服務(wù)器配置,其中其管理的節(jié)點(diǎn)與服務(wù)器的配置保持同步。用戶采用Puppet的代碼管理工具R10K,可以更輕松地對持續(xù)集成(CI)/持續(xù)交付(CD)代碼實(shí)施自動(dòng)化或人工更改、更新、審查和測試。用戶還可以使用R10K和Puppetfiles來創(chuàng)建環(huán)境的自動(dòng)部署。這些基于代理的部署通常準(zhǔn)確及時(shí),并生成錯(cuò)誤日志以供審查。
Puppet還提供了與Git的輕松集成以進(jìn)行版本控制。
Puppet是聲明性的,通常適合基線而不是編排。
Puppet具有以下一些缺點(diǎn):
- 整體運(yùn)行緩慢。
- Puppet無法在不編寫自定義代碼的情況下檢查exec資源之外的系統(tǒng)狀態(tài)。
- Hiera是Puppet的鍵值配置數(shù)據(jù)查找系統(tǒng),速度慢且難以排除故障。
2.Ansible
Ansible是一種開源配置管理和編排工具,以其簡單性和性能而聞名。Ansible在主機(jī)上運(yùn)行,并使用SSH連接到節(jié)點(diǎn)。Ansible可以在任何安裝了Python 2(版本2.7)或Python 3(版本3.5及更高版本)的機(jī)器上運(yùn)行,其中包括RedHat、Debian、CentOS、macOS和BSD。
采用Ansible讓使用YAML(另一種標(biāo)記語言)管理配置變得非常容易。使用Ansible自動(dòng)化跨平臺任務(wù)也很有效。還可以使用Ansible拉取模式從特定文件中獲取存儲庫和運(yùn)行命令。用戶將shell腳本和配置文件轉(zhuǎn)換為Ansible Playbooks也很容易,并且有很多相關(guān)文檔可用。
Ansible具有以下一些缺點(diǎn):
- 隨著系統(tǒng)規(guī)模擴(kuò)大而擴(kuò)展緩慢。
- 缺乏Windows支持。
- 需要跨數(shù)百臺服務(wù)器進(jìn)行數(shù)百次大規(guī)模同步時(shí)效率低下。
3.Chef
Chef是一種開源DevOps工具,主要用于配置管理。Chef也基于主代理模型,因?yàn)镃hef客戶端在每臺客戶端機(jī)器上運(yùn)行(使用工具并通過SSH進(jìn)行通信)。但是,Chef與Puppet的不同之處在于它的額外層,其名稱為工作站(Workstation),其中包含所有配置。這些配置首先在本地機(jī)器上自動(dòng)測試,然后推送到服務(wù)器上。
當(dāng)存在主機(jī)依賴時(shí),Chef非常出色。它對系統(tǒng)的狀態(tài)(軟件包、現(xiàn)有用戶、目錄等)進(jìn)行描述,并將其與代理的實(shí)時(shí)實(shí)例進(jìn)行比較,確保對象保持同步。
Chef使用AWS OpsWorks等服務(wù)維護(hù)更大網(wǎng)絡(luò)的自動(dòng)化功能在業(yè)界廣為人知。Chef Inspec還有助于確保用戶的網(wǎng)絡(luò)和部署的安全性和完整性。Chef InSpec是一個(gè)開源框架,允許對其應(yīng)用程序進(jìn)行自動(dòng)和人工測試和審計(jì)。
盡管Chef具有強(qiáng)大的GUI,但必須了解Ruby才能利用Chef的基礎(chǔ)設(shè)施即代碼模型的真正力量,尤其是在涉及復(fù)雜任務(wù)和自定義時(shí)。用戶可以通過在Chef中編寫腳本來實(shí)現(xiàn)大量自定義,但在許多情況下這樣做并不是最佳選擇。
Chef具有以下一些缺點(diǎn):
- 代理實(shí)例需要定期監(jiān)聽主要節(jié)點(diǎn)來安裝更新。
- 初學(xué)者難以理解。
- 缺乏詳細(xì)的文檔。
- 缺乏按需可擴(kuò)展性。
二、建造類別
4.Jenkins
Jenkins是一種用Java編寫的開源自動(dòng)化服務(wù),它可以充當(dāng)持續(xù)集成(CI)工具,使開發(fā)人員可以更輕松地將新組件集成到軟件中以實(shí)現(xiàn)無縫集成。Jenkins使用插件進(jìn)行集成來實(shí)現(xiàn)這一目標(biāo)。
Jenkins偵聽新的拉取請求,將新的工作分支合并到主代碼中,運(yùn)行自動(dòng)化測試套件,生成新的測試數(shù)據(jù),并報(bào)告失敗的情況,以及將最新的代碼更改部署到質(zhì)量保證(QA)環(huán)境以進(jìn)行人工測試。
Jenkins管道用于實(shí)現(xiàn)持續(xù)集成過程的自動(dòng)化表達(dá)。用戶可以在管道中定義構(gòu)建文件,將它們加載到SCM并配置作業(yè)變量。
Jenkins已經(jīng)存在了很長時(shí)間,并且由于其成熟的生態(tài)系統(tǒng)、插件支持、文檔和社區(qū),實(shí)際上已經(jīng)成為一個(gè)標(biāo)準(zhǔn)。Jenkins在過去幾年中提供了幾次更新。它已成為許多公司的首選之一,因?yàn)樗鼮楣艿篮虳ocker集成提供了簡單的用戶體驗(yàn)(UX)/語法。
Jenkins具有以下一些缺點(diǎn):
- 要使用Jenkins,需要學(xué)習(xí)Groovy,并且缺乏一致性。Jenkins中的Groovy腳本不容易編寫和編輯,尤其是在需要進(jìn)行大量更改時(shí)。
- 在許多情況下,用戶還需要人工配置用戶界面中的構(gòu)建、硬編碼配置文件和寬松的訪問控制。
- 如果沒有JenkinsFile,Jenkins極難使用,JenkinsFile是一個(gè)文本文件,其中包含Jenkins管道的定義并被簽入源代碼管理。
5.TeamCity
TeamCity是一種高級持續(xù)集成(CI)工具,以其易于使用的界面、流暢的配置和創(chuàng)造性的功能而聞名。TeamCity在Java環(huán)境和Apache Tomcat服務(wù)器中運(yùn)行,但也可以安裝在Windows和Linux服務(wù)器上。
那么應(yīng)該選擇TeamCity嗎?這在很大程度上取決于用戶的需求。如果有預(yù)算,并且主要任務(wù)包括設(shè)置固定數(shù)量的構(gòu)建代理,以便輕松地使用存儲庫快照和工件依賴項(xiàng)執(zhí)行并行構(gòu)建鏈,那么可以采用TeamCity。TeamCity也有一個(gè)非??煽康奈臋n。TeamCity的“快照依賴項(xiàng)”功能允許用戶在整個(gè)管道中保持相同的源版本,而無需低級代碼實(shí)現(xiàn)。
但是,TeamCity會自動(dòng)為用戶修復(fù)snowflake,必須為此使用配置工具或容器技術(shù)。 TeamCity基于模板的構(gòu)建配置可以讓用戶的工作更輕松。
TeamCity還原生支持AWS、GCE和Azure中的代理自動(dòng)擴(kuò)展。它還通過插件支持VMware和Kubernetes,并與GitHub本地集成。
TeamCity具有以下一些缺點(diǎn):
- 價(jià)格昂貴。
- 調(diào)試日志和錯(cuò)誤日志難以解析和理解。
6.Bamboo
Bamboo是由Atlassian公司開發(fā)的持續(xù)集成和持續(xù)部署服務(wù)器。Bamboo的主要優(yōu)勢之一是它能夠在單個(gè)工作流中自動(dòng)化構(gòu)建、測試和發(fā)布與其他Atlassian產(chǎn)品(例如JIRA、BitBucket、Stash、Hipchat和Confluence)集成,從而創(chuàng)建一個(gè)穩(wěn)固的軟件開發(fā)和交付生態(tài)系統(tǒng)。
Bamboo還具有可靠、易于使用的圖形用戶界面(GUI)。 與BitBucket、Confluence和Jira的輕松集成是Bamboo的一大優(yōu)勢。它還可以啟動(dòng)類似cron的觸發(fā)器,如果用戶擁有審查分析、自動(dòng)測試以及在員工不在辦公室時(shí)運(yùn)行的自動(dòng)例程,這些觸發(fā)器會派上用場。
但是Bamboo并不完美。以下是它具有的一些缺點(diǎn):
- Bamboo的代碼分析能力不強(qiáng)。
- Bamboo無法集中構(gòu)建配置。
- 沒有全局工具配置(用戶必須在代理上人工安裝工具)。
- Bamboo缺少憑據(jù)插件和支持,這意味著必須在每個(gè)相關(guān)Bamboo項(xiàng)目上推出密碼更改。
三、源代碼管理類別
7.GitHub
GitHub是全球數(shù)百萬人使用的流行的源代碼管理工具之一。GitHub的主要優(yōu)勢包括易于使用的用戶界面(UI)、智能功能(如恢復(fù)意外刪除的數(shù)據(jù))、防止產(chǎn)品刪除、多種集成和安全性。GitHub幾乎沒有中斷或停機(jī),這使得它非常可靠。
GitHub擁有龐大的社區(qū),非常適合開源項(xiàng)目。由于微軟公司擁有GitHub,因此Azure DevOps和Microsoft工具具有可靠的集成。GitHub使用戶可以更好地控制持續(xù)集成(CI)/持續(xù)交付(CD)過程。
但是,GitHub僅為每個(gè)存儲庫最多3個(gè)協(xié)作者提供免費(fèi)的私有存儲庫。
8.BitBucket
BitBucket是一種軟件版本控制存儲庫服務(wù),通常用于源代碼和開發(fā)項(xiàng)目。該服務(wù)基于Mercurial或Git版本控制系統(tǒng)。如果使用其他Atlassian產(chǎn)品,BitBucket會很有用。在管理大量回購方面,BitBucket也以其效率而聞名。免費(fèi)的公共BitBucket存儲庫可以支持無限數(shù)量的用戶。
BitBucket還以其與JIRA和Confluence的無縫集成而聞名。BitBucket是涉及私人回購項(xiàng)目的首選。
BitBucket還為完整的持續(xù)集成(CI)/持續(xù)交付(CD)周期提供管道服務(wù)。
BitBucket具有以下一些缺點(diǎn):
- BitBucket不提供正常運(yùn)行時(shí)間服務(wù)等級協(xié)議(SLA)。
- 用戶界面有時(shí)可能令人困惑
9.GitLab
GitLab基于Git,為軟件開發(fā)提供版本控制、持續(xù)交付(CD)服務(wù)、部署和管道功能。由于其強(qiáng)大的持續(xù)交付(CD)服務(wù),大多數(shù)用戶更喜歡使用GitLab進(jìn)行源代碼管理。如果希望在自己的服務(wù)器上集成持續(xù)集成(CI)/持續(xù)交付(CD),GitLab是一種可行的方法,因?yàn)橛脩魧?shí)際上可以在其服務(wù)器上托管GitLab。GitLab是免費(fèi)和開源的,并提供無限數(shù)量的免費(fèi)私人存儲庫。
GitLab還允許用戶安裝私有實(shí)例,還提供容器注冊服務(wù)。
四、部署類別
10.Spinnaker
Spinnaker是一個(gè)開源持續(xù)交付(CD)軟件平臺,可與Kubernetes、Google Cloud Platform、AWS、Microsoft Azure和Oracle Cloud配合使用。它主要是一個(gè)部署和交付平臺,用于獲取用戶的工件并將其部署到生產(chǎn)中。
Spinnaker的儀表板和界面都非常易于使用。開發(fā)人員可以輕松地將他們的代碼推送到發(fā)布分支,該工具將自動(dòng)構(gòu)建、測試、驗(yàn)證并將代碼推送到生產(chǎn)環(huán)境。借助Spinnaker,用戶可以使用無縫的Kubernetes、GitHub和Google的云平臺構(gòu)建集成來輕松提交和部署對軟件的更改。
Spinnaker可以本地構(gòu)建EC2AMI、配置ASG和設(shè)置負(fù)載均衡器。
Spinnaker具有以下一些缺點(diǎn):
- 缺乏有效的可擴(kuò)展性。
- 文檔稀缺。
- 任務(wù)實(shí)現(xiàn)自動(dòng)化比較困難。
11.Octopus Deploy
Octopus Deploy是一種用于自動(dòng)化部署的持續(xù)交付(CD)工具。它可以在代理或“觸手”上自動(dòng)部署應(yīng)用程序和服務(wù)。Octopus Deploy適用于ASP.NET Web應(yīng)用程序、Java應(yīng)用程序、NodeJS應(yīng)用程序,并將自定義腳本運(yùn)行到多種環(huán)境,包括AWS和Azure。大多數(shù)情況下,它與AzureDevOps一起使用,并受到了采用Microsoft生態(tài)系統(tǒng)的公司的青睞。
Octopus Deploy可以集成管道的持續(xù)交付(CD)基礎(chǔ)設(shè)施。用戶可以向Octopus發(fā)起API調(diào)用,以通過持續(xù)交付(CD)管道創(chuàng)建新版本并推送二進(jìn)制文件。
Octopus Deploy具有以下一些缺點(diǎn):
- 價(jià)格昂貴。
- 不能在項(xiàng)目之間導(dǎo)出變量。
12.Argo CD
Argo CD是一個(gè)聲明式GitOps持續(xù)部署工具,主要用于在Kubernetes集群內(nèi)部署應(yīng)用程序。
Argo CD強(qiáng)制同步Kubernetes清單,這些清單在Git存儲庫中描述應(yīng)用程序。Argo CD可以自動(dòng)應(yīng)用更新或更改的清單以提交對集群的更改。Argo CD服務(wù)器可以跟蹤用戶的主要項(xiàng)目的部署分支。Argo CD還可以自動(dòng)檢測何時(shí)將構(gòu)建分支合并到部署分支中。Argo CD通過首先部署新版本的清單來防止停機(jī)。
Argo CD具有以下一些缺點(diǎn):
- Argo CD不支持持續(xù)交付(集成),這意味著如果用戶想要一個(gè)完整的持續(xù)集成(CI)/持續(xù)交付(CD)管道,將需要采用其他工具,如Jenkins、Travis、Circle CI或Gitlab CI。
- 不支持回滾。
五、威脅和漏洞管理類別
13. TwistLock(Palo Alto Networks)
TwistLock為基于容器的應(yīng)用程序提供威脅和漏洞。該服務(wù)以其與Kubernetes和Docker容器的集成而聞名。TwistLock現(xiàn)在歸Palo Alto Networks所有,通過其運(yùn)行時(shí)應(yīng)用安全保護(hù)和容器自動(dòng)掃描提供運(yùn)行時(shí)安全檢查。
TwistLock有一個(gè)強(qiáng)大的文檔。易于部署并強(qiáng)制優(yōu)化資源消耗。它還以其持續(xù)集成(CI)/持續(xù)交付(CD)管道集成、對容器安全協(xié)議的強(qiáng)合規(guī)性和圖像掃描而聞名。
TwistLock還以其精細(xì)級別的安全分析而聞名。該服務(wù)還使用人工智能功能來了解用戶的運(yùn)營環(huán)境,盡管一些用戶發(fā)現(xiàn)自動(dòng)觸發(fā)的cron作業(yè)非常令人困惑。 他們還提供基于SaaS的安全掃描和本地解決方案。
14.Sysdig
Sysdig是一種用于云計(jì)算基礎(chǔ)設(shè)施、服務(wù)和應(yīng)用程序的監(jiān)控工具。Sysdig通常用于PaaS基礎(chǔ)設(shè)施上的容器安全和監(jiān)控以及編排監(jiān)控。
Sysdig還可用于監(jiān)控OpenShift集群,因?yàn)樗峁┘?xì)粒度數(shù)據(jù)來分析指標(biāo)。 使Sysdig脫穎而出的是其容器監(jiān)控與編排層的強(qiáng)大集成。
如果用戶想深入了解進(jìn)程級流量,Sysdig也很有用。Sysdig Opensource允許用戶在內(nèi)核系統(tǒng)調(diào)用級別捕獲主機(jī)的詳細(xì)信息。捕獲過程也可以實(shí)現(xiàn)自動(dòng)化,通過守護(hù)程序或直接代理過程部署為Docker容器。
其他一些功能包括:
- 網(wǎng)絡(luò)圖。
- 監(jiān)控自托管安裝
- 監(jiān)控基于AWS的系統(tǒng)
- 輕松集成
- 出色的客戶支持
15.Anchore
Anchore是一個(gè)完整的容器安全工作流解決方案,可與各種開發(fā)工具和平臺無縫集成。Anchore為一系列不同的應(yīng)用程序提供量身定制的容器檢查和合規(guī)性解決方案,使團(tuán)隊(duì)能夠遵守行業(yè)安全標(biāo)準(zhǔn)。
安全團(tuán)隊(duì)可以審計(jì)和驗(yàn)證整個(gè)組織的合規(guī)性。
其功能包括:
- 支持網(wǎng)絡(luò),包括云托管或本地Kubernetes環(huán)境和持續(xù)集成(CI)/持續(xù)交付(CD)平臺
- 基于策略的安全性和合規(guī)性
- 檢查:
- 漏洞掃描
- 秘密和密碼
- 操作系統(tǒng)包
- 第三方庫
- Dockerfile檢查等
六、質(zhì)量/測試類別
16.JMeter
JMeter是一種用于測試Web應(yīng)用程序的負(fù)載測試工具。即使JMeter用于負(fù)載/性能測試,它仍然可以用于啟動(dòng)API調(diào)用、狀態(tài)代碼和響應(yīng)。JMeter還支持很多插件。
用戶還可以使用JMeter的并發(fā)池大小功能在測試期間為每個(gè)線程啟動(dòng)多個(gè)連接。JMeter是獨(dú)立于平臺的,可以在不同環(huán)境下流暢運(yùn)行。
用戶還可以通過多種方式查看測試結(jié)果,包括圖形、圖表、樹視圖、XML和JSON。
17.JUnit
JUnit是一種單元測試框架,主要用于Java應(yīng)用程序。JUnit框架屬于Java框架的xUnit家族。
JUnit使用注解來幫助用戶確定應(yīng)該在測試中使用的方法。其測試運(yùn)行器功能也因其自定義功能而在開發(fā)者社區(qū)中享有盛譽(yù)。用戶還可以在JUnit中使用斷言來測試預(yù)期結(jié)果。
在JUnit中,用戶可以在多個(gè)參數(shù)之間使用不同的組合。使用JUnit為整個(gè)應(yīng)用程序創(chuàng)建和管理豐富的單元測試用例套件變得非常容易。JUnit還可以在模塊或系統(tǒng)級測試之前自動(dòng)測試應(yīng)用程序的所有功能和單元。
18.Selenium
Selenium是一個(gè)端到端的測試軟件測試平臺,以其用戶友好的用戶界面而聞名,它允許測試人員模擬Web系統(tǒng)行為、發(fā)送API請求并分析系統(tǒng)行為。
Selenium允許用戶用RUBY或HTML編寫復(fù)雜和高級的測試腳本,以解決多個(gè)級別的復(fù)雜性。
Selenium為Web應(yīng)用程序開發(fā)人員提供了一個(gè)完整的IDE,用于編輯、記錄和調(diào)試測試。用戶可以為多個(gè)測試用例設(shè)置自定義的起點(diǎn)和斷點(diǎn)。
Selenium的其他一些主要特性包括:
- 與多個(gè)開發(fā)平臺集成,如Jenkins、Maven、TestNG、QMetry、SauceLabs。
- 使用SeleniumGrid進(jìn)行并行測試。
- 兼容所有主流語言,包括Java、Ruby、C#、PHP、JavaScript、Perl和R。
19.SonarQube
SonarQube是一種開源工具,用于代碼質(zhì)量、持續(xù)檢查、安全和錯(cuò)誤分析。它適用于Java、Python、XML和PHP以及許多開箱即用的語言。該工具可以通過XPath表達(dá)式動(dòng)態(tài)添加規(guī)則,用戶還可以自定義該工具以強(qiáng)制執(zhí)行某些應(yīng)該忽略異常的情況。
SonarQube主要用于靜態(tài)分析。它與Git Lab有很好的集成。SonarQube的儀表板和高級跟蹤使用戶可以對代碼質(zhì)量和檢查進(jìn)行大量控制。
SonarQube具有以下一些缺點(diǎn):
- JavaScript在SonarQub中的運(yùn)行不是很順暢。
- 有時(shí)運(yùn)行緩慢。
- 對第三方工具和插件的支持有限。
七、記錄和監(jiān)控類別
20.Grafana
Grafana是一種基于Apache2.0許可證構(gòu)建的開源分析和監(jiān)控解決方案,以其出色的用戶界面(UI)、圖形、圖表、實(shí)時(shí)分析和觸發(fā)器而聞名。Grafana可以從多個(gè)來源提取數(shù)據(jù),包括Graphite、InfluxDB、OpenTSDB和Prometheus。
Grafana主要用于監(jiān)控Docker容器、網(wǎng)絡(luò)設(shè)備、帶寬、數(shù)據(jù)流、虛擬服務(wù)器、Azure基礎(chǔ)設(shè)施、數(shù)據(jù)庫和Web應(yīng)用程序。Grifana還以其插件以及與Telegraf和Zabbix的無縫集成而聞名。
Grafana可以為用戶可視化粒度數(shù)據(jù),包括中斷的確切時(shí)間、中斷前的事件、用戶日志、數(shù)據(jù)中心溫度和性能預(yù)測等指標(biāo)。
21.NewRelic
NewRelic是一種全棧監(jiān)控工具,用于跟蹤基于云計(jì)算的應(yīng)用程序和軟件。NewRelic提供豐富的儀表板、分布式跟蹤支持、詳細(xì)日志、自上而下的可見性和監(jiān)控。NewRelic對后端調(diào)用具有強(qiáng)大的監(jiān)控能力,可以詳細(xì)說明系統(tǒng)速度變慢的原因。
該工具對于需要詳細(xì)分析多個(gè)堆棧配置文件的企業(yè)非常有用。
NewRelic價(jià)格昂貴,但其開發(fā)公司最近制定了基于消費(fèi)的定價(jià)模型。
NewRelic具有以下一些缺點(diǎn):
- 客戶支持薄弱。
- 即使在基于消費(fèi)的定價(jià)模型之后也很昂貴。
- 調(diào)試復(fù)雜且困難。
22.Nagios
Nagios是一種開源軟件,可以監(jiān)控系統(tǒng)、網(wǎng)絡(luò)和基礎(chǔ)設(shè)施。它主動(dòng)監(jiān)控服務(wù)的健康狀況并維護(hù)日志存儲文件。它還顯示停機(jī)原因、停機(jī)持續(xù)時(shí)間以及可能觸發(fā)停機(jī)的事件。
Nagios還提供了幾個(gè)配置選項(xiàng)和警報(bào)功能。用戶可以抑制主機(jī)的警報(bào)、在主機(jī)上強(qiáng)制實(shí)施維護(hù)模式、自定義警報(bào)的通知設(shè)置等等。
Nagios支持?jǐn)?shù)百個(gè)插件。用戶還可以創(chuàng)建自己的自定義并開發(fā)自己的插件支持。
但是,由于Nagios相對較舊,因此很難使用最新的基礎(chǔ)設(shè)施進(jìn)行操作。它缺乏數(shù)據(jù)庫驅(qū)動(dòng)的配置并強(qiáng)制用戶使用配置文件。
八、ITSM和協(xié)作類別
23.JIRA
JIRA是全球軟件公司使用的一種項(xiàng)目管理和協(xié)作工具。 JIRA是一種非常強(qiáng)大的工具,提供各種自定義和功能。
為了充分利用JIRA的優(yōu)勢和強(qiáng)大功能,用戶需要行業(yè)專家的幫助,因?yàn)槿绻脩舻男枨蠛軓?fù)雜,則該工具很難配置??梢允褂肑IRA的Portfolio功能創(chuàng)建時(shí)間表、發(fā)布計(jì)劃和預(yù)測。用戶可以使用JIRA的結(jié)構(gòu)來跟蹤粒度級別的進(jìn)度。
其他一些功能包括:
- Zephyr for JIRA是一個(gè)本地測試應(yīng)用程序,可用于整個(gè)軟件測試生命周期。
- 關(guān)鍵路徑工具。
- 計(jì)算團(tuán)隊(duì)速度的原生工具。
- 與BitBucket和Bamboo等Atlassian產(chǎn)品的集成。
JIRA具有以下一些缺點(diǎn):
- 乏味且有時(shí)令人困惑的用戶界面 。
- Bucket/容器在JIRA中被稱為“項(xiàng)目”,這很容易混淆。
24.Slack
Slack是一種協(xié)作和通信工具,并且廣受歡迎。Slack以其實(shí)時(shí)對話、搜索功能和友好的用戶界面而聞名。
由于其強(qiáng)大的用戶界面、有趣的功能和敏捷性,Slack正在迅速取代軟件行業(yè)的電子郵件。 而由于十分流行,現(xiàn)在有幾個(gè)軟件協(xié)作工具為即時(shí)消息提供了Slack集成。
JIRA和Slack集成通常用于項(xiàng)目活動(dòng)日志、虛擬Sprint回顧會議、票務(wù)解決方案和警報(bào)。還可以使用編程為Slack制作自定義聊天機(jī)器人、基礎(chǔ)設(shè)施例程和觸發(fā)器。
25.Microsoft Teams
Microsoft Teams是一種溝通和協(xié)作工具。它對在Windows生態(tài)系統(tǒng)中工作的用戶很有用。除了即時(shí)消息服務(wù)之外,Teams也很有用,因?yàn)樗cAzureDevOps平臺集成。用戶還可以將Teams與Azure Repos和Azure Pipelines連接起來。
Teams提供不同的渠道,團(tuán)隊(duì)可以在其中相互協(xié)作。這將創(chuàng)建一個(gè)特定于項(xiàng)目的通信存儲庫,用戶可以隨時(shí)搜索它。
Microsoft Teams其他一些功能包括:
- 文件存儲庫
- 電話/視頻會議
- 聊天機(jī)器人集成
- Office365集成
雖然產(chǎn)品選擇很好,但可用的眾多工具可能令人生畏。缺乏標(biāo)準(zhǔn)化和自動(dòng)化可能會在入職和/或交接過程中產(chǎn)生極高的學(xué)習(xí)曲線。通常情況下,企業(yè)的各個(gè)團(tuán)隊(duì)會投資于相似、重疊的工具,從而浪費(fèi)了時(shí)間和費(fèi)用。隨著構(gòu)建和集成工具鏈讓開發(fā)人員筋疲力盡,工具版本的老化以及集成由于遺留代碼而陷入困境,安全問題將變得更加嚴(yán)重。
原文標(biāo)題:Top 25 DevOps Tools for 2021,作者:Vishnu Vasudevan
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】