Azure CLI vs Azure PowerShell vs Azure Cloud Shell
¿Azure CLI, Azure PowerShell, Azure Cloud Shell, Bash?
Uno de los obstáculos cuando comenzamos a familiarizarnos con Azure, es que debemos aprender un nuevo vocabulario y el tema de herramientas de administración, no está exento de este desafío.
Si bien todas suenan similares y diferentes al mismo tiempo, todo este enredo tiene una lógica que espero ayudarte a comprender en este artículo.
Es importante conocer cuál es la diferencia entre estas herramientas y cómo están relacionadas con la administración de ambientes de Azure.
Para comenzar, veamos una breve descripción de cada uno de estos elementos para luego comprender de qué manera están relacionados y lo más importante, comprender cómo se utilizan en el ambiente de Azure.
PowerShell
PowerShell es básicamente una consola basada en texto, que nos permite administrar nuestros sistemas operativos tal como se hace en sistemas operativos basados den Unix.
Adicionalmente, PowerShell es una plataforma que permite la automatización de tareas mediante su lenguaje srcipt.
En el 2016, PowerShell fue liberado como código open source y se convirtió en una herramienta multi-plataforma.
Nota: En 2016 Microsoft hizo público el código fuente de PowerShell y este pasó a llamarse PowerShell core, desde la versión 6 en adelante, también puedes usar PowerShell en otros sistemas operativos.
Estas son las versiones disponibles de PowerShell y sus respectivos nombres según la versión.
Versión |
Windows PowerShell 1.0 |
Windows PowerShell 2.0 |
Windows PowerShell 3.0 |
Windows PowerShell 4.0 |
Windows PowerShell 5.0 |
Windows PowerShell 5.1 |
PowerShell Core 6.0 |
PowerShell Core 6.1 |
PowerShell Core 6.2 |
PowerShell 7.0 |
Bash
Bash es un interprete de órdenes para Linux que se ejecuta en una ventana de texto donde el usuario escribe órdenes o comandos para que estos sean ejecutados por el sistema operativo similar a PowerShell.
Esta herramienta también permite administrar sistemas operativos basados en Linux y también permite la automatización de tareas.
Entonces contamos con 2 interfaces de línea de comando, PowerShell que funciona tanto en Windows como en Linux y Bash que funciona para Linux.
Azure CLI
Azure command-line interface o interfaz de línea de comandos de Azure, es un conjunto de comandos utilizados para crear, eliminar y administrar recursos de Azure.
Este conjunto de comandos se instala en Windows como un módulo de PowerShell y en Linux como un paquete para Bash.
Azure PowerShell
Azure PowerShell es un Módulo de PowerShell con comandos para agregar, eliminar o modificar recursos en Azure.
El módulo de Azure PowerShell está disponible tanto en Windows como en Linux y también en Azure Cloud Shell que veremos más adelante.
Azure Cloud Shell
Ahora que entendemos la diferencia entre PowerShell, Bash, Azure PowerShell y AzureCLI, podemos hablar de Azure Cloud Shell.
Azure, siendo una plataforma en la nube, brinda la posibilidad de utilizar Azure CLI mediante un navegador Web sin necesidad de tener un sistema operativo local tipo Windows o Linux.
Puedes iniciar una consola de Cloud Shell mediante el ícono de la barra principal del portal de Azure.
Puedes seleccionar si deseas trabajar con PowerShell o con Bash dependiendo de la tarea que desees realizar tal como se aprecia en la imagen más abajo.
Si deseas tener una experiencia con más espacio, también tienes la opción de ir a la dirección https://shell.azure.com/
Como puedes ver, desde un navegador web, podemos tener acceso tanto a PowerShell como a Bash y por ende, contamos también con Azure CLI.
Conclusión
En pocas palabras, PowerShell y Bash son interfaces de línea de comando para administrar Windows y Linux.
Azure CLI son los comandos que permiten administrar los recursos de Azure desde estas interfaces de comando.
Azure Cloud Shell es una solución Web que nos permite utilizar PowerShell, Bash y en ambas se encuentran instalados los comandos de Azure CLI
Herramienta | Windows | Linux | Navegador Web | Descripción |
PowerShell | X | X | Consola basada en texto, que nos permite azutomatizar tareas y administrar sistemas operativos Windows | |
Bash | X | interprete de órdenes para Linux que se ejecuta en una ventana de texto donde el usuario escribe órdenes o comandos para que estos sean ejecutados por el sistema operativo | ||
Azure CLI | X | X | Conjunto de comandos utilizados para crear, eliminar y administrar recursos de Azure | |
Azure PowerShell | X | X | Módulo de PowerShell con comandos para agregar, eliminar o modificar recursos en Azure | |
Azure CloudShell | X | Consola WEB que permite ejecutar Bash, PowerShell y también cuenta con Azure CLI instalado |
Responses