¿Sabías qué…? Conexión remota a las VMs de PaaS & IaaS desde Visual Studio

Normalmente, por costumbre, tendemos a acceder al portal de Microsoft Azure que nos proporciona el RDP con el fin de conectarnos de manera remota a las máquinas virtuales que tenemos alojadas tanto en IaaS como en PaaS.

Gracias a la integración de Microsoft Azure con Visual Studio, es posible evitarnos este paso a través del Server Explorer.

Basta con acceder a la instancia, dentro del listado de Cloud Services:

Connect using Remote Desktop... Cloud Services

O bien a la máquina virtual:

Connect using Remote Desktop... Virtual Machines

¡Saludos!

Explorando Visual Studio Professional 14 CTP 1 en Microsoft Azure

Si no puedes esperar para descubrir las nuevas características de Visual Studio 14, aquí tienes una forma rápida y sencilla de tener un entorno de pruebas: Utilizar la imagen de la galería de Microsoft Azure.

Visual Studio 14 on Microsoft Azure

En tan sólo unos minutos seremos capaces de tener una máquina virtual con Visual Studio Professional 14 CTP 1, además del SDK 2.3 de Azure ya instalado, sobre un Windows Server 2012 R2.

Si quieres saber más sobre las nuevas características que acompañan a la siguiente versión del IDE puedes comprobarlas en el siguiente enlace.

Para evitar generar consumo cuando no estemos utilizando la máquina virtual, es recomendable apagar la misma en las horas de inactividad. Si quieres saber más sobre ello, puedes encontrar más información en el post Parando las máquinas virtuales en Microsoft Azure.

¡Saludos!

Integración de Visual Studio con Microsoft Azure Virtual Machines

Durante la segunda keynote del evento BUILD de Microsoft se anunció la integración de Visual Studio con Microsoft Azure Virtual Machines, lo cual nos ofrece la posibilidad de crear, administrar y depurar máquinas virtuales de la plataforma. Para ello es necesario actualizar el SDK a la versión 2.3.

Lo mejor de todo es que se nos habilita la posibilidad de crear nuestras máquinas virtuales en IaaS sin necesidad de salir del Visual Studio. Podemos crearla nada más comenzar con un nuevo proyecto: New Project > Web > ASP.NET Web Application > Introducimos el nombre del proyecto > Create remote resources (por defecto es Web Site si tenemos una cuenta de Microsoft Azure asociada).

Create remote resources

Una vez que aceptamos el tipo de proyecto y el tipo de recurso que vamos a crear en remoto, nos aparecerá una nueva ventana donde podremos seleccionar la configuración que necesitamos para la máquina virtual:

Create virtual machine on Window Azure

Una vez que aceptamos la configuración, mientras que estamos desarollando sobre nuestro nuevo proyecto, la máquina ya se está desplegando en Microsoft Azure:

Output virtual machine provisioning

Lo bueno en este escenario, cosa que no ocurre cuando creas la máquina desde el propio portal, es que te da la posibilidad de agregar el rol Web Server y habilitar Web Deploy durante la propia creación, por lo que una vez creada la máquina podremos acceder a la URL elegida y comprobar que efectivamente aparece la página de IIS y además veremos que se han configurado los endpoints HTTP, HTTPS y Web Deploy de manera automática:

Endpoints automatically

También podemos ver esta información desde la ventana Server Explorer, desplegando la flecha de la vm:

Virtual Machines Server Explorer

Para realizar las subidas a la nueva máquina virtual, lo único que debemos hacer es seleccionar la opción Publish, con el botón derecho sobre el proyecto Web. Al haber relacionado desde el primer momento mi desarrollo con mi máquina en Azure, la configuración ya estará prestablecida en el perfil de publicación:

Publish Web Connection

Por último, otra cosa que podemos hacer es habilitar el modo debugging en la vm en IaaS a través de la ventana Server Explorer, haciendo clic con el botón derecho sobre la máquina en cuestión y pulsando sobre la opción Enable Debugging:

Server Explorer Virtual Machine Enable Debugging

La primera vez que vayamos a depurar sobre una máquina, es necesario que se instale la extesión RemoteDebugVS2013:

Adding RemoteDebugVS2013 extension to VM returngivm

Cuando esta característica se habilita, se exponen dos endpoints en nuestra vm:

Remote Debugging Endpoints

Una vez que hayamos terminado con la depuración, basta con seleccionar de nuevo la vm y elegir Disable Debugging. Esta acción no eliminará de manera automática los endpoints habilitados para este fin, por lo que sería necesario eliminarlos manualmente, bien a través del portal o desde Powershell.

Una vez finalizado el proceso ya podremos seleccionar de nuevo la vm y tendremos disponible la opción Attach debugger….

Server Explorer VM Attach Debugger

Se conectará con nuestra máquina para recuperar los procesos activos, donde debemos seleccionar el proceso del IIS (w3wp.exe):

IaaS-VM-Attach-to-process

Para que este segundo punto funcione correctamente es necesario que el despliegue que se realice en la vm esté en modo Debug, con la idea de que los pdbs estén incluidos en la subida.

Espero que sea de utilidad.

¡Saludos!