
资源介绍
OpenTofu 实现基础设施即代码(英文原版电子书)
《深入理解 Terraform》不仅旨在帮助读者扎实掌握 Terraform 语言,还将全面解析基础设施即代码(Infrastructure as Code)这一整体概念。尽管全书的核心聚焦于 Terraform 语言,但其中许多概念和思想对任何基础设施即代码项目都至关重要。阅读本书后,你不仅能熟悉 Terraform 语言,还能学会如何在团队或组织中高效地运用它。
本书适用人群
《深入理解 Terraform》面向软件开发人员、系统管理员以及其他需要将软件系统部署到生产环境的工程师。本书兼顾各层次经验的读者,开篇先致力于搭建坚实的基础,再逐步深入更高级的主题。无论你从未部署过基础设施,还是拥有数十年经验,都能从本书中获得启发。
本书结构:路线图
全书分为 3 个部分,共 12 章。每一章都以前面章节的内容为基础展开。
第一部分 讲解 Terraform 语言的基础知识,让你对该语言本身有初步的认识。这部分内容将为你构建知识框架,使你能立即上手使用 Terraform,同时也为本书后续内容奠定基础:
第 1 章简要介绍 Terraform,包括该项目的简史及其新分支 OpenTofu。
第 2 章聚焦 HashiCorp 配置语言(HCL)——Terraform 的基础所在,其中包括对最常见的 HCL 块类型的解析。
第 3 章探讨 Terraform 模块的基本组成,包括 Terraform 语言中不同类型的变量。模块是 Terraform 的核心概念,它支持代码复用和项目组合。
第 4 章在前面章节的基础上,介绍表达式和迭代。这部分内容支持数据转换,包括构建字符串、数据结构以及用于动态配置资源的运算符。
第 5 章作为第一部分的收尾,重点讲解 Terraform 的 “计划(plan)” 和 “应用(apply)” 阶段。本章将深入剖析这些主题,并将其与底层的计算机科学理论相联系,帮助你更好地理解和调试可能出现的问题。
第二部分 阐述如何将 Terraform 应用于生产环境。在这部分,你将学习在团队场景中如何测试、部署和管理项目:
第 6 章探讨 Terraform 状态(state),这是将项目投入生产的关键环节之一。本章解析状态的本质,包括深入研究状态内部的实际数据结构。最重要的是,我们将讨论如何妥善存储、保护状态,以增强项目的韧性。
第 7 章围绕如何利用持续集成(CI)提升代码质量展开。本章将讲解如何管理持续集成系统,同时介绍用于代码质量管理的丰富工具生态,包括安全扫描工具、代码质量扫描工具和文档工具的概述。
第 8 章深入探讨项目的持续交付(CD)。尽管持续开发通常与持续集成相关联(常统称为 CI/CD),但持续交付存在诸多细微差别,值得单独探讨。在这里,我们将讨论交付方法、项目结构和部署系统。
第 9 章全面介绍 Terraform 的测试方法,包括使用 Terratest 或 Terraform 测试框架,以及在测试基础设施即代码时需要注意的细节。
第三部分 涵盖高级主题,包括 Terraform 的一些较深奥的组件,以及扩展 Terraform 功能的方法:
第 10 章介绍 Terraform 中的各种特性、提供商(provider)和设计模式,这些内容能帮助你应对可能遇到的各种边缘情况。
第 11 章详细讲解如何将 Terraform 集成到自己的应用程序中,从而构建自定义工具来管理或分析 Terraform 部署。
第 12 章解析如何构建自定义提供商,这是扩展 Terraform 语言以支持管理新系统的最佳方式。
本书建议按顺序阅读,因为每一章都默认你已掌握前面章节的知识。有经验的 Terraform 开发者或许可以略读前几章,但这样可能会错过一些有趣的细节和思路。