适合您的 IT 自动化工具

DevOps 软件开发技术中可用的工具范围越来越广泛。 如今,有数以千计的工具可供选择,每种工具都有其在您的业务中使用的理由:通过它如何帮助实现您的目标甚至日常任务。 无论您是新手还是经验丰富的开发人员,您都可能会为正确的选择而不知所措。

即使您将范围缩小到潜在工具列表(您感兴趣的工具),您要解决的问题类型也是多种多样的。 例如,您可能希望在信息技术 (IT) 基础架构中进行特定的配置管理或应用程序部署,因此很难做出选择。 Chef 和 A​​nsible 是目前领先的工具。

如果您对 DevOps 感兴趣,则需要了解何时选择特定的自动化技术堆栈以及原因。 在这篇文章中,我将分解这两种自动化工具,同时牢记每个开发人员都有独特的需求。 虽然“最佳”工具是主观的,但我会向您展示差异,提及共同属性,从而帮助您做出明智的选择。

需要了解的 DevOps 自动化术语

在深入了解 Ansible 和 Chef 之间的整个交易之前,了解 DevOps 自动化中最常用的术语以顺畅地理解该领域是值得的。

  • DevOps 和 DevSecOps——这两个术语分别指开发操作和开发安全操作。 这些软件开发技术需要文化、自动化和平台设计方法,将集成安全性的交集作为整个 IT 生命周期的共同责任。 虽然 DevOps 和 DevSecOps 很相似,但将安全性添加到 DevOps 中会催生 DevSecOps,以解决问题。
  • 配置管理——此过程涉及将计算机系统、服务器和完整软件维护在所需状态。 这种处理软件的方法断言您的软件正在按预期工作。 如果您可以自动化配置管理,您将降低成本、复杂性和与手动错误相关的风险。
  • 基于代理的架构——Chef 使用此标准。 它描述了一种自动化模型和基础设施,它使用称为代理的特定软件在托管环境中执行。 要开始使用该模型,您必须在每个目标节点上安装依赖项以及额外的安全检查和规则,这可能很耗时,尤其是在有限的时间内交付软件时。
  • 无代理架构——由 Ansible 使用,此标准需要在不需要代理的情况下自动化和管理 IT 服务。 控制软件无需冗长的安装,并通过安全套接字外壳 (SSH) 连接到远程机器。 配置系统后,无需保留部署系统; 稍后会详细介绍。
  • YAML – 完整的,Yet Another Markup Language,有时,Yet Ain’t Markup Language,是用于编写配置文件的反序列​​化语言。 YAML 是一个 JavaScript 超集。 它是人类可读的,并且易于与其他编程语言结合使用。
  • 什么是 Ansible?

    Ansible 是其母公司 Ansible Works 于 2012 年创造的一种 IT 自动化工具,用于在 IT 环境中自动化整个应用程序生命周期。 Ansible 有助于自动化配置管理、编排工作流程和应用程序开发; 名单很长。 Ansible 的操作模型以特定顺序执行任务,其中一个是它自己的,一致地执行 IT 环境流程。

      如何删除 Square 帐户

    Ansible 通过优化 IT 环境提高质量和生产力,同时降低成本。 它也可能是在 IT 领域引入智能的解决方案。 Ansible 将传统 IT 环境与敏捷软件实施联系起来。 它是开源的,并且确实依赖于客户端-服务器模型。 Ansible 设计师声称它是唯一一个在持续交付时间线内自动化整个 APK 生命周期的自动化引擎。 自动化涉及将复杂任务转化为可重复的剧本、简化流程并最终加快生产速度。

    不出所料,“ansible”这个名字来源于科幻文学。 它描述了一个瞬时超空间通信系统。

    Ansible 控制机器是基于 Linux/Unix 的——比如 Debian、RedHat Enterprise Linux 和 macOS。 您可以在 Python 2.7 或 3.5 上运行 Ansible。 当您转向云平台时,Ansible 可以在亚马逊网络服务 (AWS)、微软 Azure、谷歌云和 Docker 等众多供应商中运行。 Ansible 使用 winRM 和 OpenSSH 进行远程连接,提供自助服务,执行基于角色的访问控制 (RBAC),并允许增强权限。 因此,Ansible 在 DevOps 和 IT 运营中提供了可靠性和安全性。

    Ansible 可以被域中的许多操作员(包括操作员、IT 主管、经理和发布工程师)用来自动化 IT 基础设施。 既然我已将 Ansible 与其用户绑定在一起,那么组织呢? 无论您经营的是大型企业还是小型企业,都可以采用 Ansible 来简化您的 IT 运营。 然而,许多使用 Ansible 的公司都是在信息技术和通信领域量身定制的。

    Ansible 的主要特性

  • Ansible Content Collections – 此工具可帮助您创建强大的用户社区。 Ansible 具有内置的预组合模块,可帮助开发人员和内容创建者在工作中高效协作。 Ansible 提供了一个一致的结构,您可以通过它在内容创建过程中移动模块、角色、插件和文档的捆绑包。 很棒的部分是您始终可以确保内容的一致吞吐量,而不必担心版本更新和发布。
  • 自动化服务目录——这是处理资源配置、管理和整个自动化的功能。 虽然它通过前面提到的 RBAC 技术自动执行频繁的用户请求,但它也有助于满足 IT 合规性要求。
  • Automation Hub——该工具提供了查找和使用 Red Hat 内容及相关合作伙伴的途径。 您可以通过在自动化中心发布和管理 Ansible 集合来扩展其内容。 特别是帮助您利用 Ansible 的“操作指南”。
  • 自动化执行环境——通常,这是一个构建 IT 自动化环境的容器镜像。 它是以标准方式自动化您的任务和程序的方法。 在开发人员的眼中,您可以将其视为自动化工程师、平台架构师和管理员的通用语言。
  • 自动化网格——该层使用双边通信层简化了缩放过程。 该工具简化了应用程序部署的灵活性,同时密切关注不损害对 IT 生态系统的可见性和控制。 自动化网格提供安全功能,例如数字签名、传输层安全性 (TLS)、流量加密和其他访问控制。
  • 自动化分析和洞察——这部分帮助您评估 Ansible 自动化性能。 换句话说,这是您对自动化进行健康检查的途径,这些自动化数据源自可操作的数据,您可以使用这些数据做出合理且明智的决策。
  •   Utimate Fallout 3 Mods 列表

    Ansible的优势

    • 简单易学。 您不需要任何先决条件。
    • 简化的配置管理和应用程序部署。
    • 增强的安全性和可靠性。
    • 可用的集中式自动化和可视化仪表板。
    • 支持 IT 法规遵从性。
    • 时间有效。
    • 允许持续集成。
    • 更大的社区

    缺点

    • 不支持 macOS。
    • 欠发达的图形用户界面 (GUI)
    • 无状态,因此不跟踪依赖关系的变化。
    • 不良的调试能力。

    什么是厨师?

    Chef 于 2009 年由其母公司 OpsCode 创造。 Chef 技术是继难以理解且学习曲线陡峭的旧配置工具 Puppet 之后的后继软件。 与 Ansible 不同,Chef 有点难以理解。 但是,通过练习,它会变得很容易,就像使用任何编程语言一样。 Chef 和 Puppet 由 Ruby 编程语言操纵。

    “Chef 是一个强大的自动化平台,可将基础设施转化为代码……”

    – 厨师设计师

    因此,Chef 是另一个在持续部署和配置管理方面表现出强大实力的自动化工具。 无论您的操作是本地、混合环境还是基于云,Chef 都能通过您的网络自动配置、部署和管理,无论其规模如何。

    Chef 在 Windows、Cisco IO 和 Nexus 等多个平台上运行。 如果您是那种热衷于云技术的开发人员,Chef 支持 Microsoft Azure、Amazon Web Services (AWS) 和 Google Cloud Platform 等平台。 清单不止于此; 进行研究以确认您首选的云供应商是否受支持。

    与许多用户使用的 Ansible 不同,Chef 明确面向 DevOps 和 DevSecOps 工程师。 该解决方案被中高级信息技术和服务公司固有地采用。

    厨师的主要特点

    Chef Solutions 具有许多重要的架构特性; 这是故障。

    • Chef Infra – 此工具允许您高效地自动化、配置、管理和部署您的 IT 基础架构。 Chef Infra 将基础架构转换为代码,并在其中提供稳定的部署。 Chef Infra 由三个部分组成; Chef 服务器、工作站和客户端。 作为主力,工作站可以运行在任意平台上,支持使用各种工具进行代码测试。
    • Chef Habitat – 作为开源产品,此工具支持应用程序部署,无论您的平台如何。 如果您查看其组成组件、通常是隔离的、可审核且不可变的打包格式,以及管理这些包的栖息地主管,它会自动定义、打包和交付应用程序。
    • Chef InSpec – 这个开源测试框架可以在任何平台上运行。 该框架对人类和机器都是可读的。 它还是一种增强安全性和合规性的解决方案。 一个额外的好处是你可以用它来测试你的物理硬件。
    • Chef Automate – 这是您集成 Chef InSpec 和 Habitat 等开源产品的门户。 它提供全栈持续安全性和合规性。 您还可以使用 Chef Automate 查看您的整个 IT 生态系统并生成足智多谋的见解。
      Chromebook 相机不工作? 7 最佳修复!

    厨师优势

    • 可简化配置的预打包模板。
    • 便于使用; 快速开发食谱。
    • 保证部署的一致性和质量。
    • 良好的工具定制; 自定义仪表板以满足您的需求。
    • 您无法轻松迁移 Chef。
    • 自动化 IT 合规性。
    • 为关键应用程序提供安全、顺畅的交付。

    厨师的缺点

    • 许多工具需要用户澄清。
    • 需要您了解 Ruby 编程语言。
    • 陡峭的学习曲线。
    • 不是微型组织的最佳选择。
    • 遵循主客户端方法,使其变慢。
    • 成本相对较高。

    Ansible 和 Chef 之间的主要区别

    尽管 Ansible 和 Chef 在自动化方面都在同一页面上,但它们具有不同的特征。 本节重点介绍 Ansible 和 Chef 之间的区别。

    FeatureAnsibleChefInstallation易于安装,因为它使用无代理架构。使用需要 Chef Agent 在每台客户端计算机上运行的主客户端标准。 Chef 的工作站组件也需要配置,这会减慢其整体安装过程。使用的语言它使用需要 Chef Agent 在每台客户端计算机上运行的主客户端标准。 与其本机 Ruby 相关联,Ruby 更基于开发人员。配置 Ansible 中的配置文件称为剧本。 Ansible采用push配置操作模型。Chef中的配置文件称为cookbooks。 Chef 应用拉取配置技术。社区
    (不限于聚会、社交媒体存在、书籍和培训的多样化操作。)新产品和相对较少的学习。
    拥有庞大的社区。Chef 是一个较旧的产品,因此它的文档更好。
    相对较小的社区。

    把它们放在一起

    正如您所见,Chef 和 A​​nsible 是最多产的自动化和配置系统,支配着 DevOps、DevSecOps 和其他 IT 流程。 Ansible简单易用,很多用户都可以学习。 相反,Chef 具有众多功能,可帮助执行复杂的信息技术操作。

    您还看到了 Ansible 和 Chef 的优点和局限性。 要选择您的自动化解决方案,您需要评估您的要求。 在满足您的要求的同时,从便利性的角度来看,还有其他几个因素需要考虑; 您选择的解决方案的当前可用功能以及长期前景。 考虑其他因素,例如未来的工作量或您组织的规模随时间的增长。

    如果您已经做到了这一步,那么 DevOps 已经激发了您的兴趣。 如果是这样的话,我建议你继续你的职业选择或想法; 这就是为什么你应该查看我们的指南,我们的专家精心策划了最好的 DevOps 课程。