Deploy de aplicaciones en Windows Azure

image

En este post voy a explicar como crear una aplicación Windows Azure, compilarla, generar el paquete, subirlo y publicarlo.

Antes de empezar, necesitamos instalar nuestro entorno de desarrollo, solicitar un trial de Windows Azure, y obviamente, Visual Studio 2010 SP1, hay que tener en cuenta que Windows Azure SDK no es compatible con las versiones Express de Visual Studio.

Para empezar, debemos abrir Visual Studio, con privilegios de administrador, haciendo click derecho en el acceso directo, y seleccionando “Run as administrator”.

Una vez abierto, desde el menú debemos acceder a “File” –> “New” –> “Project” [Ctrl + Shift + N]. En el menú izquierdo, elegir  “Cloud”, y seleccionar “Windows Azure Project”. Personalmente yo elijo C#, pero también se podría utilizar VB.NET.

image

Escribí el nombre de tu aplicación como prefieras, y luego clickea en el botón OK.

image

Cuando hacemos click en OK, nos aparecerá una ventana como la de la imagen anterior.

En esta ventana debemos seleccionar de entre muchas opciones. En este post no voy a explicar en detalle cada Role, pero sí una pequeña explicación para tener una idea de lo que estamos haciendo.

Un Windows Azure Role es un componente (escalable) corriendo individualmente en la nube que se corresponde a una instancia de una maquina virtual (Virtual Machine/VM).

Hay 2 tipos de Roles:

  • Un Web role es una aplicación Web corriendo en un IIS. Es accesible vía HTTP o HTTPS (endpoint).
  • Un Worker role es una aplicación que procesa en background que ejecuta código .NET.

Para continuar nuestra idea de deployar nuestra primera aplicación, crearemos un WebRole con el nombre “MiPrimerAPP” por ejemplo. Una vez apretado el botón OK, crearemos nuestra aplicación que debería tener la siguiente estructura:

image

Si queremos, podemos agregar otro Role haciendo click derecho en Roles (dentro de nuestro proyecto de Windows Azure), luego en “Add”, y seleccionar el Role que queramos agregar.

image

Para eliminar un Role, debemos seleccionarlo en el listado de Roles, y tocar la tecla “supr” o “delete”.

Ahora, volviendo a la aplicación web. Vamos a dejar como ejemplo el código que viene por default, y presionamos F5. Visual Studio va a hacer build al proyecto, va a ejecutar e iniciar el Development Fabric, inicializar el Development Storage (si se ejecuta por primera vez), va a empaquetar el deployment, atachar todas las instancias de los roles, y luego ejecutar la aplicación en el browser apuntando al Web Role.

image

En el taskbar nos va a aparecer el icono del Development Fabric, que sirve para probar en un ambiente local las funcionalidades de Windows Azure.

image

Haciendo click con el botón derecho en el icono, y seleccionando “Show Compute Emulator UI”, se abrirá el “Windows Azure Compute Emulator”, que nos permite efectuar operaciones sobre nuestro deployment. Como, ver en detalle los logs, reiniciar y eliminar deployments.

Con nuestra aplicación corriendo, deberíamos ver nuestra instancia de Web Role y un Worker Role.

image

Espero que hasta el momento no se hayan cruzado con algún error. Si es así, nuestra aplicación de ejemplo está lista para hacer deploy. Si ya tenés una cuenta de prueba de Windows Azure, debemos ingresar a http://windows.azure.com iniciando sesión con tu Windows Live ID. Una vez que estas logueado, se nos presentará una nueva interfaz web de Windows Azure Platform,construida en Silverlight.

image

image

Para empezar el proceso de deployment, tenemos que hacer Publish a nuestro proyecto (WindowsAzureProject) desde el Visual Studio, seleccionando “Create Service Package Only”, para que genere el paquete en nuestro file system, y subirlo manualmente desde la interfaz web de Windows Azure Platform,al que accedimos anteriormente.

image

image

El empaquetado consta de 2 archivos, “” y “”, que se crearán en el directorio “\bin\Release\Publish”.

image

Con el empaquetado generado, vamos a la interfaz web de Windows Azure Platform, hacemos click en “Hosted Services, Storage Accounts & CDN” desde el menú que se encuentra en la esquina inferior izquierda.

image

Luego desde el menú superior seleccionamos “New hosted service”

image

Nos aparecerá un popup como el siguiente:

image

Primero debemos seleccionar nuestra subscripcion, un nombre, la región y un prefijo de URL (podemos apuntar un dominio propio, pero es necesario generar un subdominio *.clounapp.net). Es posible que elijamos un nombre de subdominio que ya tenga otro usuario, si esto pasa, debemos buscar otro nombre.

image

Seleccionar entre los “Deployment options”, seleccionamos “stage environment”, voy a hablar sobre las opciones de deployment en otro post.

También tenemos que poner un nombre al deploy (Deployment name), por ejemplo, MiPrimerAPP-FECHA.

Y seleccionar de nuestro file system los archivos del empaquetado que generamos desde el Visual Studio al hacer Publish (Package location, Configuration file).

Una vez que llenamos todos los campos, hacemos click en el boton OK al popup. Va a aparecer una ventana de alerta, podemos ignorar esta ventana (nos alerta de que nuestro nuevo hosted service se va a inicializar con una sola instancia).

image

Luego comenzará el proceso de subida del paquete y creación del hosted service, este puede demorar unos minutos, no hay que cerrar el explorador durante este proceso, ni refrescar la pagina.

image

image

Al crear un hosted service, a este se le asigna un ID random para el ambiente de staging “Staging Environment”, que sirve para poder acceder a nuestra aplicación remotamente, como muestra la imagen.

image

Nuestra evaluación de Windows Azure incluye un Hosted Service, de modo que, si queremos subir otra aplicación, debemos eliminar la que subimos.

Para eliminar nuestro Hosted Service, primero debemos detenerlo, una vez detenido, se habilitará el botón “delete” para poder eliminarlo.

image

Siguiendo todos los pasos, ya estamos listos para poder empezar a utilizar Windows Azure, en los próximos posts voy a dar mas detalles sobre los tipos de Roles, los ambientes de deploy, y la configuración de nuestra aplicación desde el Azure Configuration File.

[Facebook] [Google] [LinkedIn] [Twitter] [Windows Live] [Email]
Posted in Microsoft Azure Tagged with: , , , , , , , , , ,
One comment on “Deploy de aplicaciones en Windows Azure
  1. Hola Alejandro, como estás?
    Te molesto por que estamos buscando Senior developer asp.net vb.6 entre otros conociminetos, nos gustaría contarte sobre nuestro trabajo es una punto com que vende servicios globalemte. Si te einteresa por favor mandanos un mail con tus datos que te llamamos para contarte. Deade ya muchas gracias saludos Alberto Carrara

Leave a Reply

Your email address will not be published. Required fields are marked *

*

ACERCA DE…

Soy desarrollador, estudiante de ingeniería en informática en UADE, trabajo como TE en el equipo de nuevas tecnologías de Microsoft Argentina, Chile y Uruguay.

Me pueden encontrar en Twitter (@AleBanzas), Facebook (/AleBanzas), o LinkedIn (/in/AleBanzas).