Сравнение Состояния Azure Resource Manager и Terraform

Завершено

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

В этом уроке рассматривается разница между состоянием Azure Resource Manager и Terraform.

Состояние Azure Resource Manager и Terraform

Azure Resource Manager

Azure Resource Manager — это служба, используемая для развертывания ресурсов и управления ими в Azure с помощью шаблонов Bicep или ARM. Resource Manager можно использовать для создания, обновления и удаления ресурсов в подписке Azure. Он ожидает декларативного шаблона, который преобразуется в набор идемпотентных команд для создания или обновления ресурсов.

Файлы состояния Terraform

Состояние Terraform — это представление ресурсов, которыми вы управляете с помощью Terraform. Terraform — это неуправляемое средство, которое может поддерживать все, что угодно с конечной точкой API, поэтому для управления жизненным циклом ресурсов под управлением требуется неуправляемый метод. Файл состояния по сути сопоставляет объявление ресурса в шаблоне с идентификатором ресурса в целевой среде, в нашем случае Azure.

Сравнение Состояния Azure Resource Manager и Terraform

Товар Azure Resource Manager Файлы состояния Terraform
Управление файлами состояния Не требуется, состояние хранится в Microsoft Azure Файл состояния должен храниться и защищаться
Поддержка других поставщиков облачных служб и API Работает только с идентификатором Microsoft Azure и Microsoft Entra Работает с любым облаком или API с поставщиком, созданным для него
Жизненный цикл (создание, обновление, удаление) Стеки развертывания теперь позволяют управлять полным жизненным циклом Terraform может управлять полным жизненным циклом
Обнаружение смещения и планирование Что если позволяет проверять наличие обновлений План Terraform обеспечивает обнаружение и планирование смещения