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 集成
泛滥的可用工具可能令人望而却步,但抉择自身是一件坏事。不足标准化和自动化可能会在入职或交接过程中产生极高的学习曲线。抉择准则是不要投资于类似、重叠的工具而浪费时间和财务资源。