Disponible el SDK 2.5 de Azure para .NET y Visual Studio 2015 Preview

Otra de las novedades que se presentó en el evento de Visual Studio connect(); fue el nuevo SDK de Azure para .NET Framework. El SDK está disponible para estas versiones de Visual Studio 2012, 2013 y 2015.

Alguna de las características más destacadas:

  • Mejoras en la recopilación de información de diagnóstico para los servicios en la Nube y las máquinas virtuales. Las características de diagnóstico que se usan en Azure tienen un modelo de extensibilidad así que se puede actualizar esta información sin necesidad de volver a desplegar. Nuevas características como el soporte de ETW para registro de log estructurado, soporte para crash dump y soporte para máquinas virtuales por primera vez.
  • Azure Resource Manager Tools. Una aplicación que se despliega en Azure es una combinación de varios servicios. Ahora con las herramientas para administrar recursos se pueden crear entornos complejos en base a la definición de un fichero json.
  • QuickStars. Dentro de Archivo > Nuevo proyecto > Cloud aparecen plantillas para generar servicio en Microsoft Azure.
  • Soporte para la depuración remota de WebJobs y soporte dentro del explorador de servidores. Ahora se pueden depurar WebJob directamente desde Visual Studio. Además se puede explorar el estado y la información de los WebJobs en cada uno de los Azure Web Sites.
  • Soporte para carpeta del servicio de Azure Storage Blob. Explora y crea carpeta dentro del servicio de Azure Storage Blob.
  • Este SDK es el primero que añade soporte para Visual Studio 2015 Preview. Además de las funcionalidades arriba mencionadas, para Visual Studio 2015 Preview se añaden estas características:
  • Añadir servicio conectados. Añade servicio como Azure Storage o Mobiles services de manera muy sencilla. Estos procesos añaden todo lo necesario para poder trabajar con estos servicios de la manera correcta.
  • Single-Sign-On para empresas. Se puede configurar el inicio de sesión único (SSO) para utilizar Azure Active Directory.
  • Conecta Visual Studio a múltiple cuentas de Azure. La primera vez que se utiliza algún servicio de Azure dentro de Visual Studio se tendrá la posibilidad de añadir una cuenta de Azure. Pero posteriormente se podrán añadir más cuentas. Una vez añadida una cuenta de Azure se visualizarán todos los recursos en el explorador de servidores.
  • Análisis de código para Azure. Hay un paquete de NuGet disponible que permite hacer análisis estático de código en busca de patrones que puedan causar problemas de rendimiento, escalabilidad o seguridad en tus aplicaciones de Azure.
  • ASP.NET 5.0. Publica en Azure aplicaciones de ASP.NET 5 nunca ha sido tan sencillo.

Mejoras en la recopilación de información de diagnostico

Trazas ETW

Ahora se puede generar información de diagnóstico estructurado usando ETW Event Source. Lo primero que hay que hacer es crear una categoría de origen de evento para empezar a generar eventos.

 [EventSource(Name="Contoso-GuestBook")]
public sealed class GuestBookEventSource: EventSource
{
    ...
    [Event(1, Message = "Added entry in table storage for guest '{1}'", 
    Level = EventLevel.Informational)]
    public void GuestBookEntryAdded (string guestName, Guid activityID )
    {
        if (this.IsEnabled()) {WriteEvent(1, guestName, activityID);}
    }
    [Event(2, Message = "Queued message to process blob '{0}'", 
    Level = EventLevel.Informational)]
    public void ThumbnailRequestPosted(string pictureUrl, Guid activityID)
    {
        if (this.IsEnabled()) { WriteEvent(2, pictureUrl, activityID);}
    }
    ...
}

En cualquier punto de la aplicacion se puede escribir el siguiente código para registrar un nuevo evento para ese origen.

GuestBookEventSource.Log.GuestBookEntryAdded(

entry.GuestName, GuestBookEventSource.CurrentThreadActivityId);

Una vez que se empieza a generar los registros para ese origen de eventos, el siguiente paso es configurar en las propiedades diagnóstico para servicios en la nube o máquinas virtuales, es la recopilación de los logs de ETW.

clip_image001

Crash Dumps

Otro de los nuevos servicios es la recopilación de volcados de memoria de procesos que se cierran por un error. Para ello hay que ir a la pestaña de Crash Dump y habilitar la recopilación de esta información, el tipo de Crash Dump que se quiere y cada cuanto tiempo se desea que se publique esa información en el destino.

clip_image002

Máquinas Virtuales

Todas estas nuevas características más anteriores que ya disfrutaban en el servicio solamente estaba disponible para los servicios en la nube. Pero gracias al modelo de extensibilidad de las extensiones en las máquinas virtuales, ahora se pueden incluir este tipo de servicios en cualquier tipo de máquina.

clip_image003

Desde Visual Studio, se puede acceder a la lista de propiedades de la máquina virtual y desde ahí añadir una extensión que se llama Microsoft Monitoring Agent Diagnostic.

clip_image004

Desde ahí se puede acceder a la misma configuración de diagnóstico que se accedía desde los servicio en la nube.

Azure Resource Manager Tooling

Azure Resource Manager permite de manera rápida y eficiente crear y desplegar recursos agrupados para organizar recursos dentro de Azure. La herramienta utiliza las plantillas que hay disponibles dentro de la galería de aplicaciones en el portal para trabajar.

clip_image005

Una vez que se ha creado el proyecto se puede encontrar una lista de plantillas con las que empezar a trabajar. En versiones posteriores estarán disponibles más versiones para poder trabajar en ello.

clip_image006

QuickStarts

QuickStarts es la manera más rápida de empezar a trabajar con los diferentes servicios de Azure en una demo de código que explica la funcionalidad del servicio. Si por ejemplo, se quiere empezar a trabajar con Media Services, para subir un fichero multimedia y codificarlo en la nube, hay un QuickStart que permite mostrar el ejemplo.

clip_image007

Hay ejemplos de Azure Storage (Blobls, Tables, Queues), DocumentDB, Azure Redis Cache Service, Azure Media Services, Azure WebJobs y Service Bus.

WebJobs

Azure WebJobs y el SDK está disponible de manera general. Ahora Visual Studio tiene un asistente para crear un Azure WebJob que permite empezar a trabajar con los WebJobs.

clip_image008

A partir de ese punto se puede añadir un nuevo WebJob a un proyecto de Web Site desde Visual Studio. Lo que hace el asistente es crear un nuevo proyecto donde está el código fuente del WebJob para empezar a crearlo.

clip_image010

Lo siguiente que se puede hacer con los WebJobs es visualizarlos en el explorador de servidores. Desde ese menú, se puede acceder al panel de control de WebJob, se puede iniciar manualmente, se puede adjuntar un depurador.

Explorador de Almacenamiento

Azure Storage Blob es un servicio que permite almacenar ficheros binarios dentro de contenedores. Los contenedores son a efecto practicos, carpetas, que pueden tener permisos especiales de seguridad. Ahora desde el explorador de servidores se puede explorar la lista de contenedores, crear un contenedor y listar el contenido de esos contenedores.

clip_image011

HDInsight Server Explorer y Hive Query Support

Por primera vez el SDK de Azure incluye soporte de HDInsight, la distribución de Microsoft para Big Data. Eso significa que desde el explorador de servidores vas a poder visualizar los cluster de Big Data que tengas desplegados en Azure.

También existe la posibilidad de crear proyectos de HDInsight para empezar a generar queries y ejecutarlas directamente en Azure.

clip_image013

clip_image015

Microsoft Code Analysis

Visual Studio 2015 Preview incluye Soporte de la nueva plataforma de compilación de .NET Framework, lo que significa que se dispone de nuevas características para el análisis de código estático. Para empezar a trabajar con esta característica, hay que abrir el explorador de NuGet y buscar Azure Code Analysis.

clip_image016

Esto instalara en el proyecto el paquete Microsoft.VisualStudio.Azure.CodeAnalysis. A partir de ese instante se analizara todo el código de la aplicación en busca de posibles problemas. Conforme el programador empiece a programar este paquete analizará todo el código en busca de problemas.

clip_image017

Luis Guerrero.

Technical Evangelist Microsoft Azure.

@guerrerotook