基础设施即代码


文档摘要

基础设施即代码 基础设施即代码(IaC)是通过机器可读的定义文件来管理和配置数据中心的过程,而不是通过物理硬件配置或交互式配置工具。[1] 由这种管理的IT基础设施包括裸机服务器等物理设备以及虚拟机和相关的配置资源。这些定义可以保存在版本控制系统中。它可以使用脚本或声明性定义,而不是手动过程,但这个术语更多地用于推广声明性方法。 使用不同的云提供商组合编写基础设施配置文件。 什么是 Terraform? 使用 Terraform,您可以将整个基础设施作为代码进行描述,即使它跨越多个服务提供商。您的服务器可能来自AWS,您的DNS可能来自CloudFlare,而您的数据库可能来自Heroku。Terraform 将并行构建这些资源,无论它们位于哪个提供商处。

基础设施即代码

基础设施即代码(IaC)是通过机器可读的定义文件来管理和配置数据中心的过程,而不是通过物理硬件配置或交互式配置工具。[1] 由这种管理的IT基础设施包括裸机服务器等物理设备以及虚拟机和相关的配置资源。这些定义可以保存在版本控制系统中。它可以使用脚本或声明性定义,而不是手动过程,但这个术语更多地用于推广声明性方法。

使用不同的云提供商组合编写基础设施配置文件。

  • 什么是 Terraform?

    • 使用 Terraform,您可以将整个基础设施作为代码进行描述,即使它跨越多个服务提供商。您的服务器可能来自AWS,您的DNS可能来自CloudFlare,而您的数据库可能来自Heroku。Terraform 将并行构建这些资源,无论它们位于哪个提供商处。

    • Terraform 由Hashicorp公司开发,该公司也是Vagrant、Consul、Vault、Nomad等工具的幕后公司。这是一个配置编排工具,非常适合于预置、调整和销毁虚拟服务器环境。它既可以作为Hashicorp提供的企业级DevOps服务,也可以作为开源解决方案,能够与多种云服务提供商合作,创建多云生态系统。

    • 基础设施即代码:基础设施使用高级配置语法进行描述。这使得数据中心蓝图可以被版本化,并像对待其他代码一样对待。此外,基础设施可以共享和重用。

    • 执行计划:Terraform 具有一个“规划”步骤,生成执行计划。执行计划显示当您调用apply时Terraform会做什么。这样可以在Terraform操作基础设施时避免任何意外情况。

    • 资源图:Terraform 构建了所有资源的图形,并并行化创建和修改任何非依赖资源。因此,Terraform 可以尽可能高效地构建基础设施,并使操作员了解其基础设施中的依赖关系。

  • 什么是 Ansible?

    • Ansible 是一个IT自动化工具。它可以配置系统、部署软件,并编排更复杂的IT任务,如持续部署或零停机滚动更新。Ansible 的首要目标是简单性和最大易用性。
  • Puppet Labs

    • Puppet 是一个自动化引擎,用于Linux、Unix和Windows系统的管理,根据集中化的规范执行管理任务(例如添加用户、安装包和更新服务器配置)。
  • Chef

    • Chef 使您能够在不停机或中断的情况下管理和扩展云基础设施。您可以自由地将应用程序和配置从一个云迁移到另一个云。Chef 集成了所有主要的云提供商,包括Amazon EC2、VMWare、IBM Smartcloud、Rackspace、OpenStack、Windows Azure、HP Cloud、Google Compute Engine、Joyent Cloud 等。
  • AWS CloudFormation

    • 您可以使用AWS CloudFormation的示例模板或创建自己的模板来描述运行应用程序所需的AWS资源,以及任何相关联的依赖项或运行时参数。您不需要弄清楚AWS服务需要按什么顺序进行预置,也不需要了解如何使这些依赖项工作。

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。


发布者: 作者: 转发
评论区 (0)
U