Propuesta de VAN: Programando con Windows Azure

81 views
Skip to first unread message

Angel Java Lopez

unread,
Dec 5, 2010, 1:50:14 PM12/5/10
to altnet-...@googlegroups.com
Hola gente!

Queria proponer una VAN, sobre el tema de Programando en Azure.

Temas a incluir:

- Web Roles
- Worker Roles
- Azure Storage: Blobs, Queues, Tables
- Patrones
- Ejemplos

No tengo todavia SQL Azure (seguramente Fabio Maulo podria dar una VAN aparte sobre todo ese tema)

Podria darla en Enero, si les parece.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez



Leonardo Micheloni

unread,
Dec 5, 2010, 5:22:49 PM12/5/10
to altnet-...@googlegroups.com
+1

2010/12/5 Angel Java Lopez <ajlop...@gmail.com>:

> --
> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> altnet-...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> altnet-hispan...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/altnet-hispano?hl=es.
>

Jorge Fioranelli

unread,
Dec 5, 2010, 5:27:53 PM12/5/10
to altnet-...@googlegroups.com

No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1170 / Virus Database: 426/3298 - Release Date: 12/05/10

Carlos Marcelo Santos

unread,
Dec 6, 2010, 6:52:28 AM12/6/10
to altnet-...@googlegroups.com

+1

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Se certificó que el correo entrante no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 9.0.872 / Base de datos de virus: 271.1.1/3298 - Fecha de la versión: 12/05/10 04:34:00

Edgar Ramos

unread,
Dec 6, 2010, 7:24:30 AM12/6/10
to altnet-...@googlegroups.com
+1

Alberto Alcaide

unread,
Dec 6, 2010, 7:35:06 AM12/6/10
to altnet-...@googlegroups.com
+1
--
Saludos,

Alberto Alcaide Vargas
Desarrollador de Software
Fono 88077791

Lester Quintero

unread,
Dec 6, 2010, 8:21:42 AM12/6/10
to altnet-...@googlegroups.com
+1

Jorge Gamba

unread,
Dec 6, 2010, 9:27:22 AM12/6/10
to altnet-...@googlegroups.com
+1
Jorge Gamba
Consultor en Desarrollo de Software

Dirección:        Diagonal 16 No. 16D-11, Barrio Bosque
                  Acacías (Meta), Colombia

Teléfono Fijo:    (+57 8)6563055
Teléfono Celular: (+57 300)2699384

Sitio Web:        http://jorgegamba.com
Twitter:          @jorgegamba

jescob...@gmail.com

unread,
Dec 6, 2010, 10:45:12 AM12/6/10
to AltNet-Hispano
Hola que tal!! Bueno me presento mi nombre es Angel soy de Peru y me
parece interesantísimo que propongan temas relacionados con la nube,
en especial Windows Azure como plataforma que al parecer está teniendo
muchísima acogida comercial en el mercado.

Adicionalmente sugiero hablar de Windows Azure AppFabric (caching,
cdn, AC+WIF) yo les puedo apoyar con esto en Enero... anteriormente
realize un par de webcast sobre el tema y bueno a futuro podriamos
conversar sobre WAG (Windows Azure Guidance by Eugenio Pace)
interesantisimoo

Angel Escobedo

El Bruno

unread,
Dec 6, 2010, 3:12:52 PM12/6/10
to AltNet-Hispano
+1

On Dec 6, 3:27 pm, Jorge Gamba <jorgega...@gmail.com> wrote:
> +1
>
> El 6 de diciembre de 2010 08:21, Lester Quintero <lester.quinte...@gmail.com
>
>
>
> > escribió:
> > +1
>
> > El 6 de diciembre de 2010 07:35, Alberto Alcaide <a.alcaid...@gmail.com>escribió:
>
> > +1
>
> >> El 6 de diciembre de 2010 09:24, Edgar Ramos <eramose...@gmail.com>escribió:
>
> >> +1
>
> >>> El 5 de diciembre de 2010 13:50, Angel Java Lopez <ajlopez2...@gmail.com
> >>> > escribió:
>
> >>> Hola gente!
>
> >>>> Queria proponer una VAN, sobre el tema de Programando en Azure.
>
> >>>> Temas a incluir:
>
> >>>> - Web Roles
> >>>> - Worker Roles
> >>>> - Azure Storage: Blobs, Queues, Tables
> >>>> - Patrones
> >>>> - Ejemplos
>
> >>>> No tengo todavia SQL Azure (seguramente Fabio Maulo podria dar una VAN
> >>>> aparte sobre todo ese tema)
>
> >>>> Podria darla en Enero, si les parece.
>
> >>>> Nos leemos!
>
> >>>> Angel "Java" Lopez
> >>>>http://www.ajlopez.com
> >>>>http://twitter.com/ajlopez
>
> >>>>  --
> >>>> Has recibido este mensaje porque estás suscrito al grupo
> >>>> "AltNet-Hispano" de Grupos de Google.
> >>>> Para publicar una entrada en este grupo, envía un correo electrónico a
> >>>> altnet-...@googlegroups.com.
> >>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >>>> altnet-hispan...@googlegroups.com<altnet-hispano%2Bunsu...@googlegroups.com>
> >>>> Para tener acceso a más opciones, visita el grupo en
> >>>>http://groups.google.com/group/altnet-hispano?hl=es.
>
> >>>  --
> >>> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano"
> >>> de Grupos de Google.
> >>> Para publicar una entrada en este grupo, envía un correo electrónico a
> >>> altnet-...@googlegroups.com.
> >>> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >>> altnet-hispan...@googlegroups.com<altnet-hispano%2Bunsu...@googlegroups.com>
> >>> Para tener acceso a más opciones, visita el grupo en
> >>>http://groups.google.com/group/altnet-hispano?hl=es.
>
> >> --
> >> Saludos,
>
> >> Alberto Alcaide Vargas
> >> Desarrollador de Software
> >> Fono 88077791
>
> >>  --
> >> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano"
> >> de Grupos de Google.
> >> Para publicar una entrada en este grupo, envía un correo electrónico a
> >> altnet-...@googlegroups.com.
> >> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >> altnet-hispan...@googlegroups.com<altnet-hispano%2Bunsu...@googlegroups.com>
> >> Para tener acceso a más opciones, visita el grupo en
> >>http://groups.google.com/group/altnet-hispano?hl=es.
>
> >  --
> > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano"
> > de Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > altnet-...@googlegroups.com.
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > altnet-hispan...@googlegroups.com<altnet-hispano%2Bunsu...@googlegroups.com>
> > Para tener acceso a más opciones, visita el grupo en
> >http://groups.google.com/group/altnet-hispano?hl=es.
>
> --
> *Jorge Gamba*
> *Consultor en Desarrollo de Software*
>
> Dirección:        Diagonal 16 No. 16D-11, Barrio Bosque
>                   Acacías (Meta), Colombia
>
> Teléfono Fijo:    (+57 8)6563055begin_of_the_skype_highlighting            (+57 8)6563055      end_of_the_skype_highlighting
> Teléfono Celular:(+57 300)2699384begin_of_the_skype_highlighting            (+57 300)2699384      end_of_the_skype_highlighting
>
> Sitio Web:        http://jorgegamba.com
> Twitter:          @jorgegamba <http://twitter.com/jorgegamba>

Camilo Vera

unread,
Dec 10, 2010, 10:31:31 AM12/10/10
to altnet-...@googlegroups.com
+1

2010/12/6 El Bruno <bcap...@gmail.com>

Alejandro Labra

unread,
Dec 11, 2010, 11:40:17 PM12/11/10
to AltNet-Hispano
+1

Lo único que faltaría definir es la fecha....

Saludos
Alejandro Labra
@alabras

Angel Java Lopez

unread,
Jan 6, 2011, 7:40:52 AM1/6/11
to altnet-...@googlegroups.com
Hola gente!

Les parece Sabado 29 de Enero, a la misma hora de siempre?

Preferiria Live Meeting.... Martin Salias es mas joven que yo y se adapta a otros programas... yo soy un tradicionalista ;-)
2010/12/12 Alejandro Labra <alejand...@gmail.com>

--

Edgar Ramos

unread,
Jan 6, 2011, 9:24:30 AM1/6/11
to altnet-...@googlegroups.com
+1, Excelente propuesta

Saludos

Edgar

nelopa...@gmail.com

unread,
Jan 6, 2011, 9:26:48 AM1/6/11
to altnet-...@googlegroups.com
+1

2011/1/6 Edgar Ramos <eramo...@gmail.com>:

Alejandro Labra

unread,
Jan 6, 2011, 10:42:41 AM1/6/11
to altnet-...@googlegroups.com
+1,
Hay estaremos...

Jorge Gamba

unread,
Jan 27, 2011, 8:18:46 PM1/27/11
to altnet-...@googlegroups.com
Hola, recuerden que este sábado tenemos la primera VAN del año, esta de Azure con el maestro Angel "Java" López, a la misma hora de siempre, 18:00 UTC/GMT.

El 6 de enero de 2011 10:42, Alejandro Labra <alejand...@gmail.com> escribió:
+1,
Hay estaremos...

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Jorge Gamba
Consultor en Desarrollo de Software

Dirección:        Diagonal 16 No. 16D-11, Barrio Bosque
                  Acacías (Meta), Colombia

Teléfono Fijo:    (+57 8)6563055
Teléfono Celular: (+57 300)2699384

Jorge Gamba

unread,
Jan 28, 2011, 11:22:27 AM1/28/11
to altnet-...@googlegroups.com
También recuerden que el link de conexión a la reunión via live meeting es http://snipr.com/virtualaltnet, encontrarán más información sobre cómo conectarse en la página http://altnethispano.org/reuniones/descripcion.aspx.

Fabio Maulo

unread,
Jan 28, 2011, 4:17:33 PM1/28/11
to altnet-...@googlegroups.com
No creo ser el adecuado.

2010/12/5 Angel Java Lopez <ajlop...@gmail.com>
Hola gente!

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Fabio Maulo

Ariel Piñeiro

unread,
Jan 29, 2011, 12:45:54 PM1/29/11
to altnet-...@googlegroups.com
Muchachos arranca ahora en 15 minutos?
O es a las 18 Argentina?

Saludos,
Ariel Piñeiro
http://ar.linkedin.com/in/arielpineiro



2011/1/28 Fabio Maulo <fabio...@gmail.com>

Jorge Gamba

unread,
Jan 29, 2011, 12:47:22 PM1/29/11
to altnet-...@googlegroups.com
Sí, es en 15 minutos

2011/1/29 Ariel Piñeiro <arie...@gmail.com>



--

Alejandro Labra

unread,
Jan 31, 2011, 11:38:10 PM1/31/11
to altnet-...@googlegroups.com
Hola a todos,

Ya se encuentra publicada la VAN, la pueden ver en el siguiente enlace. http://altnethispano.org/wiki/van-2011-01-29-windows-azure.ashx.

Saludos
Alejandro Labra
@alabras

Eugenio Pace

unread,
Feb 2, 2011, 3:53:27 PM2/2/11
to altnet-...@googlegroups.com
Gracias Angel! Muy buena sesion como siempre. Estuve los primeros 30 min, pero despues me tuve que ir.
 
Un par de cosas que escuche en la grabacion sobre las cuales queria agregar un poco mas de informacion para toda la comunidad. Angel meciono algunas de estas, pero las pongo aca para reforzar los conceptos.
 
1- Transacciones entre diferentes tipo de storage (tables, queues y blobs) no estan soportadas. Cada operacion en cualquiera de los subsistemas de storage es atomica e independiente de las otras.
 
2- Transacciones en Tables si estan soportadas, aunque con algunas limitaciones. Usualmente se usa la opcion “batch”. Es decir, cuando se hace un “save”, se hace “save” de una lista de entidades que se tratan como un “unit of work”, pero todas las entidades deben tener al mismo PartitionKey. Otro limite es que la transaccion no puede tener mas de 1000 entidades o 4 MB total.
 
3- La visibilidad de un mensaje en una cola es inmediata. No hay ningun delay despues de un “put”. Por eso usualmente el “put” es la ultima operacion en una “transaccion compleja” (e.g.: escribo un blob, guardo en una tabla, guardo en otra y finalmente notifico a traves de un mensaje). Si fuera al reves, un worker podria leer el mensaje en la cola y tratar de procesar blobs/tables que aun no tienen la informacion. La lectura de un mensaje de una cola simplemente lo convierte en “invisible” hasta que el mensaje se borra explicitamente o hasta que la invisibilidad “expira”. La consecuencia de este comportamiento es que:
    a- Hay una posibilidad no nula de leer el mismo mensaje mas de una vez
    b- Los mensajes pueden leerse en un orden distinto al enviado (no es un FIFO estricto)
    c- Se puede usar la propiedad “dequeue count” como mecanismo para determinar si hubo varios intentos de procesar un mensaje sin exito. (Estos mensajes se denominan “posion messages” porque su contenido puede ser la razon de hacer fallar al proceso que los lee, y consecuencia de eso es que regresan a la queue). Una buena practica es leer el valor de “dequeue count” y si el valor es > a un limite predeterminado escribir el mensaje en otra cola para analisis posterior (una especie de “dead letter queue”).
 
4- Los 8K de limite en la queue es post-encoding. El tamanio efectivo del mensaje es un poco mas chico (~6K). Creo (pero no estoy muy seguro), que este encoding ocurre solo si se usa la API de StorageClient. Si se usa el endpoint directamente (usando HttpRequest por ejemplo), el limite es 8K.
 
5- Leer mensajes en batch (hasta 32) es otra buena practica (mas barato y mejor en relacion a la latencia en la red)
 
6- Un dato pcoo conocido: en Windows Azure es posible tener un Web Role y un Worker role en la misma instancia. Mucho mas barato y aceptable para muchas aplicaciones que no tienen grandes requerimientos (e.g. pocos usuarios concurrentes/proco trafico,etc)
 
7- Costos: les recomiendo el capitulo de nuestro libro: http://msdn.microsoft.com/en-us/library/ff803375.aspx para entender como abordarlo. Los numeros especificos van cambiando porque hay promociones/descuentos/ofertas, etc. Por ejemplo, hace un tiempo hubo una oferte para subscriptores de MSDN (casi 6 meses de uso sin costo), pero el approach es basicamente el mismo.
 
Sintesis de costos (todos los precios en USD)
 
CPU:
- Desde 0.12 a 0.96 $/horas dependendiendo de la potencia de la maquina (hay 4 tamanio de maquinas: 1, 2, 4 y 8 cores). El minimo “quantum” de uso es 1 hora. Si prenden una maquina a las 12:00 y la apagan a las 12:03 –> 1 hora. 12:00 – 12:40 –> 1 hora. El precio es el mismo si es un Web Role o Worker Role o VM Role.
 
Storage:
- 0.15 $/GB por mes, no importa el tipo de storage (tbles, blobs, queues)
- 0.01 $/10K trx –> cada 10.000 operaciones (read, write, delete) pagan 1 centavo de dolar (por eso convienen siempre las operaciones batch)
 
Bandwidth:
- Intra-datacenter en la misma region no tiene costo.
- bandwidth hacia el datacenter: $0.15/GB, saliendo $0.10/GB
 
En Asia , el bandwidth es 3x (0.45 / 0.30 respectivamente)
 
SQL Azure:
   
- 1GB –> $10/mes
- 10GB –> $100/mes
hasta un maximo de 50GB.  
 
Hay mas servicios, pero estos son los principales hoy.
 
 
Finalmente, un mensaje publicitario:
 
- Consideraciones generales de migracion: http://msdn.microsoft.com/en-us/library/ff728592.aspx
- Consideraciones generales de desarrollo (greenfield): http://msdn.microsoft.com/en-us/library/ff966499.aspx
 
Las dos guias incluyen ejemplos (con una funcionalidad un poco mas aburrida que los de Angel: no hay ningun fractal. Y definitivamente muuuucho mas aburridos que los ejemplos con blob storage que mostro Smile. Aca vamos todos presos si publicamos un ejemplo asi...)
 
 
Cierro con una recomendacion: si bien “maestro no toca dinero”, en Windows Azure (y en casi cualquier offering parecido de PaaS), el disenio de la aplicacion tiene un impacto directo en la facturacion que reciben. Asi que entender los numeros no es un mero ejercicio de contabilidad. Va a influenciar directamente la forma en la cual disenian. Una suerte de CDD: cost driven design Smile. Yo creo que esto es bueno, porque en general mejores disenios son premiados con menor facturacion. Y el dinero, es un gran motivador para cambiar comportamiento. No les parece?
 
 
Espero que les sea util. Cualquier duda / consulta / pregunta, me avisan!
 
Saludos a todos.
Eugenio
wlEmoticon-smile[1].png

Angel Java Lopez

unread,
Feb 2, 2011, 4:00:55 PM2/2/11
to altnet-...@googlegroups.com
Hola gente!

Muchas gracias, Eugenio, por asistir, y por esta muy detallada informacion, para completar los temas tratados.
2011/2/2 Eugenio Pace <eugeni...@gmail.com>
Gracias Angel! Muy buena sesion como siempre. Estuve los primeros 30 min, pero despues me tuve que ir...


José F. Romaniello

unread,
Feb 2, 2011, 4:09:47 PM2/2/11
to altnet-...@googlegroups.com
Podriamos hacer copy paste de este mensaje de Eugenio en el wiki?, tal
vez es util para quienes lo vean offline

Saludos

El 02/02/11, Angel Java Lopez <ajlop...@gmail.com> escribió:

> --
> Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> altnet-...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> altnet-hispan...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/altnet-hispano?hl=es.
>
>

--
Enviado desde mi dispositivo móvil

Jorge Fioranelli

unread,
Feb 2, 2011, 4:41:25 PM2/2/11
to altnet-...@googlegroups.com, <altnet-hispano@googlegroups.com>
Hola Eugenio,

Dos consultas:

- Para que el webrole y el workerrole corran en la misma instancia hay que configurar algo en particular?

- Un conocido me contó que si dejas las instancias stopeadas se facturan igual, que la única forma de que no las facturen es borrandolas. Según él esto lo aprendió cuando le vino la primer factura :S. Suena raro que se facture algo que no está corriendo, pero es verdad que al estar ya deployado ocupa lugar en el server.
Es cierto esto?

Muchas gracias

Jorge

Pd: y Angel gracias por la VAN!
Las dos guias incluyen ejemplos (con una funcionalidad un poco mas aburrida que los de Angel: no hay ningun fractal. Y definitivamente muuuucho mas aburridos que los ejemplos con blob storage que mostro <wlEmoticon-smile[1].png>. Aca vamos todos presos si publicamos un ejemplo asi...)
 
 
Cierro con una recomendacion: si bien “maestro no toca dinero”, en Windows Azure (y en casi cualquier offering parecido de PaaS), el disenio de la aplicacion tiene un impacto directo en la facturacion que reciben. Asi que entender los numeros no es un mero ejercicio de contabilidad. Va a influenciar directamente la forma en la cual disenian. Una suerte de CDD: cost driven design <wlEmoticon-smile[1].png>. Yo creo que esto es bueno, porque en general mejores disenios son premiados con menor facturacion. Y el dinero, es un gran motivador para cambiar comportamiento. No les parece?
 
 
Espero que les sea util. Cualquier duda / consulta / pregunta, me avisan!
 
Saludos a todos.
Eugenio
 
 
 
 
 
Sent: Monday, January 31, 2011 8:38 PM
Subject: Re: [altnet-hispano] Propuesta de VAN: Programando con Windows Azure
 
Hola a todos,
 
Ya se encuentra publicada la VAN, la pueden ver en el siguiente enlace. http://altnethispano.org/wiki/van-2011-01-29-windows-azure.ashx.
 
Saludos
Alejandro Labra
@alabras
--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Angel Java Lopez

unread,
Feb 2, 2011, 4:57:46 PM2/2/11
to altnet-...@googlegroups.com
Respuesta rapida:

Hay un ejemplo de correr una aplicacion web (no se si es un web role) desde un worker role:
http://code.msdn.microsoft.com/wazdmon

No se si esta el codigo disponible, seguramente Eugenio podra aportar mas.

No vi que se pudiera correr un Worker Role desde un Web Role.
2011/2/2 Jorge Fioranelli <jorge.fi...@gmail.com>

Eugenio Pace

unread,
Feb 2, 2011, 5:29:19 PM2/2/11
to altnet-...@googlegroups.com
Este articulo habla de como combinar un WebRole y un Worker Role en una sola instancia:
 
 
Esta medio oculto y es poco intuitivo, pero  muy simple de implementar. Yo lo uso en algunas aplicaciones mias que no requieren muchas prestaciones.
 
 
Jorge – si, es cierto. Un servicio desplegado, pero no iniciado, se factura igual porque, como bien vos decis, esta ocupando un “slot” en el datacenter que no puede ser utilizado por otros. Es el modelo de un hotel: uno reserva la habitacion y tienen garantizado su uso mientras tenga una reserva valida. Ahora, si uno esta durmiendo o pasenado por la ciudad, no importa, igual se paga. Por las razones que expuse en mi mensaje anterior, reservas de menos de 1 hora no tienen ninguna ventaja. Asi que les conviene hacer la programaciond e uso en bloques de horas enteras.
 
En el portal pusieron un cartelito bastante llamativo precisamente para avisar a los usuario y que no haya sorpresas.
 
Saludos
Eugenio
2011/2/2 Jorge Fioranelli <jorge.fi...@gmail.com>
Para anular tu suscripción a este grupo, envía un correo electrónico a mailto:altnet-hispano%2Bunsu...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Jorge Fioranelli

unread,
Feb 2, 2011, 6:05:50 PM2/2/11
to altnet-...@googlegroups.com, <altnet-hispano@googlegroups.com>
Gracias Eugenio y Ángel por las respuestas.

Fabio Maulo

unread,
Feb 3, 2011, 8:18:48 AM2/3/11
to altnet-...@googlegroups.com
Hola Eugenio.
Para el punto 3 me equivoque confundiendo la visibilidad de un put con el Visibility-timeout de un get.
Sabes si hay algún pattern, que se haya descubierto/descripto para el rollback de un msg en la queue ?

2011/2/2 Eugenio Pace <eugeni...@gmail.com>



--
Fabio Maulo

wlEmoticon-smile[1].png

Eugenio Pace

unread,
Feb 3, 2011, 5:26:50 PM2/3/11
to altnet-...@googlegroups.com
Hola Fabio!
 
EL rollback es manual. El tema es que una vez que se escribe en una cola el mensaje es visible a otros procesos (en workers) asi que es mejor diseniar suponiendo que alguien lo va a leer y compensar de alguna otra manera.
 
El patron mas comun es el que mencionaba abajo: escribir en la cola al final de todo la “transaccion”. En uno de los ejemplos de la guia hacemos precisamente eso.
 
1- Escribimos en todas las tablas / blobs, etc. Usualmente el root lo  escribimos ultimo (e.j. en una “factura”, primero salvamos los “line items”
y despues los “headers”).
2- Al final escribimos en la cola de datos para avisarle al proceso siguiente.
 
Si 1 falla, el mensaje nunca se escribe.
Si 1 falla por la mitad, digamos al escribir el “root”, las entidades subordinadas quedan “colgadas del aire”, pero como nadie las referencia el sistema sigue consistente. Podemos implementar un proceso de limpieza que elimine datos sin referencias.
Si la falla ocurre justo al escribir el mensaje, (supongamos el peor caso de que la maquina “desaparece” justo despues de escribir todas las entidades). En este caso el usuario va a recibir un error igual y podria reintentar. Todo se procesaria de nuevo. Las entidades previas podrian dejarse ahi y simplememte detectar que ya estan y escribir el mensaje en la cola.
 
Un factor a tener en cuenta: storage es barato. Tener info redundante suele no ser un factor importante a considerar desde el punto de vista de costos. Si lo es desde el punto de vista del disenio de la aplicacion, consistencia de los datos, etc.
 
Saludos!
Eugenio
2011/2/2 Eugenio Pace <eugeni...@gmail.com>
Para anular tu suscripción a este grupo, envía un correo electrónico a mailto:altnet-hispano%2Bunsu...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.
--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a mailto:altnet-hispano%2Bunsu...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Fabio Maulo

wlEmoticon-smile[1].png

Fabio Maulo

unread,
Feb 4, 2011, 5:22:08 PM2/4/11
to altnet-...@googlegroups.com
Para cerrarlo a mi estilo:
did you send a message to #Azure queue and you would delete it before somebody read it ?
#SayItWithAsong

2011/2/3 Eugenio Pace <eugeni...@gmail.com>



--
Fabio Maulo

wlEmoticon-smile[1].png

Eugenio Pace

unread,
Feb 4, 2011, 7:45:47 PM2/4/11
to altnet-...@googlegroups.com
Bueno, es lo que es...Smile
 
Pero, a ver si entendi bien. Vos preferirias una API que te permita:
 
1- Escribir el mensaje en la cola pero en forma “invisible”
2- Hacer algo
3- Cambiar el mensaje a “visible”
 
La alternativa propuesta (que funciona hoy) es:
 
1- Hacer algo
2- Escribir en la cola
 
En que situaciones la opcion 2 no es suficiente? Tenes un ejemplo?
 
Saludos
Eugenio
 
P.S.: