Logo
Section 1 / 6

什么是基础设施即代码?

学习基础设施即代码(IaC)的基础知识以及配置 IaC 解决方案的格式。

导入

什么是基础设施即代码?

学习基础设施即代码(IaC)的基础知识以及配置 IaC 解决方案的格式。

简介

基础设施是指应用程序运行所依赖的各类资源。传统上,这些资源包括服务器、存储和网络。随着虚拟化技术的发展,服务器被划分为物理资源和虚拟机。云服务提供商在此基础上进一步抽象,从基础设施即服务(IaaS)逐步发展到平台即服务(PaaS)和软件即服务(SaaS)。传统的基础设施部署依赖手动且繁琐的过程,容易出现错误和不一致。如今,云服务商及其他厂商提供的各类服务引入了以软件驱动的创建与配置模式。

...
基础设施即代码

基础设施即代码(IaC)是一种通过机器可读格式定义并配置基础设施资源的做法。使用 IaC 部署和管理的基础设施可以包括裸金属服务器、虚拟机、网络资源、存储卷,甚至作为服务提供的数据库。虽然 IaC 常用于云环境,但这并非技术上的必要条件。只要基础设施管理系统具备程序化接口,就可以参与 IaC。

部署方案的格式

部署方案的格式可以是声明式(定义期望的结果)或命令式(定义部署过程)。声明式部署方案如 Terraform,关注的是部署的最终目标状态,依赖解释引擎来创建并配置实际资源。命令式部署方案如批处理脚本,则侧重于部署的具体步骤,可能引用包含设置和配置值的文件。

为 IaC 编写的代码通常存储在版本控制系统(VCS)中,以实现变更追踪和团队协作。IaC 还可以与其他常见的软件开发实践结合,例如自动化测试、持续部署流水线以及可复用的组件。通过 IaC,基础设施通过机器可读的代码进行定义和部署,而不是通过门户、命令行或 API 手动操作。如果由人工执行命令或流程,则不属于 IaC。

核心要点

基础设施即代码是一种通过机器可读文件定义基础设施部署的做法,能够实现基础设施的自动化配置与部署。

课程简介

Terraform HCL 简介