Общие сведения о императивной и декларативной конфигурации
Существует несколько различных подходов, которые можно использовать для реализации инфраструктуры в виде кода и конфигурации в качестве кода.
Два основных метода подхода:
- декларативный (функциональный). Декларативный подход указывает, каким должно быть окончательное состояние. При выполнении скрипт или определение инициализирует или настраивает машину для достижения завершённого состояния, объявленного без определения того, каким образом это окончательное состояние должно быть реализовано.
- императивные (процедурные). В императивном подходе скрипт указывает , как для конечного состояния компьютера, выполнив шаги, чтобы добраться до готового состояния. Он определяет, какое окончательное состояние должно быть, но также включает в себя, как достичь этого окончательного состояния. Он также может состоять из концепций программирования, таких как для, условие "если-то", циклыи матрицы.
Лучшие практики
декларативный подход позволяет абстрагироваться от методологии достижения состояния. Таким образом, читать и понимать, что делается, может быть проще.
Это также упрощает запись и определение. Декларативные подходы также разделяют окончательное требуемое состояние и код, необходимый для достижения этого состояния.
Таким образом, он не заставляет вас использовать определенный подход, позволяя оптимизировать.
Как правило, декларативный подход будет предпочтительным вариантом, где простота использования является основной целью. Файлы шаблонов Azure Resource Manager являются примером декларативного подхода к автоматизации.
императивный подход может иметь некоторые преимущества в сложных сценариях, когда изменения в среде происходят относительно часто, что необходимо учитывать в коде.
Нет абсолютного подхода, который является лучшим подходом, и отдельные инструменты могут использоваться в декларативных или императивных формах. Оптимальный подход для вас зависит от ваших потребностей.