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

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

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

1. Gradle

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

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

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

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

3.Jenkins

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

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

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

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

4、Bamboo

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

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

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

5. Docker

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

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

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

6. Kubernetes

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

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

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

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

7、Puppet Enterprise

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

●实时报告

●基于角色的访问控制

●节点管理

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

8、Ansible

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

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

9. Nagios

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容