Siguiendo con la línea de los últimos post sobre cómo desplegar una aplicación PHP y un WordPress, en esta ocasión hablaré sobre cómo dar los primeros pasos con Node.js.
Después de instalar el SDK de Windows Azure, para poder trabajar con aplicaciones Node.js es necesario tener instalado el SDK de Node.js, el cuál está disponible como proyecto open source en GitHub https://github.com/WindowsAzure/azure-sdk-for-node
Lo más cómodo sin duda es descargárselo a través de Microsoft Web Platform Installer.
Una vez que lo tenemos instalado, éste nos ofrece una serie de comandos PowerShell que simplifican el trabajo con Node.js y Windows Azure.
Como veréis a continuación, el trabajo es muy similar al que ya veíamos en el post de PHP, ya que el SDK está orientado a ser capaces de generar la estructura de ficheros y directorios dónde incrustar nuestra aplicación, para posteriormente poder empaquetarla en el formato que necesita la plataforma Windows Azure.
El primer paso es abrir la aplicación “Windows Azure PowerShell for Node.js” desde el menú inicio, programas. Una vez abierto, tendremos que conocer una serie de comandos:
Creamos un directorio sobre el cuál crear nuestra estructura de ficheros con mkdir c:tempNode
Una vez que lo tenemos creamos la estructura de ficheros y directorios necesario para poder incluir dentro la aplicación Node.js. Esta estructura de directorios está ya preparada para que luego sea posible empaquetarla en el formato que necesita la aplicación. Así mismo incluye los ficheros de configuración que permite configurar cómo se despliega la aplicación; número de máquinas, endpoints, conexión RDP etc…
Para crear esta estructura se usa el comando New-AzureService tasklist .
Una vez creada la estructura, le podemos decir que queremos añadir un WebRole, una aplicación web que queremos desplegar; Add-AzureNodeWebRole WebRole1
Esta operación creará un directorio WebRole1 que contiene un “Hola Mundo” en Node.js. Es en este directorio dónde podríamos añadir nuestra aplicación, la que queremos desplegar en Windows Azure.
- cd WebRole1
- ls
- notepad server.js
Una vez que tenemos nuestra aplicación preparada, podemos probarla en el entorno de simulación locla que nos proporciona el SDK de Windows Azure.
Para lanzar el entorno de simulación tenemos el siguiente comando; Start-AzureEmulator –launch
En este caso, los comandos PowerShell para Node.js también nos ofrece la posibilidad de desplegar directamente la aplicación, siempre y cuándo tengamos configurados los certificados que permiten la administración remota a través del API REST, tal y como sucen cuando queremos desplegar desde Visual Studio.
El primer paso es obtener la configuración de la cuenta sobre la que queremos desplegar la aplicación e importar esta configuración.
El comando Get-AzurePublishSettings abrirá el navegador, y tras autenticarnos con el LiveID de la subscripción Azure, nos permitirá descargar la configuración de la subscripción, la cuál podremos importarla con el comando Import-AzurePublishSettings.
Una vez importada la configuración podemos desplegar directamente la aplicación. Esta operación crea el servicio en el datacenter indicado y despliega la aplicación.
Publish-AzureService –name NombreServicio –location "North Central US” –launch
Una vez se despliegue la aplicación ya podemos acceder a ella a través de la URL que nos proporciona el servicio que hemos creado.
Desde powershell también podemos hacer otras operaciones, como parar, arrancar o eliminar el servicio desplegado; Stop-AzureService y Remove-AzureService.
Os recomiendo por último este post de David Salgado dónde pone un ejemplo de Node.js, Express y Windows Azure.