martes, 26 de febrero de 2008

Manolo & Benito Sistemas de Información S.L.

¿Qué pasaría si un periódico nacional encargase el diseño e implementación de su versión digital a los otrora popularísimos Manolo y Benito? Posiblemente la página web sería en blanco y negro porque no habría presupuesto para la emisión en color, o se caerían los titulares a trozos porque Benito hubiera hecho por enésima vez la pasta sin agua, o te mostrarían el escaneado diario de la portada del periódico en papel, la portada del periódico de la competencia, claro.

¿Y que podría pasar si se le encargase el sistema de información de un periódico digital a un grupo de informáticos becarios? Pues sencillamente que el resultado sería brillante, de bajo coste, de alta calidad, y con un rendimiento espectacular siempre y cuando el número de peticiones estuviera en un número razonable.

Cuando el número de peticiones se dispara por algún motivo, por ejemplo: un debate electoral que llevaba 15 años sin producirse en España, aparecen los problemas que normalmente los becarios suelen pasar por alto. En estas situaciones, la gente ávida de curiosidad por saber quién dicen los diferentes periódicos digitales que ha ganado el debate, comienza a entrar en uno y otro para comparar, incrementando el número de peticiones.

Hoy en día todos los periódicos incorporan un gestor de contenidos (CMS) que almacena la información en bases de datos y permite llevar a cabo búsquedas, almacenar automáticamente datos como hora de creación de la noticia, periodista que la ha escrito, posibilita la creación online de multitud contenidos de forma simultánea, etc, etc. Al aumentar las peticiones simultáneas aumenta el número de conexiones. Normalmente, en proyectos normales esto se resuelve con un pool de conexiones que la mayoría de servidores de aplicaciones gestionan. Al inicio se crean N conexiones (la creación de una conexión con una base de datos es un proceso costoso en tiempo comparado con la operación de realizar una consulta y presentar los datos) con el fin de ahorrar tiempo cuando sean necesarias. El problema surge cuando todas las conexiones están siendo usadas y llega una nueva petición de conexión. Esta es la pregunta que todos los arquitectos y diseñadores de sistemas de información se preguntan. ¿Qué repercusión tiene? Evidentemente en un sistema de control de tráfico aéreo, o de emergencias sanitarias, o de una central nuclear... en situaciones críticas, no podría desestimarse, pero... ¿y un diario digital? ¿Qué opción elegiría un diario digital? La respuesta en la siguiente imagen (click para ver a pantalla completa)


Petardazo al intentar cargar www.publico.es el 25/02/2008 a las 00:49



Para proyectos destinados a controlar situaciones críticas en las que un retraso al atender una petición, una alarma, etc puede suponer una catástrofe es imprescindible una buena infraestructura en el lado del servidor. Una arquitectura que permita alta disponibilidad en cualquier situación extrema. Es necesario contar con varios servidores, con balanceo de carga, con bases de datos distribuidas y replicación de datos, en definitiva, un sistema robusto que no se caiga debido al sobresfuerzo que exigen los usuarios. Un diseño de sistema no apto para becarios.

En cambio un medio de información puede perfectamente suponer que una situación así no tiene especial repercusión. Un usuario puede esperar pacientemente a que alguna conexión quede libre y entonces volverá a cargarse la página correctamente para él. No se pierde gran cosa.

Pues sí. Sí que se pierde. Se pierde prestigio, imagen. Sobre todo cuando todos los demás medios de información, incluídas las versiones digitales de los tabloides gratuitos como 20minutos o ADN no han tenido un sólo fallo en sus sistemas. Se pierde imagen y se pierde credibilidad, sobre todo entre aquellos que no están familiarizados con lo que hay detrás de este tipo de sistemas, porque aparenta haber sido diseñado por unos becarios contratados por Manolo & Benito Sistemas de Información S.L.

Desconozco si el sitema de información del novísimo diario Público ha sido desarrollado por un grupo de becarios, pero la realidad es que fue el único que quedó colapsado debido al incremento de conexiones, a pesar que no es precismente uno de los más consultados (como puede ser El País o El Mundo). La traza de la excepción lo dejaba bien claro: "Cannot get a connection: pool exhausted". ¿Quién ha desarrollado el sistema de información de Público? La respuesta en la propia traza:




Detalle de la traza (click para agrandar)

Olvidé decir que el periódico puede optar por la arquitectura barata, esa que deja al usuario colgado a la espera de obtener una conexión, pero hay formas y formas de hacerlo: presentando una página web de disculpa, indicando al usuario que por sobrecarga es imposible cargar la información y que lo intente en un par de minutos, etc. Sólo es necesario capturar la excepción Java que se produce y redireccionar la web a la página de error adecuada. Cualquier desarrollador Java con experiencia lo hubiera hecho. La horrible página con las trazas anidadas de las excepciones no sólo deja en mal lugar al diario público sino, como puede observarse en los nombres de los paquetes de las clases Java en las que se origina el error, a la empresa que ha desarrollado el portal del diario: Isotrol.

Vaya para Isotrol la colleja del día. No sabemos quiénes ganaron el debate ayer, pero sabemos quiénes lo perdieron: Isotrol y Público.


Y para perlas tecnológicas esta de Orange:

" ¿Qué es 3G? 3G es la comunicación a la que se puede acceder con un móvil 3G cuando se tiene cobertura 3G."

Claro, y el punto G es el punto de peso 1g mediante el que se llega al orgasmo cuando se tiene cobertura G sometida una fuerza de gravedad G =9,81 m/s2. Está clarísimo.

3 comentarios:

Unknown dijo...

Como bien decía Ana Belén en su canción Oh balance, balance, quiero danzar con voce, entra en la rueda moreno por ver, oh balancé balance...
Que es BALANCEO DE CARGA y no BALANCE DE CARGA, MAMONAAAAAA!!!

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Pako dijo...

Efectivamente moises, es balanceo de carga y no "balance". Me comí la "o".

Muchas gracias.