Un servicio en Windows Azure consiste de uno o varios web roles y worker roles. Un web role es un una aplicación web en ASP.NET accesible vía HTTP o HTTPS y generalmente es el front-end de la aplicación. En los worker roles se realiza el procesamiento que se encarga del back-end de la aplicación. Los servicios de Windows Azure pueden estar compuestos por uno o ambos tipos de roles y se pueden correr múltiples instancias de cada tipo. Las instancias de los roles pueden ser agregadas o borradas por demanda y permiten a las aplicaciones escalar de manera rápida y económica cuando sea necesario.
Los servicios de storage de Windows Azure proveen almacenamiento en la nube, cuenta con blob servicies para almacenar texto y datos binarios, table services para almacenamiento estructurado y queue servicies para guardar los mensajes que son enviados entre servicios.
En este laboratorio se van a explorar los elementos básicos de los servicios de Windows Azure. Se va a crear un GuestBook (libro de visitas) para mostrar las diferentes funcionalidades de la plataforma de Windows Azure, entre ellas web y worker roles, blob storage, table storage y queues.
En el GuestBook, un web role provee el front-end que permite a los usuarios ver el contenido del libro de visitas y publicar una entrada en dicho libro. Cada entrada contiene un nombre, un mensaje y una imagen. La aplicación también cuenta con un worker role que se encarga de configurar el tamaño de la imagen.
Cuando un usuario postea un nuevo item, el web role actualiza la imagen en el blob storage y crea un nueva entrada en el table storage. Cada entrada contiene la información ingresada por el usuario y un link al blob que contiene la imagen. El web role renderiza esta información al browser para que los usuarios puedan ver el contenido del libro de visitas.
Luego de almacenar la imagen y crear la entrada, el web role postea un work item en la queue para que la imagen sea procesada. El worker role toma el work item desde la queue, recupera la imagen del blob storage y le cambia el tamaño a la imagen.
El uso de colas para postear work ítems es un patrón en común en las aplicaciones en la nube y permite la separación entre las tareas de cómputo y las de front-end. La ventaja de esto es que el front-end y el back-end pueden escalarse de manera independiente.
No hay comentarios:
Publicar un comentario