公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

什么是 DevOps?

DevOps的概念由开发和运维所组成,是包括了软件开发管理和团队管理的集合体。这个单词2009年被首次提出来,并自此成为IT领域的流行语。

DevOps对每个使用“DevOps”这个词的人来讲,有不同的意义,它并不只是一个标准,一个软件或者是流程,它更像是一种文化。

Gartner这样来定义DevOps:

DevOps代表了一种新的IT文化,它专注于在面向系统的环境中采用敏捷、精益实践(lean practices)的方法,实现快速IT服务交付。DevOps强调人(文化),并寻求加强开发和运维团队之间的合作。DevOps的实施依仗于技术——特别是那些能从全周期的角度增强可编程性和动态基础架构管理的自动化工具。

从上面的定义中可以看出,DevOps是全周期软件开发(SDLC)的多重方法的集合,但它最核心的能力是利用技术和软件来理顺软件开发过程。根据凯捷的一项调查,如果正确的贯彻了DevOps的指导思想——合作,并采用了适宜的工具加以辅助,你的业务系统的部署频率可以提高30倍,而所需时间比传统工具缩短8000倍。

正确的工具

此列表旨在尽可能全面的向DevOps的初学者介绍成熟的工具,同时这些工具也是新近发布到市场的工具,无论怎样总有一款工具适合你和你的业务需要。对于那些已经开始实施DevOps的企业个人,我们也希望对你的企业发展有所帮助。

对于如此之多的工具,如何选择并没有对错之分。也没有任何单一的工具能够满足你的所有的需求,或同时被开发和运维团队所使用。那么在选择工具之前我们先把需要考虑的问题做一下分解:

  • 规划和协作:在你开始全周期软件开发之前,你需要有一个统一的想法——你的开发团队会用到哪些工具。有一些DevOps工具可以帮助你完成关键的第一步。

  • 构建:这里,你需要创建统一的预配置环境。至少你需要这些工具在电脑上能正常的跑起来。

  • 自动化:自动化已经迅速成为DevOps默认能带来的优势之一,自动化始终会比手动方法大幅提生产效率。

  • 持续集成:该工具能提供持续的,及时的回馈,但每种工具的部署带来的结果是不一样的,你为你的任务选择了正确工具吗?

  • 部署:部署工作需要可预测、平稳、可靠,风险最小,自动化也将在此过程中发挥重大作用。

基于这些问题,我希望后面介绍的一系列工具能够在你将业务过渡到DevOps时提供帮助。

工具目录

基础架构即代码(Infrastructure As Code)

1、AWS CloudFormation

如果你计划,或者已经在AWS上进行你的工作,那么AWS的CloudFormation是你的必选工具。CloudFormation允许你对AWS基础设施进行建模,并快速轻松地调配所有AWS资源。所有这一切都在JSON或YAML模板文件中完成,该服务附带了各种自动化功能,可确保您的部署具有可预测、可靠并且可管理。

链接:https://aws.amazon.com/cloudformation/

2、Azure Resource Manager

Azure资源管理器(ARM)是Microsoft实现Infrastructure As Code的工具。借助JSON文件中描述的ARM模板,Azure资源管理器将预配基础架构、处理依赖关系,并通过单个模板声明多个资源。

链接:https://azure.microsoft.com/en-us/features/resource-manager/

3、Google Cloud Deployment Manager

和上述工具相似, Google Cloud Deployment Manager是Google实现Infrastructure As Code的工具,此工具使用YAML作为配置文件,使用JINJA2或PYTHON作为模板。他与众不同的功能是同步部署和“预览”,允许你在提交变更之前获得预览。

链接:https://cloud.google.com/deployment-manager/

4、Terraform

Terraform是HashiCorp的产品,Vault和Nomad也是这家公司的产品。Terraform和之前提到的工具不同,它并不局限于某一个云环境。这带来了一个好处,即可以处理复杂分布式应用程序,又不会被单一平台绑定。和谷歌云部署管理器一样,Terraform也有预览功能。

链接:https://www.terraform.io/

5、Chef

Chef是忠爱CI/CD人士的理想选择。Chef的核心是自定义recipes,templates和cookbooks以及现成的模板集合。Cookbooks可以在基础架构快速缩放的情况下进行持续的配置。所有这些都被打包在基于Ruby开发的DSL中。

链接:https://www.chef.io/products/chef-infra/

6、Ansible

在需要自动完成重复的IT任务(如配置管理、应用程序部署和服务内部业务流程)时,Ansible是你的朋友。因为不需要自定义安全架构(custom security infrastructure)和代理,Ansible易于在YAML上部署和运行,允许你以接近基本英文文本的方式定义自动化工作。

链接:https://www.ansible.com/

7、Puppet

Puppet也许是本列表中最老的一款IAC工具,同时也是最经验的成熟工具,其背后拥有成熟的社区。Puppet与众不同的是它对IAC的设置和自动化的方法。如果使用Puppet,你需要定义declarative state,Puppet 将找出如何最好地实现它。

链接:https://puppet.com/

持续集成/交付工具

8、CircleCL

CircleCI是提供用于全面部署流程的软件工具,它为集成和交付提供了最先进的平台,通过构建和测试自动化在全球发布代码。

链接:https://circleci.com/

9、Harness

作为最先提供持续部署即服务的平台之一,Harness帮助部署团队自动化其整个部署流程,并在部署失败时提供保障。

链接:https://harness.io/

10、Buddy

Buddy是一种智能CI/CD工具,借助简单的UI/UX,可大大降低DevOps的入门门槛。

链接:https://buddy.works/

自动部署

11、Probot

Probot被GitHub优化,它为App创建提供了bot框架。Probot App易于编写、部署和共享。

链接:https://probot.github.io/

12、AWS OpsWorks

AWS Opworks适合那些在AWS中使用Chef和Puppet的企业。借助AWS Opworks,你可以轻松自动化服务器的部署、配置和管理。

链接:https://aws.amazon.com/opsworks/

13、Relay

当前,事件驱动并不是一个新概念了,Relay是为DevOps专门设计的。Relay具有大量可开箱即用的集成和工作流,对于低价值的自动化任务至关重要,因此您的团队可以专注于更重要的事情。

链接:https://relay.sh/

14、CA Automic Workload Automation

以下是如何用CA Automic进行工作自动化的全面指南。

链接:https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/12.2/AWA%20Guides/help.htm#_Common/Welcome/CommonWelcomeImageMaps.html

可用性测试

15、CloudEndure

提供实时的,数据块级别的复制,可以为数据库和应用提供更好的数据完整性,毫秒级RPO(Recovery Point Objective)。复制的算法不会占用系统资源,也不需要重启系统。

链接:https://www.cloudendure.com/

数据库和大数据

16、MySQL

MySQL数据库的使用相对简单,它用于存储大量信息,它稳定、可靠且功能强大,具有高级功能。它已被Facebook、PayPal和谷歌等行业巨头使用。

链接:https://www.mysql.com/

17、MariaDB

MariaDB是由MySQL的开发人员开发的开源数据库,目前已知的用户包括Wikipedia,WordPress.com和Google。对于那些对速度,可扩展性,健壮性有要求的服务来说,这是一个不错的选择。

链接:https://mariadb.org/

18、Liquibase

Liquibase是用于处理更改和部署管理的数据库的开源工具。它还可帮助团队跟踪数据库版本控制、数据库架构部署和逻辑更改。

链接:https://www.liquibase.org/

19、Datadog

Datadog允许你收集所有使程序速度慢的未使用的元数据,例如数据库查询速度慢、抛出异常、非托管错误日志和缓存缺失以及上游服务的增长。使用Datadog,所有这些事件、服务状态和指标都被收集到同一个位置,并以方便的可视化图形来表示。

链接:https://www.datadoghq.com/

20、DigitalOcean

DigitalOcean是一家快速增长的云托管提供商。在几秒钟内,它可以部署基于Linux的虚拟机(“Droplet”)。DigitalOcean提供具有高可靠性,正常运行时间百分比为99.99%,平均负载时间为219ms。

链接:https://www.digitalocean.com/

21、M3

M3是Uber的产品。它拥有众多的扩展选项,自从Uber意识到现有的开源软件不能满足其需求时,已经使用了很多年。M3是从零开始设计的,旨在最大限度地提高metrics pipeline的各个方面,同时最大限度地减少其硬件资源占用。

链接:https://eng.uber.com/m3/

22、Looker

Looker,现在是谷歌云的一部分,它是一个高度适应性的商业智能和数据分析平台,与Redshift,Snowflake,BigQuery以及50多种SQL语言无缝集成。使用Looker,你将获得前所未有的数据洞察。

链接:https://looker.com/

23、Apache Hadoop

Hadoop是专为易于扩展而设计的,其框架允许将大型数据集从单个节点扩展到数千个节点。它还拥有自己的库,旨在实现本地计算和存储。

链接:https://hadoop.apache.org/

24、HPCC Systems

HPCC Systems利用数据行业20年的经验,为您带来免费且开源的端到端数据湖平台。

链接:https://hpccsystems.com/

25、BigQuery

BigQuery是Google的产品,它将无服务、经济高效且可扩展的数据仓库带给普罗大众。

链接:https://cloud.google.com/bigquery

26、Apache Cassandra

Cassandra是处理重要数据的工具,凭借久经考验的容错性和线性可扩展性,Cassandra确保你的数据库始终保持高水平的可扩展性和可用性。

链接:https://cassandra.apache.org/

27、MongoDB

MongoDB采用独特的方法将数据存储在类似JSON格式的文档中,从而创造了一个极其灵活、可扩展的动态系统。MongoDB认为这是存储数据最理想的方法。亲自去了解一下,看看你是否同意这个说法。

链接:https://www.mongodb.com/

28、Qlik

借助Qlik的QlikSense和QlikView,你的原始数据将具有高度可操作性,Qlik利用其端到端的数据集成和分析方法,最大限度地转化您的数据为业务增长提供洞察。

链接:https://www.qlik.com/us/

29、Sisense

Sisense是构建和部署分析App背后的驱动力。Sisense数据和分析平台提供了一个敏捷的商业智能系统,旨在将简单数据转换为强大的分析工具。

链接:https://www.sisense.com/

30、Talend

Talend首次进入公众视野在2005年,它是第一家数据集成软件的开源商业软件供应商,目前仍然是该领域的领导者。

链接:https://www.talend.com/

监控

31、Sensu

Sensu提供全面的从单一服务器到云的监控。Sensu与你在使用的平台集成,并与Sensu SSO一起提供强大的安全保证。

链接:https://sensu.io/

32、SolarWinds服务器和应用监控

Solarwinds具有服务器和应用程序监控,是一款令人印象深刻的全能工具。

链接:https://www.solarwinds.com/server-application-monitor

测试

33、Vegeta

可适应的HTTP负载测试工具,可用以命令行或库的方式运行。

链接:https://github.com/tsenart/vegeta

34、QuerySurge

QuerySurge的主要吸引力是自动化实现数据校验和测试。显著的特点包括支持跨平台、内置集成大多数数据集成方案和BI测试。

链接:https://www.querysurge.com/

安全

35、Kryption

Krypton是一个有U2F验证器的移动App,具有反网络钓鱼的加密架构。所有数据加密密钥都存储在本地设备存储中,以避免不需要的外部访问。

链接:https://krypt.co/

36、Mysterium.network

Mysterium是一个由节点组成的网络,为终端用户提供提供隐私和安全,它的镜像专为嵌入式系统创建,比如树莓派。

链接:https://mysterium.network/

37、Okta

Okta提供身份管理服务。借助Okta,你可以统一管理所有员工访问,Okta功能包括单点登录(SSO)、AD和LDAP集成、多重身份验证(MFA)。所有这些都汇集在Okta集成网络中,该网络提供了多种集成方案。

链接:https://www.okta.com/

38、Palo Alto Networks

这是一家提供云安全服务的公司。服务包括分支机构移动用户的访问安全、数据保护、治理、合规性、安全监控、合规性验证和云存储安全性。

链接:https://www.paloaltonetworks.com/cloud-security

39、Small step SSH

Smallstep提供了单点登录SSH(SSO SSH)功能,这是一个易于使用的系统,可避免你每天获取、转移和轮换SSH密钥。所有SSH和sudo访问都可以通过单一管理面板进行管理。

链接:https://smallstep.com/sso-ssh/

CLI工具

40、Awless

命令行接口(CLI),旨在帮助开发人员管理Amazon Web服务。Awless透明地将本地命令转换成云端资源,并显示它们之间的关系。

链接:https://github.com/wallix/awless

41、Snyk-CLI

Snyl CLI将帮助你查找(更重要的是修复)依赖项中的漏洞,无论是ad hoc网络还是CI系统。

链接:https://support.snyk.io/hc/en-us/categories/360000456217-Snyk-CLI

42、Daytona

Daytona通过更优化的Vault客户端CLI版本为您提供帮助,特别注重自动身份验证和机密信息获取。

链接:https://github.com/cruise-automation/daytona

开发工具

43、Bitbucket

Bitbucket专为专业团队所准备,其中项目规划、代码协作、测试和部署可以在一个位置进行,提供免费使用付费订阅选项。

链接:https://bitbucket.org/product

44、Confluence

Confluence是一个非常适合项目规划、会议纪要、营销规划和博客发布的软件工具。为你的业务创建开放,可访问的工作空间。非常适合团队和公司。

链接:https://www.atlassian.com/software/confluence

45、Frame.ai

Frame从独特的角度为你了解客户管理带来帮助,通过持续监控功能帮助确定客户特定结果背后的“原因”。

链接:https://frame.ai/

46、Grit

Grit帮助程序员/开发人员将源代码从源存储库(存储、传输、共享和复制)提交到目标存储库。

链接:https://github.com/grailbio/grit

47、Jira

Jira是一个软件开发工具,可帮助开发人员捕获、分配和设置目标任务中的优先级。它允许开发人员管理整个系统开发过程,确保完成每个任务。

链接:https://www.atlassian.com/software/jira

48、EditorConfig

EditorConfig可帮助那些在具有多种文本编辑器或IDE环境的大型组织中工作的开发人员维护一致的代码样式。

链接:https://editorconfig.org/

49、Tilix

Tilix是Linux的终端仿真器,遵循gnome human接口标准。它可以创建多个可同步的窗格。

链接:https://gnunn1.github.io/tilix-web/

50、Jsonnet

Jsonnet使得Json扩展易于理解。该工具引入了多种功能,如消重、与自定义/现有应用程序集成,其他格式生成,包括JSON、INI和YAML等。

链接:https://jsonnet.org/

51、Hzaelcast

Hazelcast是纯内存缓存解决方案,提供创新、低延迟、以数据为中心的应用程序。它可以通过并行处理多线程架构实时处理任何应用程序。

链接:https://hazelcast.com/

虚拟化

52、Cloudcraft

Cloudcraft是一个可视化设计软件,通过针对AWS优化的智能组件,可帮助开发人员在几分钟内创建架构图。该工具无需静态文档和规格说明。

链接:https://cloudcraft.co/

53、DBSchema

借助对SQL和NoSQL数据库的支持,DbSchema提供了一个功能强大且易于使用的可视化数据库设计器,供您管理Schema。

链接:https://dbschema.com/

原文链接:https://dzone.com/articles/50-useful-devops-tools

本文转载自:「分布式实验室」,原文:https://tinyurl.com/y3gkdotf,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

你可能还喜欢

点击下方图片即可阅读

30 个高可用 Prometheus 架构实践中的踩坑集锦

点击上方图片,打开小程序,加入「玩转 Linux」圈子

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

50+ 个超实用的 DevOps 工具相关推荐

  1. DevOps 工具配置不当,微软、任天堂、华为海思等 50 余家知名企业源码遭泄露...

    点击上方"程序猿技术大咖",关注加群讨论 据外媒 BleepingComputer 报道,由于基础架构配置有误,来自技术.金融.电商.制造业等众多领域的数十家知名公司源码遭到泄露. ...

  2. Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾

    Fbric.Ansible.Docker.Chaos Monkey:DevOps工具的年中回顾 [编者按]近日,Cyber Engineering Solutions Group 技术经理 Hasan ...

  3. 阿里巴巴 DevOps 工具体系

    简介: 随着阿里巴巴多元化业务 20 多年的高速发展,技术体系经历了 web 时代.移动化时代.数据智能时代.云计算时代等多个重大变革.在这些变革中,开发者面对的技术体系.工具体系.知识体系也在不断进 ...

  4. 2022-2028全球与中国DevOps工具市场现状及未来发展趋势

    本文研究全球及中国市场DevOps工具现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美.欧洲.中国.日本.东南亚和印度等地区的现状及未来发展趋势. 2021年全球DevOps工具市场 ...

  5. 推荐50个超实用的 Chrome 扩展,建议收藏

    推荐50个超实用的 Chrome 扩展,建议收藏 今天来分享 50 个超实用的 Chrome 浏览器扩展! JSON 1. JSON Viewer Pro JSON Viewer Pro 用于可视化J ...

  6. 最佳DevOps工具获奖者:CloudBees Jenkins平台

    最新一期<IT新架构>宣布了第三届影响力奖的最终结果.这些获奖的产品和技术由我们读者.行业专家和编辑人员参与投票评选,并且预计将对2016年的IT运营产生显著影响.首先向所有的获胜者表示祝 ...

  7. DevOps 工具链可推动你的创新计划!

    一套完整启用的 DevOps 工具链可推动你的创新计划,实现快速部署并节约成本.不同规模和不同行业组织都致力于为提高软件交付的速度和质量提供解决方案.这不仅保证了他们的生存,还令他们在全球市场取得了成 ...

  8. DevOps笔记-04:DevOps工具和文化缺一不可

    DevOps工具和文化缺一不可 DevOps工具 公司引入了完整的敏捷项目管理工具,但却以传统项目管理的方式来使用这套工具,效率跟以前相比并没有明显的提升.对于自研平台来说,也是同样的道理,如果仅仅是 ...

  9. 第七章 DevOps工具链

    DevOps工具生态圈 协同开发工具 敏捷开发 可视化 加强团队沟通协作 数据分析 协同开发 持续集成工具 Jenkins 自动化编译 自动化测试 自动化部署 丰富的插件库 版本管理工具 Git 简介 ...

最新文章

  1. Android 白天/夜间模式切换
  2. Cocos Studio的动画系统介绍
  3. 富文本编辑器-Ueditor
  4. Leetcode--24. 两两交换链表中的结点
  5. python应声虫代码_前端大牛们都学过哪些东西?
  6. Easytrader踩坑之旅(一)
  7. Logback MDC
  8. 供应商主数据和客户主数据各个字段进行显示、必输、隐藏和可选输入的配置学习...
  9. 优云automation实践技巧:简单4步完成自动化构建与发布
  10. LTE时域、频域资源
  11. Excel中截取特殊字符之前、之间、之后的数据
  12. OrCAD Capture原理图中批量修改网络名
  13. SQL注入原理及绕过技术
  14. Unity5.联机笔记
  15. 公共数据库介绍~datahub
  16. [转帖]国之魂,民之魂(硬骨头六连16勇士的最后一张照片)
  17. 【笔记】编译Android版的Chrome手册
  18. python pandas 分割DataFrame中的字符串及元组
  19. Python中使用Scrapy爬虫抓取上海链家房价信息
  20. 【echarts】横向柱状图(条形图)渐变色,手把手教学

热门文章

  1. Linux 仅安装mysql客户端
  2. npm ERR 404 You should bug the author to publish it (or use the name yourself)
  3. springboot+Vue.js计算机毕业设计100-199项目选题列表
  4. Java 如何实现动态脚本?
  5. python常见知识
  6. Android新浪微博之发送微博
  7. TikTok直播赚钱教程
  8. 虹科应用于洗衣房的智能机器人填补了自动化在该领域的应用鸿沟
  9. java 数组作为方法参数
  10. 在线教育“水逆”,猿辅导、作业帮们如何“捞偏门”