2021 年 25 大 DevOps 工具(下)

陳琦聊測試發表於2022-01-06

DevOps 正在改變全球軟體開發的狀態,DevOps 正以某種形式有效地提高提高全球軟體公司的上市速度、可銷售性、創新和產品質量。

2021 年是 DevOps 的重要一年。由於 DevOps 跨越開發、運營、IT、安全和產品團隊等等,以及軟體開發的不同階段,因此有大量工具可供選擇。

本文介紹目前市場上可用的一些頂級 DevOps 工具,同時牢記 CI/CD 生命週期的重要類別。上篇為配置管理、構建、原始碼、部署工具,本篇主要是漏洞管理、質量、監控、協作工具。

網路威脅及漏洞管理

TwistLock

對基於容器的應用程式來說,TwistLock 提供了威脅和漏洞。該服務以其與 Kubernetes 和 Docker 容器的整合而聞名。TwistLock 現在歸 Palo Alto Networks 所有,透過其執行時應用安全保護和容器自動掃描進行安全檢查。


TwistLock 有一個強大的文件,它易於部署並強制最佳化資源消耗。它還以其 CI/CD 管道整合、對容器安全協議的強合規性和影像掃描而聞名。
TwistLock 還以其精細的安全分析而聞名。該服務還用 AI 功能來了解環境,儘管有些公司已經發現,它自動觸發的 cron 作業非常令人困惑。
他們還提供基於 SaaS 的安全掃描(prisma 雲)和本地解決方案。

Sysdig

Sysdig 是一種用於雲基礎架構、服務和應用程式的監控工具。Sysdig 通常用於對PaaS基礎設施進行容器安全確認、監控及監控安排。
Sysdig 還可用於監控 OpenShift 叢集,因為它提供粒度資料來分析指標。
使 Sysdig 脫穎而出的是其容器監控與編排層的強大整合。
如果你想深入瞭解程式網路流量,Sysdig 也很有用。Sysdig Opensource 允許在核心系統呼叫級別許可權以獲取主機的詳細資訊。捕獲資訊過程也可以透過 DaemonSet 或直接代理過程自動部署為 Docker 容器。

Anchore

Anchore 是一個完整的容器安全工作流解決方案,可與各種開發工具和平臺無縫整合。Anchore 為一系列不同的應用程式提供定製的容器檢查和合規性解決方案,使團隊能夠符合行業安全標準。
安全團隊可以審計和驗證整個組織的合規性。
功能包括:

  • 支援webhook,包括雲託管或本地 Kubernetes 環境和 CI/CD 平臺
  • 基於策略的安全性和合規性
  • 檢查:
- 漏洞掃描
- 秘密和密碼
- 作業系統包
- 第三方資料庫檢查等

質量/測試

JMeter


JMeter 是一種用於測試 Web 應用程式的負載測試工具。即使 JMeter 用於負載/效能測試,它仍然可以用於啟動 API 呼叫、狀態程式碼和響應。JMeter 還支援很多外掛。
還可以使用 JMeter 的併發執行緒池大小這個特徵,在測試期間為每個執行緒啟動多個連線。
JMeter 是獨立於平臺的,可以在不同環境下流暢執行。
可透過多種方式檢視測試結果,包括圖形、圖表、樹檢視、XML 和 JSON。

JUnit

JUnit 是一個單元測試框架,主要用於 Java 應用程式。JUnit 框架屬於 Java 框架的 xUnit 家族。
JUnit 使用註解來確定在測試中應該使用什麼方法。其測試執行器功能也因其自定義功能而在開發者社群中享有盛譽。你還可以在 JUnit 中使用斷言來測試預期結果。
在 JUnit 中,你可以在多個引數之間使用不同的組合。為整個應用程式建立、管理豐富的單元測試用例套件,在 JUnit 的幫助下變得非常容易。JUnit 還可以在模組或系統級測試之前自動測試應用程式的所有功能及單元。

Selenium


Selenium 是一個端到端的測試軟體測試平臺,以其使用者友好的使用者介面而聞名,它允許測試人員模擬 Web 系統行為、傳送 API 請求並分析系統行為。
Selenium 允許使用 RUBY 或 HTML 編寫複雜和高階的測試指令碼,以解決多個級別的複雜性。
Selenium 為 Web 應用程式開發人員提供了一個完整的 IDE,用於編輯、記錄和除錯測試。可以為多個測試用例設定自定義的起點和斷點。
Selenium 的其他一些主要特性包括:

  • 與多個開發平臺整合,如 Jenkins、Maven、TestNG、QMetry、SauceLabs
  • 使用 Selenium Grid 進行並行測試
  • 相容所有著名語言,包括 Java、Ruby、C#、PHP、JavaScript、Perl 和 R

ZTF


目前市面上的自動化測試框架主要分為單元測試框架和某種領域的自動化測試框架,這些框架往往與各個語言繫結,需要將這些自動化測試框架的測試指令碼統一管理起來,ZTF自動化測試框架由此被開發出來。ZTF聚焦於自動化測試的管理功能,提供了自動化測試指令碼的定義、管理、驅動、執行結果的回傳、Bug的建立以及和其他自動化測框架的整合。

ZTF解決如下問題:

  • 用例資訊的管理
  • 測試指令碼的執行
  • 測試結果的比對
  • 缺陷Bug的提交


ZTF具有語法簡單、跨平臺、跨語言、跨框架、工程化、跨場景的特點,可很好地驅動8種單元測試框架、5種自動化測試框架來執行測試,並把最終結果回傳給禪道,進行統一的報告展示,打通了專案管理和持續整合工具之間的溝壑,貫穿持續整合、持續測試、持續部署等DevOps生命週期的不同階段。

SonarQube

SonarQube 是一個開源工具,用於程式碼質量、持續檢查、安全和錯誤分析。它適用於 Java、Python、XML 和 PHP 以及許多開箱即用的語言。該工具可以透過 XPath 表示式動態新增規則,還可以自定義該工具以強制執行某些應該忽略異常的情況。
SonarQube 主要用於靜態分析。它與 GitLab 有很好的整合。SonarQube 的儀表板和高階跟蹤,讓你可以對程式碼質量和檢查進行大量控制。
SonarQube缺點:

  • 和 JavaScript 的配合不太順利
  • 有時速度慢
  • 對第三方工具和外掛的支援有限

記錄和監控

Grafana

Grafana 是一種基於 Apache 2.0 許可證構建的開源分析和監控解決方案,以其出色的 UI、圖形、圖表、實時分析和觸發器而聞名。Grafana 可以從多個來源提取資料,包括 Graphite、InfluxDB、OpenTSDB 和 Prometheus。
Grafana 主要用於監控 Docker 容器、網路裝置、頻寬、資料流、虛擬伺服器、Azure 基礎設施、資料庫和 Web 應用程式。Grifana 還以其外掛以及與 Telegraf 和 Zabbix 的無縫整合而聞名。
Grafana 可以將粒度資料視覺化,包括中斷的確切時間、中斷前的事件、使用者日誌、資料中心溫度和效能預測等指標。

New Relic

New Relic 是一個全棧監控工具,用於跟蹤基於雲的應用程式和軟體。New Relic 提供豐富的儀表板、分散式跟蹤支援、詳細日誌、自上而下的可見性和監控。New Relic 對後端呼叫具有強大的監控能力,可以詳細說明系統速度變慢的原因。
該工具對於需要詳細分析多個堆疊配置檔案的公司非常有用。
New Relic 價格昂貴,但該公司最近制定了基於消費的定價模型。
New Relic 的一些缺點包括:

  • 客戶支援較弱
  • 即使在基於消費的定價模型之後也很昂貴
  • 除錯複雜困難

Nagios

Nagios 是一個開源軟體,可以監控系統、網路和基礎設施。它主動監控服務的健康狀況並維護日誌儲存檔案。它還顯示停機原因、停機持續時間以及可能觸發停機的事件。
Nagios 還提供了幾個配置選項和警報功能。你可以抑制主機的警報、在主機上強制實施維護模式、自定義警報的通知設定等等。
Nagios 支援數百個外掛。你還可以建立自己的自定義並開發自己的外掛支援。
但是,由於 Nagios 相對較舊,因此很難使用最新的基礎架構進行操作。它缺乏資料庫驅動的配置並強制你使用配置檔案。

ITSM 和協作

ZenTao

禪道是一款開源的研發專案管理軟體,基於敏捷和CMMI管理理念進行設計,完整地覆蓋了專案管理的核心流程。集產品管理、專案管理、質量管理、文件管理、組織管理和事務管理於一體,支援產品端到端的全生命週期管理。


禪道管理思想注重實效,功能完備豐富,操作簡潔高效,搜尋功能強大,統計報表豐富多樣,軟體架構合理,擴充套件靈活。


禪道還實現了Jenkins與Gitlab的整合,更好地支援DevOps的CI和CD週期。

Slack

Slack 是協作和通訊工具,最近廣受歡迎。Slack 以其實時對話、搜尋功能和友好的使用者介面而聞名。
由於其強大的使用者介面、有趣的功能和敏捷性,Slack 正在迅速取代軟體行業的電子郵件。
還可以使用程式設計為 Slack 製作自定義聊天機器人、基礎設施例程和觸發器。

Microsoft Teams

Microsoft Teams 是一種通訊和協作工具。它對在 Windows 生態系統中工作的公司很有用。除了即時訊息服務之外,Teams 也很有用,因為它與 Azure DevOps 平臺整合。你還可以將你的團隊與 Azure Repos 和 Azure Pipelines 連線起來。
團隊提供不同的渠道,團隊可以在其中相互協作。這將建立一個特定於專案的通訊儲存庫,你可以隨時搜尋它。
其他功能包括:

  • 檔案回收
  • 電話/視訊會議
  • 聊天機器人整合
  • Office 365 整合

眾多的可用工具可能令人望而生畏,但選擇本身是一件好事。缺乏標準化和自動化可能會在入職或交接過程中產生極高的學習曲線。選擇原則是不要投資於相似、重疊的工具而浪費時間和財務資源。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2850985/,如需轉載,請註明出處,否則將追究法律責任。

相關文章