了解命令性配置与声明性配置
可以采用几种不同的方法来实现基础结构即代码和配置即代码。
两种主要的方法是:
- 声明性(功能)。 声明性方法规定了最终状态应该是什么。 运行时,脚本或定义将初始化或配置计算机以声明完成状态,而不定义如何实现该最终状态。
- 命令性(过程)。 在命令性方法中,脚本通过执行实现完成状态的步骤来说明如何实现计算机的最终状态。 它定义了最终状态必须是什么,但也包括如何实现该最终状态。 它还可以包含编码概念,例如 for、if-then、loops 和矩阵。
最佳做法
声明性方法抽象化了如何实现状态的方法。 因此,可以更轻松地阅读和理解正在执行的操作。
它还使编写和定义变得更加容易。 声明性方法还将最终的期望状态和实现该状态所需的编码分开。
因此,它不会强迫你使用特定的方法,从而可以进行优化。
在以易用性为主要目标的情况下,声明性方法通常是首选方法。 Azure 资源管理器模板文件是声明性自动化方法的一个示例。
在环境中的更改发生相对频繁的复杂场景中,命令性方法可能具有一些优势,你需要在代码中考虑这些因素。
没有完美的最佳方法,可以声明性或命令性形式使用各个工具。 所采用的最佳方法将取决于你的需求。