Общие сведения об императивной и декларативной конфигурациях

Завершено

Существует несколько различных подходов, которые можно использовать для реализации инфраструктуры как кода и конфигурации как кода.

Можно выделить два основных подхода:

  • Декларативный (функциональный). Декларативный подход определяет, как должен выглядеть конечный результат. Во время запуска сценарий или определение инициализирует или настроит конечное состояние компьютера без указания, как его можно достичь.

Стрелка указывает от значка сценария к значку двух шестеренок, представляющих собой операции кода.

  • Императивный (методический). При императивном подходе сценарий указывает, как достичь конечного состояния для компьютера, перечисляя необходимые этапы выполнения. Он определяет, как должно выглядеть конечное состояние, при этом описывая, как его достичь. Он также может содержать такие понятия, как for, if-then, циклы и матрицы.

Стрелка указывает от значка сценария к значку двух шестеренок, представляющих собой операции кода. За ним следует еще одна стрелка, указывающая на представление приложения в конечном состоянии.

Рекомендации

Декларативный подход не учитывает методы достижения состояния. Поэтому его проще читать и понимать, что именно выполняется.

В рамках этого подхода также проще писать и определять код. Декларативные подходы разделяют желаемое конечное состояние и код, необходимый для его достижения.

Поэтому они не ограничивают вас в выборе конкретного метода и позволяют оптимизировать разработку по личному усмотрению.

Предпочтительнее использовать декларативный подход, если основной задачей является достижение простоты использования. Примером декларативного подхода к автоматизации являются файлы шаблонов Azure Resource Manager.

Императивный подход обладает рядом преимуществ в сложных сценариях, где относительно часто требуются изменения среды, которые необходимо учитывать в коде.

Не существует однозначного ответа на вопрос, какой подход лучше, и отдельные инструменты могут использоваться как в декларативных, так и в императивных формах. Оптимальный подход зависит от ваших потребностей.