Los elementos de Azure

Estoy leyendo un post del bueno de Eugenio Pace


Windows Azure 101 – Primitives and Application Patterns – Playing Mendeleyev


donde plantea que Azure está compuesto de elementos que se pueden combinar, como las piezas de un Lego. Escribe sobre combinar piezas simples para formar cosas más complejas, de ahí la referencia a Mendeleyev y su tabla periódica.


Coincido: lo interesante de Azure es que es un modelo en principio simple, que se puede combinar de muchas maneras, para conseguir una explotación de la famosa “cloud”, sin tener que luchar en el intento con interminables APIs.


Hay en principio, “code hosts”, lugares donde se ejecuta nuestro código:



Puede ser un sitio Web, un servicio Windows Communication Foundation, o un Worker, un trabajo que puede ejecutarse sin interacción directa con un usuario o programa. Los dos primeros entonces, son interactivos, y el Worker no. Los sitios Webs interactúan con usuarios, y los servicios conversan con otras aplicaciones. Estos tipos de code hosts, se denominan en la terminología Azure, roles. Entonces, el Worker Role, es el típico proceso en background, corriendo independientemente de que alguien o alguna aplicación lo llame directamente.


Otro bloque de construcción básica de Azure, otras piezas del Lego, son los componentes de persistencia:



Uno puede almacenar Blobs (datos binarios cualquesquiera), tablas (simples) y dejar mensajes en colas. Esas son las formas de hacer que Azure guarde algo, que pueda ser usado más allá de la ejecución actual de nuestro programa.


Entonces, podemos tener un sitio web, que ante pedidos de los usuarios, vaya leyendo y grabando datos en una tabla, como de base de datos, y en un archivo binario:



 


 


Siguiendo con la idea de Eugenio, de combinar las partes, podríamos tener un sitio de subastas, donde nuestras ofertas se graban en una tabla, las fotos se suben en blobs, y nuestros productos ofrecidos pueden ser consumidos desde otras aplicaciones, por ejemplo, con WCF:



Pero podemos complicar el tema. Podemos tener un sitio web, donde el usuario vaya dejando pedidos de generación de reportes, que esos pedidos puedan ir a una cola de persistencia, un Worker Role esté encargado de ir leyéndoles, y produciendo los archivos de reportes, por ejemplo, gráficos o PDFs, que se graban en blobs. Estos son luego consultados por el propio sistema web:



Recordemos que, independientemente del código y la lógica de nuestra aplicación, podemos reconfigurarla para que el role Worker se ejecute en más de una máquina, en la nube. Esto sirve para escalar nuestra aplicación, sin tener que recompilarla.


Bueno, espero haber transmitido el mensaje original del post de Eugenio.


Nos leemos!


Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 1389, 9344, 9345. Bookmark the permalink.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>