Azure Cloud Shell: Bash o PowerShell?

Hace un tiempo se presentó la public preview de una de las features de Azure que más me ha llamado la atención. No por el hecho de que Azure no tenga buenas features, si no porque es una que considero clave a la hora de lograr una mejor adopción de la plataforma. Esta feature es Azure Cloud Shell.

Qué es Azure Cloud Shell?

Según Microsoft:

“Azure Cloud Shell is an interactive, browser-accessible shell for managing Azure resources.”

Por lo que básicamente podemos decir que es una consola para administrar Azure desde la web! Eso significa que no va a ser necesario instalar el CLI en nuestras computadoras (o al menos puede sustituirse).

Ahora bien, que beneficios puede traer una consola dentro de nuestro navegador web? En realidad es mucho más que eso y por ello quiero destacar algunos puntos a tener en cuenta a la hora de hablar de Azure Cloud Shell y en particular que herramientas ofrece a la hora de administrar Azure:

  • Es un container!

  • Tiene la última versión de Azure CLI pre-instalada, en donde ya estamos conectados y listos para comenzar a trabajar.

  • Dentro de las herramientas que trae por defecto, se encuentran: Vim, Git y Python.

  • El directorio $home se encuentra respaldado en Azure utilizando Azure File Storage, por lo que es encesario contar con una storage account para utilizar ésta funcionalidad.

Sobre el tema costo, adjunto una pequeña cita extraída de la Technet que aclara la situación:

The machine hosting Cloud Shell is free, with a pre-requisite of a mounted Azure file share to persist your $Home directory. Regular storage costs apply.

Es decir que usar Azure Cloud Shell en sí no tiene costo, lo que tiene costo mínimo es utilizar los servicios de Storage de Azure para alojar nuestro directorio $Home.

Azure Cloud Shell está soportado para utilizarse en los navegadores Chrome, Firefox, Safari, IE y Edge. Aunque se recomienda utilizarlo en Chrome, Edge y Safari.

Manos a la obra!

Ahora que hemos conocido un poco mejor la consola vamos a ver como podemos hacer para trabajar de forma más eficiente utilizando Azure Cloud Shell.

Al acceder a la consola vemos que realiza un proceso de preparación y conexión:

Azure Cloud Shell

Como indica la imagen, el acceso a Azure Cloud Shell con PowerShell se encuentra en Private Preview, para poder acceder es necesario registrarse en el siguiente enlace: https://aka.ms/PSCloudSignup

Ahora que nos encontramos conectados podemos comenzar a indagar que nos permite realizar la consola.

Si observamos la variable $home, vemos que se encuentra un directorio en particular: C:\Users\ContainerAdministrator. En caso de ejecutar Get-WmiObject -class Win32_OperatingSystem vemos que devuelve una versión de Windows 10. La versión que indica la salida de la ejecución es la Anniversary Update (Build number 14393).

$home

Una gran opción que tenemos en Azure Cloud Shell es la posibilidad de utilizar dir para movernos en las suscripciones y recursos de Azure de forma ágil y sencilla, como muestra el GIF a continuación:

Por último, recordar que se encuentran disponibles los comandos de Azure CLI, como por ejemplo:

Que despliega en la consola las VMs que se encuentran desplegadas en nuestra suscripción en forma de tabla. Al comando anterior podríamos adicionarle el parámetro -g, que permite definir el Resource Group al que queremos consultar.

Saludos,