Windows Azure: Release de Windows Azure SDK 2.2 (y sus chuladas)

Ya está publicada la nueva release de Windows Azure SDK 2.2. En esta release se han incluido un gran número de características:

  • Soporte para Visual Studio 2013.
  • Se ha integrado el Sign-In de Azure en Visual Studio.
  • Debugging remoto de servicios cloud con Visual Studio.
  • Soporte de administración de Firewalls en Visual Studio para bases de datos SQL.
  • Imágenes de máquinas virtuales con Visual Studio 2013 RTM para suscriptores MSDN
  • Windows Azure Managemente Libraries for .NET
  • Se han actualizado los Windows Azure PowerShell Cmdlets y ScriptCenter

Vamos a ver algunos detalles de lo que trae esta nueva release. Pasaros también por Channel 9 para ver un nuevo episodio de Visual Studio Toolbox que estará disponible próximamente, en el que se mostrarán estas características en video.

Soporte para Visual Studio 2013

La versión 2.2 de la sdk de Windows Azure es la primera versión que soporta oficialmente la RTM de Visual Studio 2013. Si te instalaste la versión 2.1 con la versión Preview de Visual Studio 2013 te aconsejamos que actualicéis vuestros proyectos a la SDK 2.2. Esta release, la 2.2, puede coexistir con las releases 2.0 y 2.1 en Visual Studio 2012:

Windows Azure SDK Supported

Integración el Sign-In de Azure en Visual Studio

La integración del Sign-In de Azure en Visual Studio es una de las grandes mejoras incluidas en esta release. Esta integración permite a los desarrolladores a desarrollar/testear/administrar recursos de Windows Azure desde Visual Studio sin tener que descargar o usar certificados de administración.

Ahora tan sólo hacemos clic derecho en el icono "Windows Azure" del Server Explorer de Visual Studio y elegimos la opción de "Connect to Windows Azure":

Connect to Windows Azure option

Haciendo esto, se nos pedirán nuestras credenciales con las que queremos hacer sign-in:

Windows Azure Sign-in

Podemos usar tanto una cuenta de Microsoft (ej. Windows Live ID) o una cuenta corporativa (ej. Active Directory) como email. La ventana se actualizará con el aspecto apropiado dependiendo de la dirección email que hayamos puesto:

Windows Azure Promp

Una vez que nos logamos veremos los recursos de Windows Azure para los que tenemos permiso automáticamente en el Server Explorer de Visual Studio (y podemos empezar a usarlos):

Windows Azure y Server Explorer de Visual Studio

Con esta característica seremos capaces de publicar aplicaciones web, desplegar máquinas virtuales y servicios cloud, usar los diagnósticos de Windows Azure, e interactuar plenamente con nuestros servicios de Windows Azure desde Visual Studio. Toda la autenticación se gestiona con el Windows Azure Active Directory asociado a tu cuenta de Windows Azure (podéis ver más detalles sobre esto en mi anterior post)

Esta autenticación end-to-end entre los Service Management APIs + Dev Tools + Management Portal + scripts automáticos de PowerShell nos permite un modelo de seguridad mucho más seguro y flexible con Windows Azure, y hace más sencilla la administración de desarrolladores y administradores dentro de un mismo proyecto. Esto también permite a las organizaciones y empresas usar el mismo modelo de autenticación que usan para sus desarrolladores en la nube. También asegura que un empleado que deje la compañía pierde inmediatamente el acceso a los recursos en la nube una vez que se suspende su cuenta de Active Directory.

Administración suscripciones y filtros

Una vez que nos logamos con Visual Studio, podemos filtrar qué suscripciones de Windows Azure son visibles en el Server Explorer haciendo clic derecho y seleccionando la opción "Filter Services". También podemos usar la opción "Manage Subscriptions" para administrar nuestras suscripciones de Windows Azure:

Windows Azure y Server Explorer

Veremos entonces el diálogo "Manage Suscriptions" en donde veremos que cuentas hemos usado recientemente, así como las suscripciones que contienen:

Manage Windows Azure Suscriptions

El tab "Certificates" nos permite continuar con la importación y uso de certificados de administración para gestionar los recursos de Windows Azure. No se ha eliminado ninguna funcionalidad en esta release - todos los escenarios existentes previamente siguen siendo soportados de la misma manera. El soporte de Sign-in de Windows Azure de esta release sólo añade funcionalidad.

Nota: Los nodos SQL Database y Mobile Service del Server Explorer no soportan el sign-in en este momento. Por lo que, sólo veremos bases de datos y servicios móviles bajo esos nodos si tenemos un certificado de administración que nos permita acceder a ellos. En próximas versiones habilitaremos el sign-in para estos casos.

Debugging remoto de recursos en la nube con Visual Studio

En la release 2.2 se añade el soporte necesario para debuggear remotamente muchos tipos de recursos en Windows Azure. Ahora podemos ver en vivo cómo se comporta nuestro código en Windows Azure. Vamos a ver cómo podemos habilitar el debuggin remoto de un Cloud Service:

Debuggin remoto de Cloud Services:

Para habilitar el debuggin remoto de nuestro servicio cloud, seleccionamos la opción Debug en el Build Configuration en el tab de Common Settings en el mago de publicación de nuestro servicio:

Debuggin remoto Windows Azure Cloud Service

Ahora, en el tab Advanced Settings marcamos la opción Enable Remote Debugging for all roles:

Remote Debugging Windows Azure Cloud Service

Una vez que tengamos nuestro Cloud Service publicado y ejecutándose en la nube, sólo tendremos que poner un breakpoint en el código:

Debuggin de un Cloud Service

Ahora, desde el Server Explorer de Visual Studio seleccionamos la instancia del Cloud Service que hemos desplegado, y seleccionamos la opción Attach Debugger:

Debugging de un Cloud Service

Una vez que enlazamos el debugger al Cloud service y se llega al punto del breakpoint, podremos usar todas las características de Visual Studio para depurar la instancia del servicio remotamente, en tiempo real, y veremos cómo se ejecuta nuestra aplicación en la nube:

Debugging de un Cloud Service

La depuración remota nos permite testear y depurar mucho más fácilmente nuestras aplicaciones en la nube. Con esta versión la depuración de servicios en la nube ya es posible, próximamente añadiremos la depuración remota de Web Sites.

Soporte de administración de Firewalls en Visual Studio para bases de datos SQL

Por defecto se habilita un firewall en las bases de datos SQL hosteadas en Windows Azure. Esto asegura que sólo nuestra aplicación (o las direcciones IP que aprobamos) puede conectarse y ayuda a mantener nuestra infraestructura segura por defecto. Esto es muy bueno para la seguridad, pero algunas veces puede ser un quebradero de cabeza para desarrollar (ya que por defecto no podemos conectarnos y administrar la base de datos de manera remota desde Visual Studio si un firewall bloquea nuestra instancia a Visual Studio).

Una de las características que hemos añadido en esta versión es el soporte necesario para facilitar la configuración del firewall directamente desde Visual Studio.

Firewall de SQL de Windows Azure desde Visual Studio

Con la SDK 2.2, cuando intentamos conectarnos a una base de datos SQL con el Server Explorer, y las reglas de un firewall nos impide acceder a la base de datos desde nuestra máquina, nos preguntará si queremos añadir una regla de seguridad para permitir el acceso desde nuestra IP:

Add Firewall Fule

Simplemente haciendo clic en Add Firewall Rule añadirá la regla automáticamente. En algunos casos, la lógica de obtener nuestra dirección IP puede no ser suficiente (por ejemplo. estamos tras un firewall corporativo que usa un rango de direcciones IP) y tendremos que establecer una regla en el firewall para un rango de ips. Esta ventana también nos permite hacer eso de forma fácil.

Una vez que nos hemos conectado podremos administrar la base de datos directamente desde el Server Explorer de Visual Studio:

Visual studio Server Explorer

Imágenes de máquinas virtuales con Visual Studio 2013 RTM para suscriptores MSDN

La semana pasada anunciamos la disponibilidad de Visual Studio 2013.

Con esta nueva versión de Windows Azure hemos preconfigurado unas cuantas imágenes con máquinas virtual con VS 2013 listo  para los suscriptores de MSDN. De manera que podemos crearnos máquinas virtuales con VS 2013 en tan sólo unos clics:

VM Visual Studio 2013

Windows Azure ofrece la forma más rápida y fácil para empezar a desarrollar con Visual Studio 2013

Windows Azure Managemente Libraries for .NET

Tener la posibilidad de automatizar la creación, despliegue y cerrar recursos es un requisito clave para aplicaciones que se ejecutan en la nube. También ayuda un montón cuando necesitamos escenarios de desarrollo y testing, junto a tests de UI contra entornos de pre-producción.

En esta release se publica un nuevo conjunto de Windows Azure Management Libraries for .NET. Estas librerías hacen muy sencillo el uso de tareas con cualquier lenguaje .NT (C#, VB, F#, etc). Estas capacidades de automatización sólo estaban disponibles a través de los Windows Azure PowerShell Cmdlets o los desarrolladores tenían que escribirse sus propios wrappers para la Windows Azure Service Management REST API.

Experiencia moderna de desarrollo .NET

Hemos trabajado en diseñar unas API's .NET fáciles de entender que mapeen a los endpoints REST, asegurándonos de que expongan y usen las funcionalidades modernas de .NET:

  • Soporte para Portable Class Library (PCL)
  • Distribuidas a través de paquetes NuGet con las mínimas dependencias para simplificar el versionado.
  • Soporte para tareas asyn/await.
  • Infraestructura compartida para errores comunes, tracing, configuración, HTTP pipeline, etc.
  • Construidas con la testeabilidad en mente.
  • Creadas sobre las librerías más populares como HttpClien y Json.NET

Automatizando la creación de una máquina virtual con .NET

Vamos a ver un ejemplo de cómo podemos usar estas librerias para automatizar la creación de una máquina virtual. Deliberadamente veremos un esceneraio con un montón de opciones configuradas - incluyendo enumeraciones de imágenes VHD, enlazando dispositivos de datos, endpoints de red + reglas de firewall - para ver la potencia y la riqueza que ofrecen estas librerías.

Empezamos con un código que muestra cómo podemos enumerar las imágenes de Windows que ya hay en la Windows Azure VM Gallery. Buscaremos la primera imagen de una VM que tiene la palabra "Windows" y la usaremos como base para crear nuestra VM. Después crearemos un contenedor de servicios en la nube en la región West US:

Ahora podemos personalizar algunas opciones como establecer el nombre de la máquina, el nombre y contraseña de administración, y el hostname. También estableceremos un endpoint para escritorio remoto (RDP) en las reglas del firewall:

Ahora indicaremos el host VHD y los discos de datos que queremos montar en la máquina virtual, e indicaremos el tamaño de la VM en la que queremos que se ejecute:

Una vez que está todo configurado la llamada a la creación de la máquina virtual se ejcuta de forma asíncrona:

En unos minutos tendremos la máquina virtual desplegada y ejecutándose en Windows Azure con todo lo que le hallamos configurado, lista para usar:

Disponibilidad a través de NuGet

Las Windows Azure Management Libraries for .NET ya están disponibles en Nuget. Como están en Preview, tendremos que añadir la opción IncludePrerelease cuando busquemos el paquete. El screenshot de la consola de Nuget muestra cómo obtenerlo:

También la podemos instalar desde la interfaz gráfica:

Licencia Open Source

Como el resto de la Windows Azure SDK, estamos publicando el código bajo la licencia (Apache 2) y está hosteado en https://github.com/WindowsAzure/azure-sdk-for-net/tree/master/libraries si queréis contribuir.

Se han actualizado los Windows Azure PowerShell Cmdlets y ScriptCenter

También publicamos Windows Azure PowerShell 0.7.0 (que es una descarga a parte). Podéis ver todos los cambios aquí. Aquí tenéis algunas de las mejoras que se han hecho:

  • Soporte para Autenticación con Windows Azure Active Directory
  • Scrip Center ofrece un montón de ejemplos de scripts para automatizar tareas comunes en Windows Azure.
  • Nuevos cmdlets para Media Services y SQL

Script Center

Windows Azure nos permite automatizar un montón de tareas con PowerShell. Suelen pedir más ejemplos para escenarios comunes para aprender y personalizarlos. Con esto en mente, hemos incluido el Script Center.

Podéis aprender a crear scripts para Windows azure en este artículo. Encontraréis un montón de ejemplos que ofrecen diferentes soluciones, incluyendo infraestructura, administración de datos, web y más:

Todos los scripts de ejemplo están hosteados en TechNet con enlaces del Windows Azure Script Center. Cada script está muy completo con buenos comentarios, descripciones detalladas, y ejemplos de uso.

Resumen

Visual Studio 2013 y Windows Azure SDK 2.2 hacen más fácil que nunca empezar a crear aplicaciones en la nube. Junto a los recursos de Windows Azure Developer Center que te guiarán en todo momento, la release 2.2 de Windows Azure SDK hará que tu experiencia sea más divertida y eficiente.

Si aún no tenéis una cuenta de Windows Azure, podéis pedir una trial y empezar a usarlo con todas las características que hemos visto. También podéis visitar el Windows Azure Developer Center para aprender más sobre cómo crear aplicaciones en la nube.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos.

Artículo original.