Выбор средства командной строки
Каждое действие, выполняемое в портал Azure, преобразуется в выполнение кода в API за кулисами для создания, чтения, обновления или удаления ресурсов Azure. Средства командной строки Azure — это оболочки для API, которые позволяют автоматизировать подготовку ресурсов Azure в масштабе.
Параметры автоматизации в Azure
Для автоматизации ресурсов Azure обычно используются четыре средства командной строки: Azure CLI, Azure PowerShell, Bicep и Terraform.
Как сравнить средства?
Azure CLI, Azure PowerShell, Bicep и Terraform имеют сходство, но каждое из них предлагает различные преимущества. Так как вы выполняете подготовку служба хранилища Azure, какие возможности инструментов дают лучшие преимущества в вашей среде?
В следующей таблице определены возможности каждого средства командной строки Azure. В этой таблице выполните следующие действия.
- Значок
указывает, что эта возможность подходит
true
для указанного средства командной строки. - Значок
указывает, что эта возможность подходит
false
для указанного средства командной строки.
Возможность | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
Императивный IaC |
|
|
|
|
Декларативный IaC |
|
|
|
|
Azure native |
|
|
|
|
Облачная не зависящая от облака |
|
|
|
|
Может работать в 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 с открытым кодом для подготовки и управления облачной инфраструктурой.
Следует выбирать инструмент, который соответствует вашему опыту и не потребует большого переобучения. Быть открытым будет только улучшить ваши способности. При необходимости переключайтесь на другие инструменты.