精华内容
下载资源
问答
  • 开发运维改革终于成为主流,人们对开发运维工具的欢迎程度暴增。根据谷歌趋势的显示,“开发运维工具”的搜索量稳定增长,且会继续保持增长。 由于DevOps包括整个软件开发周期,可供选择的工具很多。当然啦,没有...

    全文共7442字,预计学习时长25分钟

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    开发运维改革终于成为主流,人们对开发运维工具的欢迎程度暴增。根据谷歌趋势的显示,“开发运维工具”的搜索量稳定增长,且会继续保持增长。

     

    由于DevOps包括整个软件开发周期,可供选择的工具很多。当然啦,没有一种工具能适合所有情况。但有几种工具的性能已经成熟,可以为几乎所有情况提供广泛的支持。

     

    成功且成熟地采用开发运维方法,你将始终拥有完整的渠道,这包括适用于五个类别的工具。记住,评估当前的工具堆栈很有必要,确保没有丢失CI/CD管道的关键内容。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    开发和构建工具

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    这是CI / CD管道堆栈的基础,一切始于此。该类别中最好的工具可以协调多个事件流,并且可以轻松地与外部工具集成。软件开发生命周期中的工具分为三个子类别:

     

    · 源代码控制管理 (SCM)

    · 持续集成 (CI)

    · 数据管理

     

    2020年推荐的源代码控制管理(SCM)技术是GIT,因此SCM工具必须具有出色的GIT支持;对于持续集成(CI),需要具备在临时容器化环境中运行和执行构建的能力;而对于数据管理,需要能够对数据库架构进行更改并使它与应用程序版本保持一致的能力。

     

    1. SCM + CI工具:Gitlab和Gitlab-CI

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    Gitlab无疑是最伟大的开发运维周期工具,且它将在可预见的未来成为创新引领者。其核心功能提供了完美的GIT存储库管理工具,它基于网络的用户界面且易于使用。Gitlab可免费提供所需的一切,并且具有SaaS和On-Prem两种形式。

     

    市场上有很多SCM工具,但是没有一种工具像Gitlab那样将“持续集成”直接集成到存储库中的。将一个名为.gitlab-ci.yml的文件粘贴在代码库的根目录中,任何GIT事件都会根据定义的内容触发操作。

     

    其优点包括:

     

    · 成熟:该产品自2013年以来已投放市场,非常稳定,得到大力支持。

     

    · 开源:Gitlab的免费版本没有削减开发团队所需的核心功能。每个付费层都提供了附加功能,这些附加功能基于组织的规模和需求可以带来极高的价值。

     

    · 根深蒂固的CI:市场上其他工具不能将持续集成直接嵌入到SCM中,而Gitlab-CI工具可以。使用Docker构建进行临时构建的能力提供了无忧的构建作业,并且内置的报告使调试构建失败变得容易,无需复杂的集成和编排多个工具。

     

    · 无限集成 :Gitlab提供了每个核心开发运维类别中所需的轻松集成工具,这使开发人员和操作人员在任何环境中都可以使用真实的来源来获取与其应用程序相关的信息。

     

    其他工具在该领域也很流行,但是它们不如Gitlab。原因如下:

     

    · GitHub :对于小型和早期开发商,GitHub只是一个出色的SaaS源代码管理系统。但对于需要在网络中保留其IP的大型企业,GitHub的唯一选择是 .OVA虚拟机,不支持高可用性,从而难以维护on-prem,只能在服务器本身开始崩溃之前运行于中型组织机构。

     

    GitHub Actions或CI-as-Code的缺乏意味着始终需要带上自己的CI工具,并管理该集成,而且它比Gitlab定价要贵一些。

     

    · Jenkins:尽管Jenkins已成为持续集成工具的默认标准,但它始终缺少源代码控制元素。这意味着你得一直使用Jenkins和SCM工具,而GitLab同时提供这两种功能,这简直是不必要的复杂。

     

    · BitBucket/Bamboo:它需要两种工具才能完成Gitlab的一项工作,尽管BitBucket云端支持Gitlab-CI/GitHub Action功能,但没有一家公司会轻易采用它,用于本地的BitBucket服务器甚至不支持BitBucket管道!

     

    2.数据管理工具:FlywayDB

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    网络应用程序开发中最容易忽视数据库的自动化需求,通常是对应用程序的新版本部署数据库架构更改的事后思考,其模式更改通常会添加或重命名列或表。如果应用程序版本与架构版本不匹配,该应用程序可能会完全损坏。

     

    由于存在两个不同的系统,因此通过应用程序升级来协调数据库更改也比较困难,而FlyWayDB解决了所有这些问题。

     

    其主要优势在于:

     

    · 数据库版本控制:FlyWay允许简单地创建数据库版本,跟踪数据库迁移以及轻松地前滚或回滚架构更改,无需某些定制解决方案。

     

    · 二进制或内置:可以选择在应用程序启动时或二进制执行文件时运行Flyway。在代码中使用此工具,它能在启动时检查版本功能并进行适当的迁移,从而使数据库和应用程序版本保持同步。还可以临时运行命令行,为现有数据库提供灵活性,无需重建整个应用程序。

     

    该领域没有很多工具只有两个竞争对手可以看看:

     

    · LiquiBase :如果对该工具有更多经验的人,那么我非常乐意通过FlyWay将该工具标准化。

     

    · Flocker :这可能仅适用于容器化的应用程序——在容器中运行数据库非常困难,必须精心计划才能成功执行。建议将RDS之类的服务用于数据库,而不要尝试运行存储在容器中的关键数据。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    自动化测试工具

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    首先将自动化工具安装到测试金字塔中,进而开始对自动测试工具进行评估,测试有四个方面:

     

    · 单元:这是所有自动化测试的基础。就数量而言,与其他类型相比,单元测试应该是最多的。这些测试应由软件开发人员编写和运行,以确保应用程序的一部分(称为“单元”)符合其设计并按预期运行。

     

    · 组件:组件测试的主要目的是验证测试对象的输入/输出行为。这可以确保测试对象的功能按照所需的规范正常工作。

     

    · 集成 :在测试阶段,各个软件模块组合在一起并作为一个整体进行测试。

     

    · 端到端 :此层是一目了然的。研究从头到尾的整个应用程序流程,使其表现出预期的效果。

     

    1.集成测试工具: Cucumber

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    Cucumber将规范和测试文档合并为一个紧密结合的有效文档。由于它们是由Cucumber自动测试的,因此规格总是最新的。

     

    如果要开始构建网络自动化测试框架,并模拟网络应用程序上的用户行为,具有Java和Cucumber BDD的Selenium WebDriver是在项目中学习和实现Cucumber的好方法。

     

    其主要优势在于:

     

    · 基于行为驱动的开发:Cucumber用于BDD测试,它已成为一种测试框架(与传统基于测试驱动的开发相比)。

     

    · 有效的文档 :记录所做的事情总是很痛苦的。由于你的测试被定义为代码,因此Cucumber测试会自动生成文档进行匹配以确保它们始终保持同步。

     

    · 支持:有很多工具可供选择,但总需要维修者来帮帮忙。Cucumber拥有足够的资金和支撑结构在未来几年维护该工具。

     

    该领域有许多框架和特定技术的工具,但是只有Cucumber几乎是万能的解决方案。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    端对端测试工具

     

    进行端到端测试时,有两个重点领域需要关注:功能测试和负载测试。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    功能测试显然是在测试幻想发生且实际发生的事情。当单击SPA上的某些页面,填写表格并单击提交时,数据显示在数据库中,并且屏幕会显示成功的字样。

     

    还需要能够测试在相同场景下工作的x数量的用户是否可以正确处理。如果在这两个方面都没有进行测试,CI / CD管道中的差距将很大。

     

    1.端到端测试工具—功能:SoapUIPro

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    自默认SOAP网络服务开始,SoapUI进入API测试领域已有很长时间了。虽然不再构建新的SOAP服务,也没有更改该工具的名称,但这并不意味着它没有发展。

     

    SoapUI为构建后端网络服务的自动化功能测试提供了一种出色的结构。这些可以轻松地与持续集成工具结合,并作为CI/CD管道的一部分运行。

     

    其主要优势在于:

     

    · 广泛的文档:此工具已经存在了一段时间,因此有许多线上资源可帮助确定如何配置负载测试。

    · 易于使用:虽然有几种适用的API测试工具,但一个接口用于多种服务,会使测试构建变得简单。

     

    其竞争对手有Selenium:Selenium是该领域的出色工具,建议在构建和运行基于Java的应用程序时使用。但如果正在使用多种技术来处理一个完整的网络应用程序,使用非Java语言可能会有些笨拙。

     

    2.端到端测试工具—负载测试:LoadRunner

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    只有LoadRunner才能完成对应用程序各个方面的负载测试。虽然价格昂贵而且入门有些困难,但它是唯一可以执行测试的工具。作为一名技术架构师,笔者相信新代码将在极端压力下执行。

     

    其主要优势在于:

     

    · 广泛的文档:该工具也已经存在了一段时间,有丰富的在线资源。

    · 协议支持:从ODBC到AJAX,再到HTTPS以及可能在某处使用的其他隐晦协议,负载测试都支持该协议。要避免串接多个负载测试工具,这只会增加复杂性。

     

    同样,该领域并没有很多万能的工具,简单的解决方案是可以在任何环境中使用。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    部署工具

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    部署工具可能是应用程序开发中鲜为人知的方面。对于操作人员来说,如果不深入了解应用程序代码和功能,就很难使用部署工具。而对于开发人员来说,管理代码部署是一项新的职责,他们很少有使用许多部署工具的经验。

     

    1.构件管理工具: Nexus

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    Nexus工件存储库支持从Java到NPM再到Docker几乎所有主要的技术,可以使用这一工具来存储所有可部署的工件。

     

    通过使软件包更接近构建过程,代理远程软件包管理器的能力大大提高了CI配置的速度。这样做的另一个好处是可以全局查看跨多个软件项目用途的软件包,从而锁定不安全的开源软件包,这可能是代码中的攻击媒介。

     

    其主要优势在于:

     

    · 技术支持:该产品自2013年投放于市场上,一直都非常稳定,获得了良好支持。

    · 开源:免费版的Gitlab并没有削减开发团队所需的核心功能。每个付费层均提供附加功能,这些附加功能可带来最大价值,具体取决于组织的规模和需求。

     

    2.配置管理工具: Ansible

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    Ansible是这个领域的引领者,原因很简单:无状态。早期的现场配置管理工具着重于管理配置状态。如果它与所需的配置脱离同步,将自行修复。新的应用程序只有无状态组件。

     

    其主要优势在于:

     

    · 无状态:Ansible playbooks运行于操作机器上。笔者不在乎远程对象的状态,使用Packer之类的工具来构建可部署对象变得更加容易。

     

    · 开源:与CentOS一样,RedHat也维护Ansible。该企业及其高级支持人员可以帮助维护社区,并确保高质量、易于使用的模块。

     

    · 分子测试:由于配置管理与其他任何代码一样,如果不对其进行测试将无法开始操作。用于测试Ansible角色的分子框架可以无缝地工作,以确保代码配置的高质量,并遵循与应用程序代码相同的CI/CD管道。

     

    · YAML:与其他工具相比,YAML更容易让人头脑清醒。通常来说,配置管理对于采用开发运维的任何人都是新事物。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    其竞争对手有以下两个:

     

    · OpsCode Chef:笔者是以chef cookbook开发人员的身份开始开发运维生涯的。Ruby和Chef十分相近,但是它们根本无法解决目前无状态、云原生应用程序的问题。对于更传统的应用程序来说,这是一个不错的工具,但本文着眼于未来。

     

    · Puppet:Puppet从未发展过庞大的社区,尤其与Chef 和Ansible相比而言。它非常适合配置和裸机,但不支持网络应用程序类型的配置管理。

     

    3.部署工具: Terraform

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    Terraform解决了从网络组件到实际服务器图像的基础架构,即代码定义问题。自最初发布以来,它已经发展了一段时间,并建立了庞大的插件社区和支持社区,为可能遇到的几乎所有部署情况提供帮助。支持本地环境、云环境或其他任何类型环境的能力是首屈一指的。

     

    最后,与任何其他传统的编程语言一样,最新版本在HCL中提供了相同的逻辑功能和类,开发人员可以轻松获得和学习。

     

    其主要优势在于:

     

    · 不可知的云/环境:Terraform利用其代码与所有API和后端逻辑之间的接口,这些API和后端逻辑是基础架构提供商进行通信所需的。

     

    · 开源:免费工具也很难做到,其社区支持是一流的。

     

    其竞争对手有AWS Cloud Formation:即使仅在AWS云环境中工作,你也可能会向未知的方向继续前进,将技能和知识整合到一个平台中可能会有风险。另外,许多新AWS服务通常在用于CloudFormation之前作为Terraform模块提供。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    开发运维工具运行

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    任何开发项目的最终目标都是在生产中运行应用程序。在开发运维领域中,要确保我们对该环境中的任何潜在问题具有可见性,并且将人工干预降至最低。选择正确的运行时工具集对于实现发展至关重要。

     

    1.工具即服务: AWS

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    亚马逊一直是云计算领域的引领者。它们也不仅止步于此,还提供了许多新服务供开发人员利用,让人眼花缭乱。将任何技术和任何模式带到AWS上,它就可以被构建和运行。

     

    与在自己的数据中心中构建、管理和维护传统硬件相比,它们的成本极其合理。免费服务使任何人都有机会先进行尝试,再做出购买决定,这对尝试以正确的方式构建应用程序非常有用,而不是因为成本而不得不妥协。

     

    其主要优势在于:

     

    · 行业标准:如果有在AWS中构建应用程序的经验,那么基本上可以在任何地方找到工作。企业喜欢AWS,而创业公司喜欢AWS的低成本。

     

    · 免费服务:与其他所有内容相比,这是AWS拥有的极其正确的业务。先使用该服务并知道其工作原理,然后再决定将数千美元投入可能的巨大陷阱中。

     

    其竞争对手有以下几个:

     

    · Azure:自发布以来,Azure已经有所发展。但是,区分自身的需求导致其对服务进行了奇怪的命名,而这些服务让人难以了解——到底什么是“ 云端的文件系统”。尽管.NET代码在微软生态系统中效果更好,但在应用程序的各个方面只使用.NET是不可能的。

     

    · Heroku:除了在Heroku上运行个人项目之外,笔者不会运行任何其他项目。它的透明度不高,企业没有理由将其用作平台。这对演示博客中的内容非常有用,但是对实际应用程序不太友好。

     

    2.编制工具:OpenShift

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    你可能在应用程序堆栈中的某处使用了Docker或Container。无服务器的应用程序虽然不错,但不能适应所有架构模式。在没有业务流程平台的情况下运行容器根本行不通。

     

    从安全性和工具角度来看,Core Kubernetes带来了很多需求。OpenShift是唯一的Kubernetes平台,它具有Source2Image构建,pod中的部署自动化,甚至有可追溯性和监视功能。它可以在本地,云中或同时在两者中运行。

     

    其主要优势在于:

     

    · 内置安全性:管理K8安全性几乎需要博士学位。默认情况下,OpenShift所采用的安全机制减少了开发人员的工作量,并为他们的应用程序提供了更安全的平台。

     

    · 多合一解决方案:与默认不包含负载平衡工具的基础型K8不同,OpenShift拥有所有功能。可以用它来托管Container,构建Container,运行CI/CD工具,编排外部流程,管理机密等等。尽管GUI仍然需要做更多的工作,但API优先的方法意味着一切都可以进行编写,并且与K8的其他GUI不同,它使学习Kubernetes基础知识变得更加简单,无需以获得该学位为首要任务!

     

    其主要竞争对手是Docker Swarm:Dockerswarm试图删除很多东西来简化K8。这对于较小的应用程序非常有用,但对于企业应用程序根本不起作用。此外,AWS ECS之类的服务采用了类似的方法,却使正在交互的其他服务(Lambda、IAM等)使用起来更简单。

     

    3.监控工具: NewRelic

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    New Relic的早期发行成功地实现了APM监控。现在,它是一套完整的监控工具,可以监控服务器性能,容器性能,数据库性能,以及进行最终用户体验监控,当然还有APM监控。

     

    其主要优势在于:

     

    · 易于使用:在担任系统工程师的时候,我曾使用过许多监控工具,但都不如NewRelic这样易于使用。这是一种软件服务(SaaS),无需设置服务器组件,十分便捷。

     

    · 端到端可见性:其他工具试图监控应用程序的某个特定方面。无论是CPU利用率还是网络流量,这些都可以协同工作,使应用程序正常运行。NewRelic使你能够整合所有数据,真实了解正在发生的事情。

     

    其竞争对手有以下几个:

     

    · Zabbix:Zabbix是笔者第一个最喜欢的监控系统,但是它不能发展到原生云版本,而且APM空间使它发展滞后了。不过,它仍然可以很好地监控传统的服务器基础结构。

     

    · DataDog:该工具过多地侧重于管理生产应用程序的过程,而忽略代码本身。在有开发人员参与生产的开发运维团队中,无需依靠繁琐的工具来提供顶级的支持。

     

    4.记录工具: Splunk

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    他们长期以来一直是日志聚合的领跑者,并且会继续努力做到最好。借助本地和SaaS产品,可以在任何地方使用它。它的主要缺点是运行的成本很高。

     

    其主要优势在于:

     

    · 行业标准:企业喜欢使用Splunk,他们也有资金来支付。虽然初创企业可能难以承担其成本,但许多概念和技能可以转移到开源替代方案中。

     

    · 可支持性:它具有许多默认设置和即用型功能,因此不必花费大量时间阅读文档并尝试使用一些没有明确说明的内容。

     

    其主要竞争对手是ELKStack:ElasticSearch、LogStash和Kibana似乎很受欢迎,因为它们不收取使用费用,但随着日志集的增多以及工具中越来越多的应用程序,确实会变得更加难以维护。与使用Splunk相比,在构建任何类型的仪表板之前,你会花更多的时间来设置工具。

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    协作开发运维工具

     

    开发运维首先是组织内部的文化变革。虽然购买工具不会一夜之间改变文化,但无疑可以帮助培养与同事合作的新方式。

     

    1.问题跟踪工具: Jira

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

     

    尽管该领域的竞争日益激烈,但Jira仍然保持领先地位。但Jira内置的强大灵活性使开发团队和运营团队可以管理其项目工作和冲刺任务,使用敏捷术语的内置标准有助于缓解从传统工作方法到更加精益的流程的文化转变。

     

    其主要优势在于:

     

    · 行业标准:与许多工具一样,Jira基本在各地都有使用。小型团队可以使用便宜的许可证并获得所需的一切,而企业能为任何人承担许可证。

     

    · 集成:在该领域处于领先地位并且快速增长意味着第三方工具会选择首先构建本机集成,而它们只会增加工具的价值,Jira就是这种情况。可以与现有列表中的所有其他工具集成,几乎不需要进行定制。

     

    其竞争对手有以下几个:

     

    · Trello:Trello成为免费使用的Kanban工具而迅速流行。但当从数十个问题扩展到数千个问题,Trello会变得难以控制、搜索和进行报告。

     

    · Pivotal Tracker:在为初创公司工作时,笔者非常喜欢这个工具。但他们更多地关注产品管理,而不是技术任务。尽管通过Jira进行产品管理比较困难,但是仍然可以完成此过程,无需获取完全独立的工具。

     

    2.聊天运营工具:MatterMost

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    这可能是2020年清单上最大的惊喜。MatterMost使用了以前最好的工具,引入了本地部署,获得了广泛的欢迎。对于企业来说是巨大的好处,因为它可以控制数据,还有助于与本地工具集成。

     

    其主要优势在于:

     

    · 开源:MatterMost的开源版本非常适合小型或大型团队。不同的是,在Slack的免费服务中如果丢失历史记录,运行服务器意味着找回数据。

     

    · 集成:由于该API几乎100%基于Slack API,所以几乎所有Slacks集成都可以直接与MatterMost一起使用。

     

    其竞争对手主要有以下两个:

     

    · Slack:Slack真的很不错,但它们已经发展迅猛,需要开始盈利。他们业务的付费阶段即将到来,Slack曾经免费提供的许多功能开始需要付费,包括聊天记录。

     

    · 微软团队:尝试将微软产品与非微软本地产品集成的话,祝你好运。

     

    3.文档工具:Confluence

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    图源:unsplash

     

    无论使用哪种工具,都很难创建和维护高质量的技术文档。尽管最近有许多SaaS文档工具进入市场,但将关键应用程序的敏感技术文档存储给第三方这一点让人难以接受。需要将数据和文档保留在本地,这就是Confluence的作用。

     

    其主要优势在于:

     

    · 易于管理:启动大多数自托管工具可能会有些复杂,而且大规模地对其运行和维护需要一些特定的知识。开箱即用的Confluence服务器可以适用于10个或10000个用户。

     

    · 插件:尽管创建具有默认融合功能的、美观且易于浏览的文档已经很不错了,但是拥有用于几乎所有内容的插件功能激发了Wiki的潜力。

     

    其竞争对手有以下几个:

     

    · Read the docs:非常适合开源公共代码,但是从不考虑存储关键的应用程序知识。

     

    · MarkDown:虽然非常适合于记录有关代码的事情,但很难将体系结构,过程或其他类型的文档直接放入MarkDown格式中。

     

    · Jekyll:在记录技术知识时,希望构建一个新的静态站点,以便在每次更改时进行部署。简单的Confluence版本管理系统使内部文档更加易于处理。

     

    市场上有数百种开发运维工具,浏览筛选应该使用的工具以及它们的执行时间是大势所趋。遵循本指南,为完整的CI/CD管道选择开发运维工具堆栈吧。

     

    关键是要记住,将一切事物自动化!

     

    2020年开发运维工具清单:选择开发运维工具堆栈吧

    一起分享AI学习与发展的干货
    欢迎关注全平台AI垂类自媒体 “读芯术”

    (添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

    展开全文
  • 20种开发运维工具

    2019-11-05 14:42:42
    采用开发运维工具的 成功的流程既需要公司里面的文化变化,又需要实现这种变化的新工具。这意味着,在整个开发生命周期涉及到一大批新旧工具,从规划、编码、测试、发布到监控。下面是你应该考虑添加到工具箱中的20...

    采用开发运维工具的 成功的流程既需要公司里面的文化变化,又需要实现这种变化的新工具。这意味着,在整个开发生命周期涉及到一大批新旧工具,从规划、编码、测试、发布到监控。下面是你应该考虑添加到工具箱中的20种开发运维工具,但绝不是全部。

    1 Jira Software
    来自Altassian的JIRA软件是一款流行的软件开发工具,用于开发运维的一个关键部分:敏捷开发,处理项目中的多个步骤。这款开发运维工具 用于规划和跟踪工作,并确定优先级,处理产品发布,产品交付后监控性能。它与本文介绍的其他工具整合起来,提供基于云的服务这种形式。
    相关链接:https://www.atlassian.com/software/jira

    2 GIT
    Git是一种免费的开源分布式版本控制系统,既可以处理单个的小项目,也可以处理庞大的企业项目。它极其轻便,专注于速度和处理分布式项目。它脱胎于Linux内核开发,该公司的GitHub网站对开源项目来说是一个非常流行的软件库。
    相关链接:https://git-scm.com/

    3 Visual Studio
    有许多开发运维工具、实际上是软件开发平台,不过论全面性,没有一个比得上微软的Visual Studio,它支持多种语言,包括Python(一种流行的开发运维语言),支持针对Windows、安卓和iOS平台的开发,并支持基于云的协作开发。
    相关链接:https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx

    4 Jenkins
    Jenkins是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提高你的工作效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大量的测试和部署技术。
    相关链接:https://jenkins.io/index.html

    5 Slack
    Slack是一种基于云的团队协作开发运维工具,它最初是游戏开发公司使用的一种内部工具,而如今本身已是一种商业产品。它主要基于一种类似互联网 中继聊天(IRC)的实时聊天技术,但是有更多的控件、支持直接聊天、拖放式文件共享,并与开发工具整合,那样它们都可以从Slack界面来运行。
    相关链接:https://slack.com/

    6 IBM Security AppScan
    IBM Security AppScan用于在开发过程中测试Web和移动应用程序的安全性,不仅改善应用程序的安全性,还可检查应用程序,确保合规。该产品可了解应用程序的行为,并开发一个程序,旨在测试所有功能,查找常见安全漏洞和应用程序特有的安全漏洞。
    相关链接:http://www-03.ibm.com/software/products/en/appscan

    7 SolarWinds
    SolarWinds的软件用于管理大小企业网络上的网络流量。网络设备监控器可监控你网络上的任何一个设备,查找各种提示或错误。该公司专注于错误和性能管理产品、配置和合规产品以及网络管理工具。它还支持监控多租户甲骨文数据库的性能。

    相关链接:http://www.solarwinds.com

    8 亚马逊网络服务(AWS)
    AWS堪称云计算领域的巨无霸,它为开发人员提供了许多选择,比如计算、存储、分发、数据库和网络。其分析服务面向性能管理、应用程序服务、开发人员和管理工具,既有云方案又有混合方案。寻求开发运维工具的那些人无疑会在AWS环境中找到所需工具。
    相关链接:https://aws.amazon.com/cn/?tag=vig-20

    9 Pivotal
    作为知名的平台即服务(PaaS)提供商之一,Pivotal建立在VMware Cloud Foundry上,可以在本地运行,也可以在云端运行。应用程序可以扩展到几百个实例,它随带诸多服务,比如负载均衡、自动化健康管理、日志及审计以及自动化配置。
    相关链接:http://pivotal.io

    10 Docker
    Docker是容器市场的领导者。容器被认为是比较小巧、比较轻便的虚拟机,开销却低得多,那样多个容器可以在一个Linux实例里面运行。它可以封装任何Linux服务器上的应用程序及依赖项,从虚拟系统到基于云的实例,不一而足。
    相关链接:https://www.docker.com

    11 Octopus Deploy
    大多数云和开源产品支持Linux,但Octopus是一款微软产品,支持.Net应用程序的部署。它便于将ASP.NET应用程序和Windows Services自动发布到测试环境、试运行环境和生产环境,无论它们是在云端还是在本地。
    相关链接:https://www.docker.com

    12 Electric Cloud
    作为开发运维优化软件领域的开拓者之一,这家公司提供简化将软件更新分发给最终用户的开发运维版本自动化(DORA)解决方案。它使新版本的构建和测试实现了自动化,可处理多层应用程序的配置、构建和发布,并且标准化和协调新版本发布。
    相关链接:http://electric-cloud.com

    13 Puppet
    作为另一种版本管理器,Puppet Enterprise专门管理基础设施即代码(IAC),在这种类型的IT基础设施配置过程中,系统用代码而不是脚本流程来自动构建、管理和配置。由于它是代码,整个过程易于重复。Puppet有助于更容易控制版本、自动化测试和持续交付,可以更快速地响应问题或错误。
    相关链接:https://puppet.com

    14 Chef
    这是另一种流行的IAC配置管理工具,用户编写“recipe”,描述了Chef如何配置及管理服务器应用程序和实用程序。这些recipe为 Hadoop或MySQL之类的应用程序描述了应处于特定状态的一系列资源,比如依赖项、程序包、文件和服务。Chef处理应用程序的所有配置工作,整个 过程完全实现自动化。
    相关链接:https://www.chef.io/solutions/devops/

    15 Ansible
    不像Chef和Puppet,Ansible是一种配置和管理工具,面向客户端的软件部署和配置,支持Unix、Linux和Windows。它使 用JSON和YAML,而不是IAC,根本不需要节点代理就可以安装。它可以通过OpenStack在内部系统上使用,也可以在亚马逊EC2上使用。
    相关链接:https://www.ansible.com

    16 New Relic
    New Relic的技术是一种基于SaaS的监控系统,可以实时监控面向iOS和安卓的Web及移动应用程序,无论它们在本地运行、在云端运行,还是在混合环境 下运行。它可以监控应用程序性能,帮助调整和优化应用程序,它支持用Ruby、Java、.NET、Python、PHP和Node.js编写的Web应用程序。
    相关链接:https://newrelic.com

    17 Dynatrace
    作为另一款应用程序监控产品,Dynatrace可实时检测并诊断应用程序中的性能问题,在使用过程中深入钻研问题代码,比如内存泄漏或坏的数据库查询。它可监控所有的应用程序事务,发现问题后,可以为质量保证和测试小组自动生成错误单。
    相关链接:http://www.dynatrace.com/en/

    18 Project Atomic
    作为Docker的某种竞争对手,Project Atomic结合了简约的Linux操作系统版本(可以实现原子更新,并具有回滚功能)、Docker容器格式和运行时环境,以及用于跨可扩展的服务器集群来编排容器的Kubernetes。
    相关链接:http://www.projectatomic.io

    19 ServiceNow
    ServiceNow起初是用于自动化处理IT支持请求的一项服务,现已变成一家年收入10亿美元的公司,成为了Salesforce的潜在竞争对 手。ServiceNow销售的云软件可自动化处理各种流程,比如为法律合同收集批文。它的开发运维方面专注于ServiceNow服务自动化平台,可以 从头开始或使用现有的内容,构建和部署应用程序,共享内容,加快应用程序的开发。App Creator工具让对编程一窍不通的业务人员也可以开发自助式程序。
    相关链接:http://www.servicenow.com

    20 Splunk
    Splunk最贴切的描述就是堪称日志文件领域的谷歌。服务器会生成大量的日志数据,但是谁想要通读整个数据中心的日志文件来查明服务器或软件的状态?Splunk使用自己的搜索算法,可以寻找异常问题,比如应用程序运行慢、服务器运行慢,以及性能下降或负载加重的时候。

    展开全文
  • 开发运维工具介绍
    开发运维工具介绍
     
    

    开源分布式监控工具:  
    zabbix 

    集群负载均衡工具:  
    haproxy 

    数据库:  
    mariadb(mysql分支延续),mysql,oracle,db2,dbf,sqlserver,infomix 

    mq:  
    activemq,rocketmq,rabbitmq,notify 

    分布式一致性服务:  
    zookeeper(服务注册中心) 

    rpc:  
    dubbo,sofa,webservice,hessian 

    通信框架:  
    netty,mina 

    编辑:  
    vi,vim,emacs,ultraedit,editplus,notepad++ 

    linux:  
    centos,redhat,ubuntu,AIX,Solaris 

    缓存: redis,memcache,tair 

    任务调度:  
    quartz,spring schedule,timer timerTask 

    同步方案:  
    rsync 

    反向代理服务器:  
    nginx 

    linux远程工具:  
    xshell,xmanager,secureCRT,flashftp,winscp 

    linux远程工具:  
    xshell,xmanager,secureCRT,flashftp,winscp 

    mysql数据库管理工具:  
    sqlyog,DBVisual,navicat 

    java开发IDE:  
    Eclipse,Myeclipse 

    编译打包工具:  
    Maven,Ant 

    数据库设计工具:  
    PowerDesigner 

    磁盘内容快速搜索工具:  
    Everything 

    办公软件:  
    Office 

    画图工具:  
    SmartDraw,viso 

    HTTP请求模拟抓包工具:  
    Fiddler,HttpRequester,Postman,Wireshark 

    JAVA反编译工具:  
    jd-jui 

    json格式化查看工具:  
    jsonView 

    oracle数据库管理工具:  
    PL/SQL 

    邮件管理工具:  
    Foxmail 

    HTML5编辑工具:  
    HBuilder 
    展开全文
  • 运维工具让你的开发运营更轻运维工具让你的开发运营更轻
  • “在2019年的今天,我们想要一个易用的运维工具!” 开源代码地址: https://github.com/WeBankPartners/we-cmdb 一、背景 WeCMDB作为WeCube开源计划的一部分,已经开源了一段时间。开源之后,有许多用户给了我们很...

    “在2019年的今天,我们想要一个易用的运维工具!”

    开源代码地址: https://github.com/WeBankPartners/we-cmdb

    一、背景

    WeCMDB作为WeCube开源计划的一部分,已经开源了一段时间。开源之后,有许多用户给了我们很多有用的意见及建议,帮助我们从不同的视角审视WeCMDB。
    这也是我们需要开源的原因之一,听取各方的意见相比于闭门造车可以少走更多的弯路。

    二、声音

    在各种不同的声音中,非常常见的是关于易用性的要求。举些简单的例子说明:

    1. 比如有用户提出:“这个页面有个操作是双击事件触发的,可是新手并不知道需要双击,不够直观”。对于这个问题,我们将双击改为了单击事件,将之前的单击事件改为了鼠标悬停事件。
    2. 再比如,有用户希望本地运行我们的CMDB,但是觉得搭建环境的步骤过于繁琐。于是我们做了些工作,使用户在下载代码后可以开箱即用

    三、现在

    我们已经做了一些可以让用户更加易用的功能。比如:

    • 填充规则:
      如下图一,我们可以在 CMDB模型管理 页面配置CI属性,为CI属性 唯一名称 配置自动填充规则。右下角红框表示该属性的值由三部分组成:该子系统设计所属的系统设计的唯一名称连接符:短横线“-”该子系统的另一个CI属性:编码
      在图二中,我们可以在 CI数据管理 页面选择子系统设计这个CI后可以为其增加一条数据,选择了所属的 系统设计:EDP 并且录入 编码:CLIENT 之后,可以发现 唯一名称 已经由 填充规则 自动生成为 EDP-CLIENT 。而在之后编辑 系统设计编码 ,子系统设计的 唯一名称 都会自动根据前者的值进行更新。
       CMDB模型管理
      CI数据管理
      我们都知道,每减少一次用户的输入,就可以减少一个发生错误的机会。所以,CMDB的准确性其实不开易用性。

    四、未来

    我们还要许多的路要走,在易用性上面我们做得还远远不够。只要有声音存在,我们就还有改进的空间。
    比如,IP及网段的录入,目前一条一条的录入是比较麻烦的。在下一个版本,我们将会增加批量录入IP地址的功能,用户只要输入网关及掩码就能批量生产IP地址。并且能图形化地展示数据,使用户更为直观地查看网段及IP直接的关系。

    五、最后

    我们需要你的声音,不管是建议还是意见,即使是抱怨和批评,无论大小,对我们来说都是非常宝贵的。
    你可以在GitHub上给我们提issue,或是关注下方WeCube开源项目的公众号,在上面给我们留言。
    WeCube公众号 二维码

    你需要的是倾诉,而我们一直在聆听!

    相关阅读推荐:
    《从大教堂到集市》(作者:嘟嘟小
    《WeCMDB解读系列一 : 初识WeCMDB》(作者:小屁孩编程
    《关于WeCube开源项目的个人理解》(作者:zgyhero123
    《WeCube插件开发,你怎么看?》(作者:homie Xie

    展开全文
  • 这里我给大家介绍轻量级自动化运维工具Fabric,Fabric是基于Python语言开发的,是开发同事的最爱。为了方便自动化运维,经常会将Fabric部署在跳板机上。之所以部署跳板机是基于几点考虑的: 基于安全的考虑,只有...
  • PHP一般情况下是无法直接开发linux运维的,市面上的linux运维工具大多使用python语言开发,如宝塔面板。 虽然PHP也有system,exec等执行系统命令的方法,但这些方法一般是在PHP的用户下执行,权限非常有限,无法达到...
  • 自动化运维工具

    2018-07-11 14:55:05
    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
  • 一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求 特色功能: 云端同步 免费海外服务器远程桌面加速 ssh加速 本地化命令输入框 支持自动补全 命令历史 自定义命令...
  • 这篇文章是为了帮助运维人员更好使用这个运维工具而写的。 第一步:配置要部署的项目的名称和编码 这个操作需要在软件发布包里面的 data 目录下面的 init_data 子目录下面的 project_management.xlsx: 修改方法...
  • 腾讯大讲堂30-运维工具让你的开发运营更轻松
  • Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
  • CheungSSH比Ansible更优秀的Linux SSH批量管理服务器 执行命令上传下载自动化运维工具 ---->http://blog.chinaunix.net/uid-29295703-id-4663051.html  
  • ansible是一个自动化运维工具,基于python开发,实现了批量系统配置、批量程序部署、批量命令执行等功能; 2.安装 只需要在客户端机器上安装ansible命令,无需每台服务器都安装。 安装命令:yum install -y ansible ...
  • Ansible 简介Ansible 是新出现的自动化运维工具,基于 Python 开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible 是基于...
  • 运维人员必须熟悉的运维工具汇总

    万次阅读 2019-03-21 17:51:01
    运维人员必须熟悉的运维工具汇总 操作系统:Centos,※,Ubuntu,Redhat※,,suse,Freebsd 网站服务:nginx※,,apache※,,lighttpd,php※,,tomcat※,,resin※, 数据 库:MySQL※,,MariaDB,PostgreSQL,Mysql-proxy DB...
  • ansible是新出现的自动化运维工具,它是基于Python开发的。ansible基于paramiko(框架)开发,并基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块。 ansible只是提供一种框架,不...
  • 校园网自动化运维工具部署.pdf
  • 自动化运维工具——ansible

    千次阅读 2020-03-14 18:59:44
    Ansible是新出现的自动化运维工具,它基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 它是一个配置管理系统,我们只需要通过...
  • 背景 •任何场景内某宏观对象都可以...•然而,在制造商端配置系统的运维却不够智能,其中的开发测试等工具链只是基础软件!!! •如何设计实现一套高智能的运维软件去串联组合配置零件和工具链,实现部门、产品...
  • OpenLMI是一个Linux平台的服务配置管理和应用部署工具,功能类似于目前业界的配置管理工具Chef,Puppet,Saltstack。当你去管理10台服务器,你肯定会说小意思。没有任何压力。当你去管理50台服务器,你可能也会说没问...
  • 工具介绍:企业运维便捷工具顾名思义,是一款为企业网络运行维护工程师、网管等人员快速维护客户机以及应用服务器等环境的优化操作程序,软件基于CMD命令字符创建,可对电脑主页、计算机名、网络IP、网管、DNS等信息...
  • MySQL DBA最佳运维工具 percona toolkit 使用手册, 中文资料,值得一读。
  • 随着Linux的运维的飞速发展,目前市场上出现了很多自动化运维工具,Ansible就是其中一款非常出色的自动化运维工具,ansible是基于Python开发的以及基于SSH远程管理,Ansible集合了众多运维工具(puppet、cfengine、...
  • 摘要:HBase自带许多运维工具,为用户提供管理、分析、修复和调试功能。本文将列举一些常用HBase工具,开发人员和运维人员可以参考本文内容,利用这些工具对HBase进行日常管理和运维。 HBase组件介绍 HBase作为当前...
  • powershell studio编写的自动化运维工具,免客户端,支持大批量windows和Linux服务器管理。在windows域环境下可以非常容易实现自动化运维工作,测试过对600 的服务器做zabbix agent更新,效果非常好。
  • 运维工具整理

    千次阅读 2014-10-20 23:24:03
    磁盘检测工具 smartctl
  • 做了多年系统运维,觉得ansible是个...ansible是基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,061
精华内容 50,424
关键字:

运维工具开发