Выбор средства командной строки

Завершено

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

Параметры автоматизации в Azure

Для автоматизации ресурсов Azure обычно используются четыре средства командной строки: Azure CLI, Azure PowerShell, Bicep и Terraform.

Как сравнить средства?

Azure CLI, Azure PowerShell, Bicep и Terraform имеют сходство, но каждое из них предлагает различные преимущества. Так как вы выполняете подготовку служба хранилища Azure, какие возможности инструментов дают лучшие преимущества в вашей среде?

В следующей таблице определены возможности каждого средства командной строки Azure. В этой таблице выполните следующие действия.

  • Значок Да указывает, что эта возможность подходит true для указанного средства командной строки.
  • Значок No указывает, что эта возможность подходит false для указанного средства командной строки.
Возможность Azure CLI Azure PowerShell Bicep Terraform
Императивный IaC Да Да No No
Декларативный IaC No No Да Да
Azure native Да Да Да No
Облачная не зависящая от облака No No No Да
Может работать в Windows, Linux и macOS Да Да Да Да
Может создавать, изменять и удалять ресурсы служба хранилища Azure Да Да Да Да

Ознакомьтесь с каждым инструментом. Какие функции Azure CLI и Azure PowerShell и Bicep и Terraform хорошо подходят для вашей среды?

Azure CLI и Azure PowerShell

Azure CLI и Azure PowerShell — это средства командной строки, позволяющие создавать ресурсы Azure и управлять ими.

Azure CLI

  • Кроссплатформенный интерфейс командной строки, который можно установить в Windows, Linux и macOS
  • Выполняется в Azure Cloud Shell, PowerShell, Bash Cmd.exeили контейнере Docker
  • Основан на Python
  • По умолчанию для вывода строки JSON, хотя доступны другие параметры форматирования, такие как таблица, YAML и TSV
  • Позволяет запрашивать выходные данные команд с помощью синтаксиса запросов JMESPath.
  • Использует команды, упорядоченные в группах, например и az vm, например az vm disk
  • Имеет синтаксис, который следует простому reference name -command -parameter -parameter value шаблону
  • Асинхронные операции поддерживаются

Azure PowerShell

  • Кроссплатформенный модуль PowerShell, работающий в Windows, Linux и macOS
  • Выполняется локально в PowerShell, в Azure Cloud Shell или в контейнере Docker
  • Основан на .NET Standard
  • Предоставляет завершение вкладки и прогнозное intelliSense
  • Возвращает объекты .NET
  • Использует Verb-Noun имена команд для простоты обнаружения

Bicep vs. Terraform

Bicep

Bicep — это предметно-ориентированный язык (DSL), который использует декларативный синтаксис для развертывания ресурсов Azure. В файле Bicep определяется инфраструктура, которую необходимо развернуть в Azure. Затем этот файл используется на протяжении всего жизненного цикла разработки для развертывания инфраструктуры. Ресурсы развертываются согласованно.

Bicep обеспечивает краткий синтаксис, надежную безопасность типов и поддержку повторного использования кода. Bicep предлагает хороший интерфейс разработки для решений IaC в Azure.

Terraform

HashiCorp Terraform — это средство IaC с открытым кодом для подготовки и управления облачной инфраструктурой. Он кодифицирует инфраструктуру в файлах конфигурации, описывающих требуемое состояние топологии. Terraform позволяет управлять любой инфраструктурой, такой как общедоступные облака, частные облака и программное обеспечение как услуга (SaaS), с помощью поставщиков Terraform.

Какую программу командной строки Azure следует выбрать?

При выборе инструмента рассмотрите предыдущий опыт и текущую рабочую среду. Ниже приведена сводка по вашим параметрам:

  • Синтаксис Azure CLI похож на скрипты Bash.
  • Azure PowerShell — это модуль PowerShell. Команды следуют схеме Verb-Noun именования, а данные возвращаются в виде объектов.
  • Bicep — это DSL, использующий декларативный синтаксис для развертывания ресурсов Azure.
  • Terraform — это средство IaC с открытым кодом для подготовки и управления облачной инфраструктурой.

Следует выбирать инструмент, который соответствует вашему опыту и не потребует большого переобучения. Быть открытым будет только улучшить ваши способности. При необходимости переключайтесь на другие инструменты.