Microsoft Azure Storage Queues ( Colas de almacenamiento ) + C# Primera parte

Como¬†todos sabemos Microsoft Azure ofrece un sin n√ļmero de servicios ¬†en esta entrada vamos a aprender sobre Microsoft Azure Storage Queues.

¬ŅQue son colas?

En simples palabras es  un sistema de almacenamiento FIFO (First In First Out) donde podemos guardar mensajes que deben ser procesadas en segundo plano o en un momento concreto y diferente del proceso principal.

¬ŅQue Ofrece Queue Storage?

Ofrece almacenamiento en cola de mensajes asincrónicos para la comunicación entre componentes de aplicaciones, que pueden estar ejecutándose en la nube, en el escritorio, en el sistema local o en dispositivos móviles.

Que necesitamos antes de empezar

  • Necesitamos una cuenta en el ¬†Azure portal
  • Visual Studio 2015 +

Si no sabes como crear el recurso de almacenamiento en el portal de Azure les dejo este video para aprender cómo hacerlo.

¬ŅAhora que hago?

Para trabajar con Azure necesitamos agregar a nuestro proyecto los siguientes paquetes mediante nuget:

Microsoft Azure Storage Client Library for .NET

Microsoft Azure Configuration Manager library for .NET

El proceso se indica paso a paso en el siguiente video:

  • Si estas en Windows sigue estos pasos para agregar los paquetes de nuget a la soluci√≥n

Lo siguiente que debemos hacer es configurar la cadena de conexión de nuestro desarrollo el proceso se explica en el siguiente video.

 

Una vez configurada la cadena de conexión lo que debemos de hacer es obtener la cadena de conexión de nuestro app.config en el siguiente video se muestra como.

Una vez que ya tenemos sabemos como obtener nuestra cadena de conexión vamos a crear nuestra cola para lo cual seguimos los pasos del siguiente video.

Ya que tenemos nuestra cola creada vamos a agregar un mensaje a nuestra cola, para ello seguimos los pasos del siguiente video.

Y listo eso es todo en la primera parte en una segunda parte veremos c√≥mo enviar m√ļltiples mensajes en la cola y a leer dichos mensajes.

Referencia —->¬†https://docs.microsoft.com/en-us/dotnet/api/overview/azure/storage?view=azure-dotnet

Si te gusto o tienes alg√ļn comentario no dudes en escribirme.

 

Visual Studio 15

New Visual Studio Installer

Para todos nosotros que hemos estado esperando la¬† pr√≥xima versi√≥n de Visual Studio¬† (con nombre en c√≥digo Visual Studio¬†“15” ), sabremos que uno de los¬†¬†grandes temas de lanzamiento del productos es la instalaci√≥n y la actualizaci√≥n. Microsoft y su equipo a¬† reestructurado la instalaci√≥n para hacerla ¬†m√°s peque√Īa de forma predeterminada, m√°s r√°pida y m√°s fiable y m√°s f√°cil de manejar.

En el ¬†// Build¬†de este a√Īo, vimos¬†el primer avance experimental de la nueva experiencia de la instalaci√≥n, con el m√°s peque√Īo “n√ļcleo editor de” carga √ļtil para Visual Studio con un peso de aproximadamente 320 MB en el disco.

La experiencia de instalación

La configuraci√≥n es probablemente la √ļnica experiencia que cada uno de nosotros como usuarios de¬†Visual Studio compartimos,¬†Microsoft esta interesado en tu opini√≥n antes de lanzar una versi√≥n final por lo que a habilitado una encuesta puedes llenarla aqu√≠.

Elija su Stack, Obtenga un instalador

Otra cosa interesante que est√°n haciendo es segmentando las “cargas de trabajo” ya que en versiones anteriores ten√≠amos todo instalado aun no fu√©semos a trabajar con ellas. Las versiones recientes de ¬†Visual Studio siempre han tenido una opci√≥n de configuraci√≥n avanzada donde se puede instalar caracter√≠sticas a un nivel muy granular, y en Visual Studio “15” ¬†nos¬† ¬†daran a√ļn m√°s control del que tiene en la actualidad VS.

Han estado haciendo investigaciones sobre lo que debe ser el derecho de cobro de las cargas de trabajo (es decir sobre lo que queremos tener instalado o no), y han llegado al siguiente concluso:

  • El desarrollo de la plataforma de Windows universal
  • Desarrollo web (incl. ASP.NET, mecanografiado, Azure utillaje)
  • Desarrollo de aplicaciones de escritorio de Windows con C ++
  • Desarrollo de aplicaciones m√≥viles multiplataforma con .NET (incl. Xamarin)
  • El desarrollo de aplicaciones de escritorio .NET
  • El desarrollo de Linux y la IO con C ++
  • Desarrollo de aplicaciones m√≥viles multiplataforma con C√≥rdoba
  • Desarrollo de aplicaciones m√≥viles con C ++ (incl. Android, iOS)
  • Oficina / SharePoint complemento en el desarrollo
  • El desarrollo de Python web (incl. Django y¬†Flask support)
  • La ciencia de datos y aplicaciones anal√≠ticas (incl. R, F #, Python)
  • Desarrollo Node.js
  • Desarrollo de juegos multiplataforma (incl. Unidad)
  • Nativo de Windows desarrollo de juegos (incl. DirectX)
  • Almacenamiento y procesamiento de datos (incl. SQL, Hadoop, Azure ML)
  • Desarrollo y gesti√≥n de servicios en la nube Azure
  • Desarrollo de extensiones de Visual Studio

Si eres como yo de los curiosos¬†aqu√≠¬†puedes descargar ¬†Visual Studio “15” Preview

Esto es todo no olviden llenar la encuesta aquí.

Microsoft Azure, Creando una m√°quina virtual con Linux.

En Microsoft Azure encontraremos dos formas de implementación  la clásica y la administrador de recursos, Microsoft recomienda usar el modo administrador de recursos para las nuevas implementaciones en lugar de el clásico.

Para la realización de esta práctica necesitaremos una suscripción a Microsoft Azure, podemos obtener un trial de prueba aquí.

Herramientas que necesitamos para conectarnos de manera segura a nuestro servidor Linux.

SSH ‚ÄĒ o secure shell ‚ÄĒ es un protocolo de conexi√≥n cifrada que permite inicios de sesi√≥n seguros sobre conexiones no seguras. Se trata del protocolo de conexi√≥n predeterminado para las m√°quinas virtuales de Linux hospedadas en Azure, a menos que configuremos nuestras m√°quinas virtuales de Linux para habilitar alg√ļn otro mecanismo de conexi√≥n. Los usuarios de Windows tambi√©n pueden conectarse a m√°quinas virtuales Linux en Azure y administrarlas mediante una implementaci√≥n de cliente ssh, pero los equipos Windows normalmente no incorporan un cliente ssh, por lo que tendremos que elegir uno.

yo particularmente prefiero usar puTTY y puTTYgen, pueden descargar a puTTy aquí y a puTTygen aquí.

Antes de crear la m√°quina virtual Linux, ser√° necesario descargar las herramientas cliente y generar los archivos de claves p√ļblica y privada para poder crear una conexi√≥n segura desde nuestro¬†equipo de trabajo hacia la m√°quina virtual Linux en Azure.

Manos a la obra !!!!! XD ūüôā

Obtener ssh-keygen y openssl en Windows

La configuraci√≥n b√°sica SSH para Azure incluye un par de claves p√ļblicas y privadas ssh-rsa de 2048 bits, as√≠ como un archivo .pem generado a partir del archivo de clave privada id_rsa para su uso con el modelo de implementaci√≥n cl√°sica del portal cl√°sico (si es que en alguna ocasi√≥n necesitamos usarlo).

Si no tenemos  Git para windows instalado en nuestra pc podemos descargalo aqui. Una vez hecho esto ejecutamos el Git Bash como Administrador.

Cuando ejecutemos el Git Bash nos deberá aparecer una Línea de comandos similar a esta01

 

 

 

 

 

 

Luego escribimos el siguiente comando para crear una nueva clave p√ļblica.

openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem 

Debemos proporcionar toda la información que nos pida, al terminar habremos creado  2 archivos: myPrivate.key y myCert.pem. La pantalla se verá similar a la siguiente.  02

 

 

 

 

 

 

Ahora ejecutamos el siguiente comando para convertir el archivo myPrivate.key en una clave privada RSA.

openssl rsa -in ./myPrivateKey.key -out myPrivateKey_rsa 

Esta sería el resultado en nuestra pantalla al ejecutar el comando03

El comando anterior nos creó una nueva clave privada llamada myPrivateKey_rsa.

Ahora ejecutamos¬†¬†Puttygen,¬†hacemos¬†clic en el men√ļ File > Load a Private Key.¬†04

Buscamos la clave privada, a la que hemos llamamos anteriormente myPrivateKey_rsa. Debemos cambiar el filtro de archivos para mostrar todos los archivos.

Nota: A la hora de buscar el archivo debemos tener en cuenta que se nos puede guardar en la carpeta de nuestro usuario y no en el folder git .

Luego de buscar el archivo myPrivateKey_rsa, nos aparecerá una ventana similar a esta.

05

Hacemos clic en aceptar. Y pulsamos¬†¬†Save private key¬†, para guardar nuestra clave privada. Luego hacemos clic en la opci√≥n¬†¬†Save Public Key,¬†para generar el archivo con la llave p√ļblica que se nos¬†solicitara al crear la m√°quina virtual Linux en el portal de Azure.

06

Si queremos confirmar que nuestra clave p√ļblica se guardo correctamente vamos a la consola git apuntamos al directorio donde guardamos el archivo que contiene nuestra clave p√ļblica en mi caso la nombre como passServer.txt, para visualizar mi clave publica utilice el siguiente comando

$  cat passServer.txt

La salida en la consola debería ser similar a este.

07

Creando una m√°quina virtual con Linux en el Portal de Azure

Nos dirigimos a la siguiente dirección https://portal.azure.com/ 

Una vez dentro, en el men√ļ concentrador damos clic en la opci√≥n +Nuevo.

08 

Seleccionamos la categoría Máquina Virtuales.

09

Nos aparecerá una lista de aplicaciones destacadas, Seleccionamos la imagen de Ubuntu Server 14.04 LTS. 

10

En la parte inferior de la página Ubuntu Server 14.04 LTS, seleccionamos Administrador de recursos para crear la máquina virtual en el Administrador de recursos de Azure.  Debemos tener en cuenta que, para la mayoría de las cargas de trabajo nuevas, Microsoft recomienda el modelo de implementación Administrador de recursos sobre el Clásico. En la misma página, damos clic al botón Crear, para iniciar el aprovisionamiento de la máquina virtual Linux.

12

Después de que  seleccionemos  la imagen, podemos utilizar los valores predeterminados de Azure en la mayor parte de la configuración y crear rápidamente la máquina virtual.
1. En la sección de configuración básica, proporcionamos los datos solicitados y damos clic en el botón Aceptar.

  • ¬†Nombre de la m√°quina virtual.¬†El nombre que le querramos dar a nuestra maquina
  • ¬†Nombre del usuario. Este es el nombre de usuario que utilizaremos al realizar la conexi√≥n con el cliente SSH.
  • ¬†Tipo de autenticaci√≥n. Seleccionamos la opci√≥n Clave p√ļblica SSH.
  • ¬†Clave p√ļblica SSH. Proporcionamos el contenido del archivo con la llave p√ļblica generada en anteriormente.
  • ¬†Suscripci√≥n. Seleccionamos nuestra suscripci√≥n Azure.
  • Grupo de recursos. Seleccionamos +Nuevo.
  • ¬†Nombre del nuevo grupo de recursos.
  • Ubicaci√≥n. Seleccionamos la ubicaci√≥n m√°s cercana a la regi√≥n.

13

En la secci√≥n Tama√Īo, ¬†deberemos seleccionar el tama√Īo adecuado para el uso que queramos dar a la m√°quina virtual. Cada tama√Īo especifica el n√ļmero de n√ļcleos de proceso, la memoria y otras caracter√≠sticas como la compatibilidad con el Almacenamiento Premium, lo que afectar√° al precio. Azure recomienda autom√°ticamente determinados tama√Īos seg√ļn la imagen que se elija.

En nuestro caso como es para fines educativos ¬†elegiremos ¬†el bloque DS1_V2 como tama√Īo de la m√°quina virtual y da clic en el bot√≥n Seleccionar.

14

En la sección Configurar características opcionales, podemos ver la configuración de red y de almacenamiento de la nueva máquina virtual. En la primera máquina virtual, generalmente podemos aceptar la configuración predeterminada. Damos clic en el botón Aceptar para elegir los valores predeterminados.

15

En la sección de Resumen podemos revisar las opciones de configuración. Cuando terminemos de revisar la configuración, damos clic en el botón Aceptar para proceder a la creación de la máquina virtual. El proceso dará inicio y el estatus actual será mostrado en el Panel de inicio.

Al finalizar se nos desplegar√° una pantalla similar a esta.

17

 

 Utilizar ssh para realizar una conexión a la Máquina Virtual creada

Ahora podemos conectarnos a una máquina virtual con Ubuntu mediante ssh de manera normal. Sin embargo, necesitamos detectar la dirección IP asignada a la máquina virtual de Azure.
El valor de la IP p√ļblica puede encontrarse en la hoja de configuraci√≥n de la m√°quina virtual creada.
1. Navega a la hoja de configuración de la nueva máquina virtual creada.
2. Copia el valor de la IP p√ļblica.

18

Ejecutamos la herramienta Putty.exe que descargamos anteriormente y escribimos la direccion IP publica de nuestra m√°quina virtual.

19

Hacemos clic en la pesta√Īa Connection > SSH > Auth para elegir la clave privada.

20

Hacemos clic en Open para conectarnos a nuestra máquina virtual. En la ventana de alerta de seguridad, seleccionamos Yes para agregar la llave del servidor en el caché de Putty y continuar con la conexión.

21

Después de realizar la conexión, se nos mostrará la consola del servidor.

22

En la consola, escribimos el nombre de usuario que proporcionamos al crear la m√°quina virtual.

23

En este momento, habremos realizado la conexi√≥n a nuestro servidor Linux en Azure !!! Genial no ? ūüôā

Esto es todo hasta el momento en esta entrada , describimos el proceso para crear una máquina virtual con Linux en Microsoft Azure. Describimos también, el proceso para poder realizar una conexión segura con el servidor Linux mediante SSH.

Cualquier duda, comentario o sugerencia no duden en escribirme ¬†! ūüôā