基础设施即代码
DevOps 的基本原则是对待基础设施就像开发人员对待代码一样。应用程序代码具有定义的格式和语法。如果代码不是按照编程语言的规则编写的,则无法创建应用程序。代码存储在版本管理或源代码控制系统中,该系统会记录代码开发、更改和错误修复的历史记录。当代码被编译或内置到应用程序中后,我们期望创建一个一致的应用程序,并且构建是可重复且可靠的。
基础设施即代码 实践意味着将同样严格的应用程序代码开发应用于基础设施调配。所有配置都应以声明方式定义,并存储在源代码控制系统(例如 AWS CodeCommit
以往,基础设施是使用脚本和手动过程的组合来调配的。有时,这些脚本存储在版本控制系统中,或者逐步记录在文本文件或运行手册中。通常,编写运行手册的人不是执行这些脚本或完成运行手册的那个人。如果这些脚本或运行手册不经常更新,它们可能会成为部署中的终结者。这会导致创建的新环境并非总是可重复、可靠或一致的。
与前面不同的是,AWS 提供了一种以 DevOps 为重点的创建和维护基础设施的方法。与软件开发人员编写应用程序代码的方式类似,AWS 提供允许以编程、描述和声明方式创建、部署和维护基础设施的服务。这些服务具有严谨性、明确性和可靠性。本白皮书中讨论的 AWS 服务是 DevOps 方法的核心,是众多更高级别的 AWS DevOps 原则和实践的基础。
AWS 提供以下服务来定义基础设施即代码。