101 COSAS QUE PUEDES HACER CON CLOUD OS – Cosa 17

Hola amigos, en la última entrega de esta serie hablé acerca de Azure Powershell que es una plataforma muy robusta que me permite administrar una o varias suscripciones de Azure usando comandos Powershell, de modo que puedo realizar toda clase de tareas usando Azure Powershell y sacando provecho de toda su potencia. ¿Qué se puede hacer con esta herramienta? TODO simplemente, desde encender/apagar máquinas, agregar discos, cambiar las redes virtuales, crear sitios web… por sólo citar unos pocos ejemplos.

Pues bien, resulta que también es posible usar otra herramienta que también usa línea de comandos y se denomina “Azure Cross-Platform Command-Line Interface” o simplemente XPLAT-CLI. Con ella podemos interactuar con Azure de una manera que vamos a ver a continuación.

Posteriormente ustedes pueden escoger aquella con la que se sientan más cómodos entre Azure Powershell y xplat-cli.

xplat-cli está hecha en JavaScript y requiere Node.js. Está implementada usando el SDK de Azure para Node.js y se encuentra bajo la licencia Apache 2.0. Si quieren consultar el repositorio del proyecto se encuentra en https://github.com/WindowsAzure/azure-sdk-tools-xplat

¿Cómo instalarla? En el caso de las máquinas Windows hay que descargar el instalador que se encuentra Aquí el instalador se denomina WindowsAzureXPlatCLI.3f.3f.3fnew.exe. Una vez descargado procedemos  ejecutarlo.

Seleccionamos Install

Xplat-Cli-01

Luego I Accept

Xplat-Cli-02

Espero que el proceso se complete

Xplat-Cli-04

Presiono Finish

Xplat-Cli-05

¡Ya quedó instalado!

Xplat-Cli-06

Ahora debo ejecutar una línea de comandos CMD como administrador

Xplat-Cli-07

Una vez se esté en la línea de comandos, hay que ir a la ruta C:\Program Files (x86)\Microsoft SDKs\Azure\CLI que es la ruta por defecto de la instalación de la plataforma xplat-cli

Estando allí podemos escribir azure para ver los comandos y opciones disponibles:

Xplat-Cli-08

Ahora al igual que en el caso de Azure Powershell hay que establecer conexión hacia la suscripción de Azure, esto se puede hacer de dos maneras: Haciendo login con un usuario autorizado para ingresar a la suscripción o descargando las credenciales de dicha suscripción.

Vamos a usar el segundo método, que me ofrece la ventaja de que una vez tenga descargadas las credenciales me basta con abrir la línea de comandos con privilegios en la ruta -C:\Program Files (x86)\Microsoft SDKs\Azure\CLI- y ya puedo interactuar con mi suscripción.

Lo primero que debo hacer es tener abierto mi portal de Azure en la suscripción que quiero conectar, y una vez estando allí debo escribir lo siguiente:

azure account download

Inmediatamente se abre una página wen en donde se indica que se va a descargar un archivo, el cual corresponde a las credenciales que vamos a usar para establecer nuestra conexión:

Xplat-Cli-09

Ahora hay que importar ese archivo usando el comando azure account import

En mi caso el comando completo –Desde xplat-cli- es:

azure account import "d:\tmp\Windows Azure MSDN - Visual Studio Ultimate-12-29-2014-credentials.publishsettings"

Mis credenciales las descargué en la ruta D:\TMP y el archivo de mi ejemplo se denomina Windows Azure MSDN - Visual Studio Ultimate-12-29-2014-credentials.publishsettings

Si todo salió bien verán un mensaje similar al siguiente. Observen los mensajes en donde se indica que se descargaron las credenciales y que se importaron:

Xplat-Cli-10

Ahora, ¡Estamos listos para interactuar con Azure!

Empecemos con ver las máquinas que tengo en mi suscripción, eso se hace con azure vm list

Xplat-Cli-11

Observen que tengo 2 VMs en mi suscripción y se encuentran apagadas en este momento. También observen que la ruta de xplat-cli es D:\Program Files\Microsoft SDKs\Azure, lo que indica que también puedo instalar el producto en la ruta que yo desee.

También observen que si bien ambas VMs están apagadas, una de ellas tiene dirección IP y la otra no. Ello se debe a que una de ellas fue apagada de manera que mantuviera su dirección de manera persistente y la otra no, lo cual puede tener implicaciones en los costos si la IP es pública y se reserva de manera permanente así la máquina está apagada.

Xplat-Cli-11

Si quiero encender la máquina server01 uso el comando azure vm start server01 (Si ya lo notaron, toda acción debe empezar con la palabra “azure”)

Xplat-Cli-12

Empezó el proceso… y ya terminó, la máquina está encendida:

Xplat-Cli-13

Si la quiero apagar uso azure vm shutdown server01

Xplat-Cli-14

Y si de nuevo listo mis VMs observen que server01 ya no tiene IP asignada, pues se apagó por defecto sin persistencia

Xplat-Cli-15

Si quisiera que la VM conservara su dirección IP debo usar al final la opción –p  o --stay-provisioned, es decir:

azure vm shutdown server01 –p

o

azure vm shutdown server01 --stay-provisioned

Ahora voy a crear un sitio web en blanco denominado website01ab00. Recuerden que todo sitio web creado por defecto en Azure tiene el sufijo .azurewebsites.net, de modo que antes de crearlo debo verificar que no exista ya un sitio web con ese nombre público o FQDN, es decir website01ab00.azurewebsites.net no debe existir al momento de su creación.

Voy a usar el comando azure site create website01ab00

Xplat-Cli-16

Como no le especifiqué la región en donde va a ser creado el sitio debo hacerlo, para este ejemplo voy a seleccionar East US

Xplat-Cli-17

Observen que ya se creó sin problema el sitio web

Xplat-Cli-18

Este sitio es un sitio que yo puedo actualizar usando FTP, FTPS o Visual Studio entre otras opciones.

Por último voy a crear otro sitio indicando la ubicación en la misma línea. Como no sé cuál es la sintaxis del comando puedo usar azure site create –h o azure site create –help para ver la ayuda

Xplat-Cli-19

De ahí concluyo que puedo usar por ejemplo azure site create mywebsite01ab99 --location "North Central US" para crear un sitio denominado mynewwebsite01ab99.azurewebsites.net en la región "North Central US"

Xplat-Cli-20

Observen que mi sitio recién creado ya abre: (Esto es un esqueleto o sitio en blanco, debo poblarlo posteriormente)

Xplat-Cli-21

En realidad las posibilidades son enormes y aquí vimos unos pocos ejemplos para que se animen a usar esta herramienta. Por supuesto el siguiente paso es hacer scripts que permitan tener flujos de trabajo complejos para administrar de manera eficiente la plataforma.

Si quieren consultar más información acerca de los comandos y ver una completa guía de los mismos pueden consultar el siguiente link

Ojalá les haya gustado este último post del 2014, les deseo un Feliz Año 2015 para ustedes y sus familias, mucha felicidad y propónganse metas realizables y concretas.

Espero nos sigamos encontrando en este espacio y ¡Que viva Azure! Esto es el presente y futuro mis amigos.