Сравнение Состояния 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 обеспечивает обнаружение и планирование смещения |