基础设施即代码是什么?
时间:2022-04-05 18:06:01 | 来源:行业动态
时间:2022-04-05 18:06:01 来源:行业动态
IaC选择使用机器可读的定义文件替代物理硬件配置或交互式配置工具,借此管理并配置数据中心内的计算机系统。简而言之,IaC主张通过简单的代码行取代IT资源管理及配置中的手动操作流程。
基础设施即代码(IaC)是一种自动化基础设施管理方式,最典型的IaC流程主要包含以下三个步骤:1. 开发人员使用特定领域语言对基础设施规范进行定义与编写。2. 将创建的文件发送至管理API、主服务器或代码repo。3. 之后,由IaC平台执行具体操作,完成计算资源的创建与配置。
IaC本身也是一项必不可少的DevOps实践,可谓是实现良好软件交付生命周期的重要前提。IaC能够帮助DevOps团队以完全符合版本源代码的方式快速完成基础设施创建及版本化,同时持续跟踪各个版本,以避免各IT环境间因一致性冲突而引发严重的部署问题。作为一项重要DevOps实践,IaC通常与持续交付结合使用。
IaC通常有两种实现方式:声明式(函数式)与命令式(程序式)。这两种方法之间的本质区别,在于一方强调什么、另一方强调如何。声明式方法侧重于描述所需的最终配置应该是什么样子;而命令式则关注如何操作基础设施来达成这样的配置状态。
总而言之,声明式方法负责定义希望达成的状态,系统则通过必要操作实现这一目标状态;命令式方法定义必要的操作顺序,通过一系列特定命令将基础设施调整为所需状态。
IaC还提供pull与push两种方法,二者的区别体现在向服务器报告如何配置的具体方式上。在pull方法中,要配置的服务器将从控制服务器处拉取配置信息;而在push方法中,控制服务器会将配置信息推送至目标系统。