DevOps 的概念在软件开发行业中逐渐流行起来。越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能。有了 DevOps ,团队可以定期发布代码、自动化部署、并将持续集成 / 持续交付作为发布过程的一部分。

虽然 DevOps 背后有各种各样的概念,但幸好有一些工具可以让你更容易地理解和实现。在本文中,你将了解这些工具,并将它们作为软件发布 / 维护工具包工作的一部分开始使用。

DevOps 有很多可使用的工具,在一篇文章中几乎不可能介绍完它们。本文将介绍五种最流行、功能最强大的 DevOps 工具:

  • Terraform
  • Ansible
  • Packer
  • Docker
  • Kubernetes

Terraform

类型:配置

语言: Go

推荐的第一个 DevOps 工具是来自 Hashicorp 的Terraform。Terraform 是一个基础设施管理工具,允许您正确地构建、更改和管理基础设施。您可以将 Terraform 视为一种供应工具。它帮助您设置服务器、数据库和其他支持全面应用程序的基础设施。

Terraform 并不局限于任何特定的云服务提供商,它可以与多个云提供商和环境协同工作。云服务提供商如 AWS、Microsoft Azure、谷歌云都与 Terraform 无缝集成。版本控制系统托管提供商,如 Github 和 Bitbucket,都可以很好地使用它。

Terraform 有一个企业版和开源版,还可以安装在 macOS、Linux 和 Windows 系统上。

Ansible

类型:配置

语言:Python、PowerShell、Shell 和 Ruby

与 Terraform 类似,Ansible 也是一个基础设施管理工具。Ansible 可以帮助你部署应用程序,供应和配置管理的服务器。Ansible 是用 Python 构建的,由 RedHat 维护,但它仍然是免费和开源的。

作为一个配置管理系统,您可以使用 Ansible 来设置和构建多个服务器。你可以在控制机器上安装 Ansible,而不需要 Ansible 在其他服务器上运行,这些服务器可以从 web 到应用程序再到数据库服务器。

与 Terraform 不同,Ansible 不使用 HCL 作为它的代码。相反,配置是写在 Ansible 剧本,这是 YAML 文件。Ansible 使用声明性和程序性模式的混合。这与 Terraform 不同,后者仅仅是声明性的。

Linux 是安装 Ansible 最合适的操作系统。不过,它在 macOS 上也运行良好。对于 Windows 用户,可以通过 Linux 的 Windows 子系统的 bash shell 使用 Ansible。

Packer

类型:配置

语言: Go

Packer 是另一个来自 Hashicorp 的 DevOps 工具。用 Golang 编写的 Packer 可以帮助你自动创建虚拟镜像。手动构建镜像的过程可能令人沮丧,因为它容易出错,但 Packer 消除了所有这些。

对于单个 JSON 文件,可以使用 Packer 创建多个镜像。当它第一次工作时,由于没有任何东西会干扰它的自动化过程,因此可以保证它能百分百地工作。许多云服务提供商都使用镜像,您可以无缝地与这些提供商合作,因为 Packer 标准化了用于云环境的镜像的创建。

Packer 不是一个独立的工具。您可以将其与 Ansible、Chef 和 Jenkins 集成,以便在部署管道中进一步使用这些映像。安装过程并不复杂,您可以学习如何开始使用该工具。

Docker

类型:容器

语言: Go

Docker 是一种容器技术,可让您在特殊环境中隔离应用程序。容器化与虚拟化类似,不同之处在于容器不会启动完整的操作系统。

使用 Docker 容器,您可以在这些自定义环境中开发和部署应用程序,从而不必担心兼容性问题。您的应用程序可以在任何位置运行,只要它们位于容器中即可。

要启动 Docker 容器,您必须通过 Dockerfiles 创建 Docker 映像。从 Docker 映像启动时,Dockerfile 包含 Docker 容器中所需的规范。您不必总是构建自己的 Docker 映像,因为 Docker Hub 上可以使用官方映像。

Docker 本身可以在 Linux 上运行,并且在 macOS 上也可以正常运行,因为它类似于 Unix。对于 Windows 用户,也可以通过Docker 工具箱来使用 Docker。

通常情况下,你可能会使用多个 Docker 容器,这就引出了本文中的最后一个 DevOps 工具。

Kubernetes

类型:容器

语言: Go

Kubernetes (K8s) 是一个谷歌开源工具,它可以让你管理 Docker 容器。由于在生产中经常有大量的容器在运行,因此,Kubernetes 使编排这些容器成为可能。

首先要了解编排 Docker 容器的原因。当有许多容器在运行时,很难手动监视这些容器,并使它们彼此通信;另外,这种扩展以及负载平衡也变得困难。

使用 Kubernetes,可以控制所有这些容器,因此可以将这组机器作为一台机器进行管理。与 Docker Compose 相比,Kubernetes 是不同的,因为它使部署,扩展和监视容器变得更加容易。当它们中的任何一个崩溃时,它们都可以自愈,而 Kubernetes 可以制造新的来代替。使用 K8s,可以轻松地进行存储编排、服务发现和负载平衡。

您可以在 macOS,Linux 和 Windows 上安装 Kubernetes,并通过Kubernetes 命令行工具使用它。

结论:

DevOps 的概念对于使大型应用程序在不同负载或流量下保持高性能是非常有益的。它还使软件部署管道易于管理。

如果没有可用的工具,DevOps 概念很难实现。这个领域有很多工具,每个公司都有不同的选择。尽管如此,Terraform、Ansible、Packer、Docker、Kubernetes 都是拥有大量用户社区的工具,能够在各种软件项目中实现 DevOps 的工具。如果您打算使用它们,可以做进一步的研究。

作者:DashMagazine

出处:https://codeburst.io/5-devops-tools-to-use-e99b79795c9d

翻译:实验楼

相关教程:

动手实战学 Docker

动手实战学 Docker_Docker - 实验楼​www.shiyanlou.com/courses/498

2825 人学过、511 人关注!通过 14 个实验带你体验 Docker 魅力。最快的上手教程,最新的技术领域,最多的动手实践,帮助你在线学习Docker ,DockerFile ,Compose ,Swarm 等技术。

Kubernetes 入门与实战

Kubernetes 入门与实战​www.shiyanlou.com/courses/1207

本课程介绍了 Kubernetes 的核心概念和资源类型,并借助实际的实验操作来掌握它们,进而帮助我们去思考这些设计的意义以及它们所应用的业务场景。主要内容包括:Kubernetes 基础概念以及使用方式、单例应用 Pod、访问应用 Service 等。

基于 Ansible + Celery 的运维开发平台

基于 Ansible + Celery 的运维开发平台​www.shiyanlou.com/courses/1380

为大家提供一种管理服务器在 1000 台以内的自动化运维方案,主要实现自动化运维方案里的集中化管理的核心部分;可以为运维工作的同学提供一种解决日常工作中批量处理服务器维护性工作的方案,为从事自动化运维开发的同学提供一种自动化运维的实现思路。

DevOps:5大工具相关推荐

  1. DevOps到底是什么鬼?DevOps介绍及工具推荐

    转载自 DevOps到底是什么鬼?DevOps介绍及工具推荐 什么是DevOps DevOps是Development和Operations的组合,是一组过程.方法与系统的统称,用于促进开发(应用程序 ...

  2. [转]新版.Net开发必备十大工具

    本文转自:http://www.cnblogs.com/zxhoo/archive/2011/04/02/2002905.html 几年前MSDN上的一篇文章<Ten Must-Have Too ...

  3. python程序员需要掌握哪些技术-程序员Python编程必备5大工具,你用过几个?

    Python是编程入门不错的选择,现在也有不少的程序员业余时间会研究这门编程语言. 学习Python有时候没有第一时间找到好工具,会吃不少的苦头.毕竟好的工具能将工作效率多倍速提升. 在这里还是要推荐 ...

  4. 编程软件python是什么意思_程序员Python编程必备5大工具,你用过几个?

    Python是编程入门不错的选择,现在也有不少的程序员业余时间会研究这门编程语言. 学习Python有时候没有第一时间找到好工具,会吃不少的苦头.毕竟好的工具能将工作效率多倍速提升. 下面W3Csch ...

  5. iOS开发人员不容错过的10大工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  6. 项目经理常用的12大工具及5大最佳项目管理软件

    项目管理涉及有效的计划和对工作的系统管理,但很多工具可以使项目管理更有效.更高效. 今天为大家分享5大项目管理软件,涉及软件项目管理.通用项目管理,开源项目管理以及国内国外最常用的. 12个实用的管理 ...

  7. 精益生产管理十大工具

    精益生产管理十大工具 精益生产管理是以精益思想为基础,通过精益的工作流程.有效的资源利用.团队协作和质量管理等综合性管理手段,不断改善企业的生产效率和质量.在这个过程中,精益生产管理 十大工具是非常重 ...

  8. CMMI3-5级如何高效落地?——CMMI落地4大工具

    为了助力CMMI3-5级高效落地,近日CoCode旗下Co-ProjectV3.0智能项目管理平台全面升级,CMMI落地4大工具正式上线:CMMI成熟度自测工具.量化管理工具(组织级过程改进工具和量化 ...

  9. >>技术应用:用于 REST API 开发和测试的 10 大工具

    前言 用于 REST API 开发和测试的 10 大工具 这些工具将在基于 REST 的项目(如设计.开发.测试和文档)的每个阶段为您提供帮助.如果您使用 Java 或任何其他编程语言创建 REST ...

  10. 【陈鹏老师精益项目实战】精益生产的十大工具

    精益生产(LeanProduction,简称LP)是美国麻省理工学院数位国际汽车计划组织(IMVP)的专家对日本"丰田JIT(JustInTime)生产方式"的赞誉之称,精,即少而 ...

最新文章

  1. MIT给人工智能“泼冷水”:AI创造性目前有限
  2. matlab 求附近的根,求近似根的算法-matlab实现 | 学步园
  3. 华为硬件工程师社招机考题库_中级会计机考你了解吗?机考操作常见八大问题速看...
  4. c语言知5个学生的4门成绩,用C 语言数组解题 :已知5个学生的4门课的成绩,要求求出全部学生的门成绩并分别求出每门课的平均成绩...
  5. python 如何获取文件夹下所有的目录。
  6. 网页播放器(CKplayer)的视频怎么下载——m3u8简单探索
  7. fpga初始化错误_FPGA下载程序出错
  8. 《GAMES203:三维重建和理解》1 三维视觉(3D Vision)介绍
  9. 【2021自我知识蒸馏】Extracting knowledge from features with multilevel abstraction
  10. windows许可证即将过期 win10的解决办法
  11. 〖教程〗Ladon提权Win2016/Win10/MSSQL2016
  12. 浏览器内多个标签页之间的通信方式有哪些?
  13. 大类资产配置的基本方法
  14. 【网络原理】知识点汇总2
  15. 获取自然周 自然月 区间
  16. 命令行快速清理Mac版搜狗输入法
  17. 笔记:模电-1.2二极管
  18. 知识图谱构建之二:从结构化数据到知识图谱
  19. 杭哥试用过的精品软件推荐:毛笔字生成软件(ougishi) 4.00 书法 唐宋八大家
  20. 【MPLS】LDP保留的标签

热门文章

  1. 电话手表声学性能测试
  2. 大数据基础(二)hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装和sqoop与hdfs,hive,mysql导入导出
  3. 面试英语情景对话,求职者必看!
  4. 深聊全链路压测之:第二十讲 | 如何落地日志隔离方案。
  5. 【实验三/四 面向对象程序设计/语言基础与面向对象】
  6. 为什么边缘计算会这么受欢迎
  7. 客户关系管理软件crm是越早使用越好的软件
  8. cdoj 1355 郭大侠与“有何贵干?”
  9. 【软件质量与软件测试 软件质量标准】
  10. 串口服务器中文使用文档,MOXA串口服务器中文使用文档..doc