商汇粹外网资源平台

搜索
查看: 2363|回复: 3

有没有不错的devops工具推荐?

[复制链接]

该用户从未签到

14

主题

33

帖子

133

积分

注册会员

Rank: 2

积分
133
发表于 2022-9-22 17:09:37 | 显示全部楼层 |阅读模式

  • 代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion、TFS
  • 构建工具:Ant、Gradle、maven
  • 自动部署:Capistrano、CodeDeploy
  • 持续集成(CI):Bamboo、Hudson、Jenkins
  • 配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
  • 容器:Docker、LXC、Rkt、第三方厂商如AWS
  • 编排:Kubernetes、Apache Mesos、DC/OS
  • 服务注册与发现:Zookeeper、etcd、Consul
  • 脚本语言:python、ruby、shell
  • 日志管理:ELK、Logentries
  • 系统监控:Datadog、Graphite、Icinga、Nagios
  • 性能监控:AppDynamics、New Relic、Splunk
  • 压力测试:JMeter、Blaze Meter、http://loader.io
  • 预警:PagerDuty、pingdom、厂商自带如AWS SNS
  • HTTP加速器:Varnish
  • 消息总线:ActiveMQ、SQS
  • 应用服务器:Tomcat、JBoss
  • Web服务器:Apache、Nginx、IIS
  • 数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
  • 项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
回复

使用道具 举报

该用户从未签到

6

主题

54

帖子

183

积分

注册会员

Rank: 2

积分
183
发表于 2022-9-22 17:55:27 | 显示全部楼层
该回答内容参考来源两部分:


DevOps 正在改变全球软件开发的状态,DevOps 正以某种形式有效地提高提高全球软件公司的上市速度、可销售性、创新和产品质量。
2021 年是 DevOps 的重要一年。由于 DevOps 跨越开发、运营、IT、安全和产品团队等等,以及软件开发的不同阶段,因此有大量工具可供选择。
本文介绍目前市场上可用的一些顶级 DevOps 工具,同时牢记 CI/CD 生命周期的重要类别。本篇为配置管理、构建、源代码、部署工具,下篇主要是漏洞管理、质量、监控、协作工具。
配置管理

Puppet






Puppet 是一种开源软件配置管理和部署工具,通常用于确保所有服务器都配置为所需的状态。Puppet 是基于代理的,最常用于 Linux 和 Windows 同时控制多个应用程序服务器。Puppet 主要用于客户端/服务器配置,其中受管节点与服务器的配置保持同步。借助 Puppet 的代码管理工具 R10K,可以更轻松地对 CI/CD 代码实施自动化或手动更改、更新、审查和测试。还可以使用 R10K 和 Puppetfiles 来自动部署环境。这些基于代理的部署一般比较准确、及时,还能生成错误日志以供审查。
Puppet 还为版本控制提供了与 Git 的简单集成。
Puppet是声明式的,通常适合基线而非编制。
Puppet缺点:

  • 总体速度缓慢
  • 在不编写自定义事实的情况下,Puppet 无法检查 exec 资源之外的系统状态
  • Hiera是Puppet的键值配置数据查找系统,速度慢且排查故障困难
Ansible

Ansible 是开源配置管理和编排工具,以其简洁和性能而闻名。Ansible 在主机上运行并使用 SSH 连接到节点。Ansible 可以在任何安装了 Python 2(版本 2.7)或 Python 3(版本 3.5 及更高版本)的主机上运行,包括 Red Hat、Debian、CentOS、macOS 和 BSD。
Ansible 让使用 YAML管理配置变得很容易。用 Ansible 做自动化跨平台任务也很有效。还可以使用 Ansible pull模式从特定文件中获取存储库和运行命令。将 Shell 脚本和配置文件转换为 Ansible Playbooks 或 Roles 也很容易,且有很多文档可用。  
Ansible 缺点:

  • 系统规模及扩展缓慢
  • 缺乏 Windows 系统的支持
  • 当数百个服务器需要数百个大规模同步时效率低下
Chef





Chef 是主要用于配置管理的开源 DevOps 工具。Chef 也基于主代理模型,因为 Chef 客户端在每台客户端机器上运行(使用“knife”工具并通过 SSH 进行通信)。Chef 与 Puppet 的不同之处在于它的额外层,称为工作站,其中包含所有配置。这些配置首先在本地机器上自动测试,然后推送到服务器上。
当存在主机依赖关系时,Chef 的表现非常出色。它能获取系统的状态(包、现有用户、目录等),并将它们与代理的实时实例进行比较,并确保对象保持同步。
在业界广为人知的是,Chef 使用 AWS OpsWorks 等服务维护更大网络的自动化功能。Chef Inspec 还有助于确保网络部署的安全性和完整性。Chef InSpec 是一个开源框架,允许对应用程序进行自动、手动测试和审计。
尽管 Chef 具有强大的 GUI,但必须了解 Ruby 才能利用 Chef 的基础架构即代码模型的真正力量,尤其是涉及复杂任务和自定义时。可以通过在 Chef 中编写脚本(被称为烹饪书和菜谱)来实现大量自定义,但在许多情况下这样做并不是最佳选择。
Chef 缺点:

  • 代理实例需要定查看主机来安装更新
  • 初学者难以理解
  • 缺乏详细的文件
  • 缺乏需求的可扩展性
构建

Jenkins






Jenkins 是用 Java 编写的开源自动化服务,它充当 CI(持续集成)工具,使开发人员可以更轻松地将新组件集成到软件中,以实现无缝集成。Jenkins 使用插件进行集成来实现这一目标。
Jenkins 听取新的拉取请求,将新的工作分支合并到主代码中,运行自动化测试套件,生成新的测试数据,报告失败,并将最新的代码更改部署到 QA 环境以进行手动测试。
Jenkins Pipeline 用于实现持续集成过程的自动化表达。可以在管道中定义构建文件,将它们加载到 SCM 并配置工作变量。
Jenkins 已经存在了很长时间,并且由于其成熟的生态系统、插件支持、文档和社区,实际上已经成为一种标准。Jenkins 在过去几年中有几次更新。它已成为许多公司的首选之一,因为它为管道和 Docker 集成提供了简单的 UX/语法。
Jenkins的缺点包括:  

  • 要使用 Jenkins,需要先学 Groovy,它因其不一致性而臭名昭著。Jenkins 中的 Groovy 脚本不易编写和编辑,尤其是要大量地更改时。
  • 在许多情况下,还需要手动将构建配置到UI、硬代码配置文件和松散的访问控制中。
  • 如果没有 JenkinsFile,Jenkins 极难使用,JenkinsFile 是一个文本文件,包含 Jenkins Pipeline 的定义,且该文件由源代码控制。
TeamCity

TeamCity 是一款高级 CI 工具(提供受限的免费版本),以其易于操作的界面、流畅的配置和创新功能而闻名。TeamCity 在 Java 环境和 Apache Tomcat 服务器中运行,但也可以安装在 Windows 和 Linux 服务器上。
是否选择TeamCity 在很大程度上取决于自身需求。如果有充足预算,且主要任务包括设置固定数量的构建代理,以便用存储库快照和工件依赖项轻松建立并行构建链,那TeamCity 将非常合适。TeamCity 也有非常可靠的文档。TeamCity 的“Snapshot Dependencies”功能允许你在整个管道中保持相同的源版本,而无需底层代码实现。
但是,TeamCity 会自动修复snowflake agents,为此,必须使用配置工具或容器技术。
TeamCity 基于模板的构建配置可以让生活更轻加松。
TeamCity 还原生支持 AWS、GCE 和 Azure 中的代理自动扩展。它还通过插件支持 VMware 和 Kubernetes,并与 GitHub 本地集成。


TeamCity 缺点:

  • 价格昂贵
  • 调试日志和错误日志难以解析和理解
Bamboo

Bamboo 是由 Atlassian 开发的持续集成和持续部署服务器。Bamboo 的主要优势之一是它能够在单个工作流中将自动化构建、测试和发布与其他 Atlassian 产品(例如 JIRA、BitBucket、Stash、Hipchat 和 Confluence)集成,从而创建一个稳固的软件开发和交付生态系统。
Bamboo 还具有可靠、易于使用的 GUI。
与 BitBucket、Confluence 和 Jira 的轻松集成是 Bamboo 的一大优势。它还可以启动类似 cron 的触发器,如果员工不在办公室,但有审核分析、自动化测试和自动化程序要运行,这些触发器会派上用场。
Bamboo 缺点:

  • Bamboo的代码分析能力不强
  • Bamboo 无法集中构建配置
  • 没有全局工具配置(必须在代理器上手动安装工具)
  • Bamboo 缺乏凭据插件和支持,这意味着每个 Bamboo 相关的项目都必须推出密码更改功能
源代码管理

GitHub

GitHub 是全球数百万人使用的最流行的源代码管理工具之一。GitHub 的主要优势包括:易操作的 UI、智能功能如意外删除的存储库恢复功能、 防止成品删除、集成多样化和安全性。GitHub 几乎没有中断或停机,这使得它非常可靠。
GitHub 拥有庞大的社区,非常适合开源项目。由于 Microsoft 拥有 GitHub,所以 Azure DevOps 和Microsoft的工具可以进行紧密集成。GitHub 让你能更好地控制 CI/CD 过程。
但是,GitHub 只为每个存储库最多3个协作者提供免费的私人存储库。
GitLab

GitLab 基于 Git,为软件开发提供版本控制、CI 服务、部署和管道功能。由于其强大的 CI 服务,大多数公司更喜欢使用 GitLab 进行源代码管理。如果你想在自己的服务器上集成 CI/CD,GitLab 是一个可行方法,因为你其实可以在服务器上托管 GitLab。GitLab 免费且开源,并提供无限数量的免费私人存储库。
GitLab 还允许你安装私有实例,还提供容器注册服务。
值得一提的是,GitLab已在国内成立合资公司——极狐GitLab,重点探索国产化自研创新和定制化服务。
部署

Spinnaker

Spinnaker 是一个开源 CD 软件平台,可与 Kubernetes、Google Cloud Platform、AWS、Microsoft Azure 和 Oracle Cloud 配合使用。它主要是一个部署和交付平台,用于获取工件并将其部署到生产中。
Spinnaker 的仪表板和界面都非常易于使用。开发人员可以轻松地将他们的代码推送到发布分支,该工具会自动构建、测试、验证并将代码推送到生产环境。借助 Spinnaker,你可以使用 Seamless Kubernetes、 Github 和 Google 的云构建集成,轻松交付、部署对软件的更改。
Spinnaker 可以本地构建 EC2 AMI、配置 ASG 和设置负载均衡器。
Spinnaker 缺点:

  • 缺乏有效的可扩展性
  • 文件稀缺
  • 自动化任务困难
Octopus Deploy

Octopus Deploy 是一个用于自动化部署的 CD 工具。它可以在代理机器或“触手”上自动部署应用程序和服务。Octopus Deploy 适用于 http://ASP.NET Web 应用程序、Java 应用程序、NodeJS 应用程序,并将自定义脚本运行到多种环境,包括 AWS 和 Azure。大多数情况下,它与 AzureDevOps 一起使用,并受到使用 Microsoft 生态系统的公司的青睐。
Octopus Deploy 可以集成流水线的 CI 基础设施。可以向 Octopus 发起 API 调用,以创建新版本,并通过CI管道推送二进制文件。
Octopus的缺点如下:

  • 价格昂贵
  • 无法在项目之间导出变量
Argo CD

Argo CD 是一个声明式的 GitOps 持续部署工具,主要用于 Kubernetes 集群中部署应用程序。
Argo CD 强制同步 Kubernetes 清单,这些清单在 Git 存储库中记录你的应用程序。Argo CD 可以自动应用已更新的清单以提交对集群的更改。ArgoCD 服务器可以跟踪主项目的部署分支。Argo CD 还可以自动检测何时将构建分支合并到部署分支中。Argo CD 通过首先部署新版本的清单来防止停机。
Argo CD 缺点:

  • Argo CD 不支持 CI,这意味着如果你想要一个完整的 CI/CD 管道,那就需要借助其他工具,如 Jenkins、Travis、Circle CI 或 Gitlab CI。
网络威胁及漏洞管理

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自动化测试框架由此被开发出来。ZTF聚焦于自动化测试的管理功能,提供了自动化测试脚本的定义、管理、驱动、执行结果的回传、Bug的创建以及和其他自动化测框架的集成。
ZTF解决如下问题:
    用例信息的管理
    测试脚本的执行
    测试结果的比对
    缺陷Bug的提交
ZTF具有语法简单、跨平台、跨语言、跨框架、工程化、跨场景的特点,可很好地驱动8种单元测试框架、3种自动化测试框架来执行测试,并把最终结果回传给禅道,进行统一的报告展示,打通了项目管理和持续集成工具之间的沟壑,贯穿持续集成、持续测试、持续部署等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 集成
众多的可用工具可能令人望而生畏,但选择本身是一件好事。缺乏标准化和自动化可能会在入职或交接过程中产生极高的学习曲线。选择原则是不要投资于相似、重叠的工具而浪费时间和财务资源。
回复

使用道具 举报

该用户从未签到

11

主题

93

帖子

291

积分

中级会员

Rank: 3Rank: 3

积分
291
发表于 2022-9-22 18:41:17 | 显示全部楼层
简单云一站式云原生DevOps平台凭借着它的12般武艺(12款子产品)得到了越来越多的客户认可
简单云始终做全系国产自研的研发效能工具,客户反馈:使用过程更加自主可控,简单云给到的售后支持也特别到位
简单云的能源领域“版图”再次扩张,(此处容小编嚣张一下),客户的信赖便是我们前进的最大动力
回复

使用道具 举报

该用户从未签到

6

主题

46

帖子

162

积分

注册会员

Rank: 2

积分
162
发表于 2022-9-22 19:27:07 | 显示全部楼层
Devops涉及的管理工具很多,特别是当前面向混合云的场景下,管理工具使用起来繁多又复杂。
题主可以考虑一下综合性管理平台。作为云原生管理领域的倡导者和引领者,骞云科技提供面向公有云、私有云和混合云的企业级持续交付平台SmartCMP,集 DevOps 实践、业界前沿的研发理念于一体,提供可视化流水线,并基于流水线实现GitOps的自动化;集成一站式DevOps工具链,开箱即用,底层云资源按需动态调度,研发团队只需专注于业务,更低计算成本;高度自动化的服务编排、自服务,打造高效、可控、可复制的持续集成和交付,保障团队实现更好更快的价值交付。
骞云SmartCMP SaaS版本现在已发布,注册即可永久免费使用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表