|
|
51CTO旗下网站
|
|
移动端

2018年最好的10个开源DevOps工具!

开发和运营的整合为软件开发带来了新的视角。如果您是DevOps实践的新手,或者希望改进当前流程,那么了解哪种工具最适合您的团队可能是一项挑战。

作者:云技术来源:今日头条|2018-11-05 11:00

开发和运营的整合为软件开发带来了新的视角。如果您是DevOps实践的新手,或者希望改进当前流程,那么了解哪种工具最适合您的团队可能是一项挑战。

我们将几个开源工具列出来,这里面包括从自动构建的工具到应用程序性能监控平台 ,以帮助您做出明智的决定:哪些开源工具会比较适合您的构建情况。现在来看一下吧。

1. Gradle

2018年最好的10个开源DevOps工具!

DevOps工具栈需要一个可靠的构建工具。多年来,都是Apache Ant和Maven一直主导着自动化构建工具市场,但Gradle 在2009年出现了,其受欢迎程度自那时起飞速增长。

Gradle是一个非常通用的工具,它允许你使用Java,C ++,Python或其他语言编写代码。Gradle还受到Netbeans,Eclipse和IntelliJ IDEA等流行IDE的支持,谷歌也会选择它作为Android Studio 的官方构建工具 。

虽然Maven和Ant使用XML进行配置,但Gradle引入了基于Groovy的DSL来描述构建。2016年,Gradle团队还发布了基于Kotlin的DSL ,现在您也可以在Kotlin中编写构建脚本。这意味着Gradle确实借鉴了一些(前者)学习经验,如果您以前使用过Groovy,Kotlin或其他JVM语言,是最好不过的了。

此外,Gradle使用Maven的存储库格式,因此如果您之前有使用Maven的经验,那么对于依赖关系管理将会很熟悉。您还可以将Ant构建 导入Gradle。

关于Gradle的最棒的功能是增量构建 ,因为它们节省了大量的编译时间。根据Gradle的性能测量结果 ,它比Maven快100倍。

有部分是因为增量的原因,还有部分原因是由于Gradle的缓存构建和守护进程 。缓存重复输出任务,守护进程把构建信息放在了内存当中。

总而言之,Gradle允许更快的运输,并提供了许多配置可能性。

2.Git

2018年最好的10个开源DevOps工具!

Git 是最受欢迎的DevOps工具之一,广泛应用于整个软件行业。它是一个分布式SCM(源代码管理)工具,深受远程团队和开源贡献者的喜爱。Git允许你跟踪开发工作的进度。您可以保存源代码的不同版本,并在必要时返回到以前的版本。你可以创建独立的分支,在上线前将新特性合并到分支。

要将Git与您的DevOps工作流程集成,您需要一个在线代码存储服务来托管您团队的工作内容,目前两个最好的在线代码托管服务是GitHub和Bitbucket。GitHub更为知名,但Bitbucket为小型团队(最多五个团队成员)提供免费无限制的私人存储空间。使用GitHub,您只能免费访问公共存储空间 - 这对许多项目来说仍然是一个很好的解决方案。

GitHub和Bitbucket都有很棒的集成。例如,您可以将它们与Slack集成,以便每当有人进行新的提交时,团队中的每个人都会收到通知。

3.Jenkins

2018年最好的10个开源DevOps工具!

Jenkins 是许多软件开发团队的首选DevOps自动化工具。它是一个开源CI / CD服务器,可以在自动化交付流程的不同阶段使用。Jenkins受欢迎的主要原因是其巨大的插件生态系统。目前,它提供了1000多个插件 ,集成了几乎所有DevOps工具,从Docker到Puppet。

使用Jenkins,您可以根据自己的需要设置和自定义CI / CD流程。我在Jenkins Docs中 找到了以下示例。这只是其中一种可能性。看起来还不错,不是吗?

2018年最好的10个开源DevOps工具!

Jenkins 入门非常容易,因为它在Windows,Mac OS X和Linux上都是开箱即用的。您也可以使用Docker 轻松安装它 。您可以通过Web界面设置和配置Jenkins服务器。如果您是初次使用的用户,可以选择使用一些常用插件进行安装。但是,您也可以创建自己的自定义配置。

使用Jenkins,您可以尽快迭代和部署新代码。它还可以做到让您衡量流程管道中每个步骤是否成功。也有人抱怨Jenkins 用户界面“丑陋”并且不直观。

4、Bamboo

2018年最好的10个开源DevOps工具!

Bamboo是Atlassian的CI / CD服务器解决方案,具有许多与Jenkins类似的功能。两者都是流行的DevOps工具,可以在自动化交付流程的不同阶段使用。然而,Jenkins是开源的,但Bamboo得按需收费。所以,终极问题应该是:如果有免费替代方案,是否值得选择专有软件?这就得取决于您的预算和目标了。

Bamboo有许多预先构建的功能,这些必须在Jenkins中手动设置。这也是Bamboo拥有较少插件的原因(与Jenkins的1000+相比,大约100个)。实际上,你不需要那么多的Bamboo插件,因为它基本都是开箱即用。

Bamboo与其他Atlassian产品都是无缝集成,比如Jira和Bitbucket。您还可以访问内置的Git和Mercurial分支工作流程和测试环境。一句话概括,Bamboo可以为您节省大量的配置时间。它带有更直观的用户界面,提醒工具,自动完成功能和其他便利功能。

5. Docker

2018年最好的10个开源DevOps工具!

Docker 是2018年的头号容器平台。它也被认为是最重要的DevOps工具之一。Docker在IT科技圈广受欢迎,主要是因为它使分布式开发成为可能,并能使应用程序部署自动化。它使应用程序部署过程变得更便携更安全。Docke应用程序也独立于操作系统和平台。您可以使用Docker容器而不是VirtualBox等虚拟机。

我最喜欢Docker的是你不必担心依赖关系管理。您可以将所有依赖项打包在应用程序的容器中,并将整个事物作为独立单元发送。然后可以在任何计算机或平台上运行该应用程序。

Docker也与Jenkins 和Bamboo 集成。如果将其与其中一个自动化服务器一起使用,则可以进一步改善交付工作流程。此外,Docker也非常适合云计算。近年来,AWS和Google Cloud等所有主要云厂商都开始支持Docker。因此,如果您计划进行云迁移,Docker会使这个流程简化一些。

6. Kubernetes

2018年最好的10个开源DevOps工具!

今年,Kubernetes 也是热点。它是一个容器编排平台,将Docker化提升到了一个新的水平,它适用于Docker或其任何替代品。Kubernetes是近几年才出现在大众视野的; 它的第一个版本于2015年问世。由几位Google工程师创建,他们希望找到一个大规模管理容器的解决方案。使用Kubernetes,您可以将容器分组为逻辑单元。

如果您只有几个容器,则可能不需要容器编排平台。但是,当您达到一定程度的复杂性并需要扩展资源时,这是下一个合乎逻辑的步骤。Kubernetes允许您自动化管理数百个容器。

使用Kubernetes,您无需将容器化应用程序绑定到一台计算机上。相反,您可以将其部署到计算机群集。Kubernetes自动化整个集群中容器的分发和调度。

Kubernetes集群由一个主节点和几个工作节点组成。主节点实现预定义的规则,并将容器部署到工作节点。Kubernetes还会意识到某个工作节点在何时关闭并在必要时重新分配容器。

7、Puppet Enterprise

2018年最好的10个开源DevOps工具!

Puppet Enterprise是一个跨平台的配置管理平台。 它允许您以代码的形式管理基础架构。 由于它可以自动化管理基础架构,因此您可以更快,更安全地交付软件。 Puppet还为开发人员提供了一个用于小型项目的开源工具。 但是,如果您正在处理更大的基础架构,您可能会发现Puppet Enterprise的额外功能,例如:

●实时报告

●基于角色的访问控制

●节点管理

使用Puppet Enterprise,您可以管理多个团队和数千个资源。 它可以自动了解基础架构中的关系。 并依赖其中关系巧妙地处理故障。 当遇到配置失败时,它会跳过所有相关配置。 关于Puppet值得一提的事情是它有超过5,000个模块,并有许多流行的DevOps工具集成。

8、Ansible

2018年最好的10个开源DevOps工具!

Ansible是一个配置管理工具,类似于Puppet和Chef。 您可以使用它来配置基础架构并自动部署。 与其他类似的DevOps工具相比,它的主要卖点是简单易用。 Ansible遵循与Puppet相同的基础设施代码(IAC)方法。 但是,它使用超级简单的YAML语法。 使用Ansible,因为Puppet具有其声明式语言,所以你可以在YAML中定义任务

无Agent架构是Ansible另一个经常提到的特色。 由于没有守护进程或Agent在后台运行,因此Ansible是一种安全且轻量级的配置管理自动化解决方案。 与Puppet类似,Ansible也有几个模块。

9. Nagios

2018年最好的10个开源DevOps工具!

Nagios 是最流行的免费和开源DevOps监控工具之一。它可以监控基础结构关系以便可以找到并修复问题。Nagios可以记录任务,事件中断和事件故障。您还可以借助Nagios的图表和报告密切关注趋势。这样,您可以预测中断和错误并检测安全威胁。

尽管有许多用于基础架构监控的DevOps工具,但Nagios因其丰富的插件生态系统 而脱颖而出。由于Nagios在IT圈也已存在了一段时间(自2002年以来),它周围有一个庞大的社区。除了插件,他们还可以免费制作附加组件,教程,翻译和其他好东西。

Nagios提供四种开源监控解决方案:

Nagios Core

Nagios XI

Nagios Log Server

Nagios Fusion

Nagios Core是一个命令行工具,具有所有基本功能。您还可以选择附带基于Web的GUI和监视向导的Nagios XI。

Nagios Log Server允许您搜索日志数据并设置有关潜在威胁的警报。而且,Nagios Fusion允许您同时监控多个网络。

总的来说,Nagios为DevOps团队提供了基础架构监控解决方案。但是,设置Nagios并使其与您的环境兼容可能需要一段时间。

10、Raygun

2018年最好的10个开源DevOps工具!

Raygun是世界级的监控报告平台。APM是其最新产品。 Raygun的DevOps工具可帮助您诊断性能问题并将其追溯到确切的代码,函数或API调用行。 APM工具也非常适合Raygun故障管理流程。例如,它会自动识别您的最高优先级问题并自动创建问题。

Raygun APM可以帮助您充分利用其他DevOps工具,确保若有问题发生,您会一直收到有关错误问题的通知。由于它自动将错误链接回源代码,因此Raygun通过为整个团队提供监控功能来实现开发和操作。

找到最好的DevOps工具,需要自己亲自实验和尝试。设置和配置这些开源工具通常会需要花费澳门美高梅梅登录网站时间,好在大多数商业DevOps工具都提供免费试用版,允许您免费测试和评估它们。

译者介绍:刘劲辉 优维科技高级解决方案架构师 曾就职于阿里巴巴移动事业群,具有多年的业务运维和运维研发经验。曾负责开发建设基于阿里游戏中心 JWS 框架的自动化运维平台,对 DevOps 实践落地有丰富经验。

【编辑推荐】

  1. 5大常见开源软件问题及解决方法
  2. 正确选择开源数据库的5个技巧
  3. 四个开源的Android邮件客户端
  4. Facebook 开源了一整套重要的 Linux 内核组件与工具!
  5. 一款诚意满满的开源项目:使用深度神经网络去除马赛克
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +澳门美高梅梅登录网站

网络管理员考试全真模拟试题与解析

本书是按照全国计算机技术与软件专业技术资格(水平)考试《网络管理员考试大纲》的要求,参照《网络管理员教程》及近年来考试试题编写的。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网