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

Завершено

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

Два основных метода подхода:

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

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

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

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

Лучшие практики

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

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

Таким образом, он не заставляет вас использовать определенный подход, позволяя оптимизировать.

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

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

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