Azure CLI против Powershell?

Не совсем в состоянии понять достоинства интерфейса командной строки Azure в среде Windows.

Ориентирован ли он на аудиторию, которая хочет управлять Azure IAAS из среды Linux?

Я думал, что ядро Powershell будет подходить для администраторов не из Windows. Разве PowerShell Core не будет хорошо переноситься на все платформы для обслуживания кроссплатформенной аудитории?

Короче говоря, стоит ли изучать интерфейс командной строки Azure?

Ответ 1

Azure CLI - это PowerShell-подобный инструмент, доступный для всех платформ. Вы можете использовать одни и те же команды независимо от используемой платформы: Windows, Linux или Mac.

Сейчас есть две версии Azure CLI. Azure CLI 1.0 был написан с Node.js для достижения кроссплатформенных возможностей, а новый Azure CLI 2.0 написан на Python, чтобы предложить лучшие кроссплатформенные возможности. Оба с открытым исходным кодом и доступны на Github. Однако на данный момент только некоторые командлеты PowerShell поддерживают использование в Linux.

Предназначен ли он для аудитории, которая хочет управлять Azure IAAS из Linux? окружающая среда?

Я думаю, что ответ - да. Я думаю, что для разработчиков Linux или Mac они чаще используют Azure CLI.

Ответ 2

Оба, Azure CLI и пакет PowerShell используют REST API Azure.

Как сказал один из наших партнеров Microsoft: Используйте все, что вам нравится, и вы предпочитаете.

Есть несколько профи для Azure CLI:

  1. Open Source - который имеет много преимуществ. В будущем он может развиваться быстрее. Вы можете посмотреть, что действительно находится в кодексе, сообщество может или будет больше, и так далее.
  2. Интерфейс Azure CLI можно использовать с Groovy, Python, Ruby или любым другим языком сценариев. Легче создавать хороших разработчиков для этих языков, чем опытный разработчик PowerShell. Например: я взял Groovy из-за Java. Легче использовать эту комбинацию, а затем изучать скрипты PowerShell....

В настоящее время для PowerShell существует 1 очень большой положительный результат: существует огромный репозиторий сценариев PowerShell для Azure. НО: часто вам приходится делать это самостоятельно, чтобы соответствовать вашим требованиям, поэтому пример может быть хорошей отправной точкой - иногда легче начинать с нуля.

Моя рекомендация: Использование Azure CLI → Для сценариев используйте язык, с которым знакома ваша компания.

Ответ 3

Просто хотел добавить свой опыт работы с Azure Cli и Az PowerShell.

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

В итоге я заменил все свои шаблоны ARM скриптами Azure Cli, так как он стал менее подробным и простым для чтения.

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

Мы используем Azure Cli и Az Powershell вместе с Azure DevOps. Команду Azure Cli можно выполнять только из сценариев bash (Linux) или bat (Windows). Так что это не оптимально...

  • Мы разворачиваем ресурсы с помощью Azure Cli, потому что его легко читать, а команды являются идемпотентными.
  • Для сложных сценариев я предпочитаю использовать PowerShell, так как есть много полезных языковых функций.

Ответ 4

Powershell не был доступен на платформе, отличной от Windows, до 2018 года. Начиная с января 2018 года, Powershell доступен на платформах MacOS и Linux.

Инструкции по установке Powershell на MacOS или Linux доступны здесь

Ответ 5

PowerShell тоже с открытым исходным кодом. Microsoft только что выпустила модуль PowerShell Azure Az (декабрь 2018 г.), который использует ядро .Net. Так что он работает на Linux, Mac OS и Windows. CLI Azure все еще существует для разработчиков Linux, если это предпочтительнее.