Parece que esta tratando de entrar en la conciencia del mercado sistemico, desde el desarrollo.
Una de las bases de todos estos productos es que los nodos se agreguen dinamicamente con mucha facilidad.
GridGain
http://www.gridgain.com/
Realmente permite hacer un grid, pero a costo de que la aplicacion este diseñada y codificada especificamente para procesar en un Grid.
Requiere un alto conocimiento tecnico y no es sencillo darle a programadores semi senior y junior la tarea de decidir que Split de tasks hacer. Es probable que el lider tecnico/arquitecto de software tenga overhead en un grupo de desarrollo que intenta construir con esta herramienta, por estar decidiendo a cada rato que tareas seran spliteables y cuales no conviene splitear.
No es transparente al codigo, por lo que no es facil "portear" aplicaciones viejas a un esquema Grid.
Aun asi, el producto es uno de los primeros que veo que hacen Grid en cuanto a procesamiento y no unicamente datos.
Tiene unos screencast muy copados, para el que no quiera leer demasiado. Merece la pena ojearlo.
Terracotta
http://www.terracotta.org/
Terracota es un Objecto Broker. La idea es dejar de pensar en RMI y comunicacion entre procesos remotos para comenzar a pensar en aplicaciones simples en el que la VM hara el broadcast de obejtos entre distintos nodos (EJB, te comes los mocos!!!! excepto el fabuloso MDB, claro).
Tenes una doble VM, donde una es el worker y esa publica a otra que se sincroniza con los demas nodos. La VM sincronizada despues publica los objetos a la worker.
Me llego un comentario que Sun piensa lanzar un feature parecido en alguna version de la VM, pero Sun es lento con los cambios.
PRO: Es trasparente a la aplicacion y se integra con spring. Si use Spring, mi codigo no deberia verse muy impactado. No es un Grid de procesamiento ni de datos, sino que es un productor-consumidor-broker de objetos. Eso hace que los objetos de un nodo, se vean en TODOS los nodos con la misma data.
Es una de las mas difundidas. Existen casos de exito de esta herramienta, porque ya hay desarrollos que la utilizan.
CONTRA: El nivel de transacciones entre VM's es altisimo, asegurar el sincronismo requiere un interesante trabajo de testeo (aun no confio mucho en el sincronismo de la herramienta).
Oracle Tangosol Coherence
http://www.oracle.com/technology/products/coherence/index.html
Es un especie de SAN. Usa un esquema de cacheo de datos y el desarrollador ve el acceso de objetos como la obtencion de entries de un Map.
Es un Grid de datos, no de procesamiento (por mas que los datos sean objetos). Permite que en varios nodos se vean los mismos registros con manejo de failover.
Para aplicaciones web es "semi-trasparente" ya que la persistencia de la sesion se maneja en una memoria "que parece compartida" que es accedida por todos los nodos del Grid.
Realmente es una ayuda al balanceo, ya que puede eliminar el schema de sticky sessions.
La persistencia se hace completamente en memoria, por lo que si se caen el nodo primario y el de backup, pueden perderse datos.
PRO: Es memoria, es configurable, es un grid de datos.
CONTRA: Para aplicaciones comerciales es pago, requiere codificacion para publicacion de objetos que no sean una simple HTTPSession, no es tan facil de configurar como parece. Oracle aun lo esta manoseando.
GigaSpaces
http://www.gigaspaces.com/pr
Aun no lo pude observar, sinceramente. En cuanto pueda, le pego una ojeada.
Enjoy it.
Saludos.
No hay comentarios:
Publicar un comentario