Derecho a leer, más distribuido
Derecho a Leer se muda a una estructura más distribuida y minimalista, un arbol de archivos html en un repositorio git, gestionado con un generador de sitios estáticos llamado Hyde. ¿que ventaja tiene esto? primero, que todos los artículos quedan subidos a un repositorio que puede clonarse y sirve apra regenerar el sitio en cualquier lado, y cualquiera puede hacerlo. Segundo, porque el día que derechoaleer recibió 40.000 visitas en un solo día (el día de blackout de SOPA) gracias a que estaba en “modo blackout” con tan sólo un par de páginas estáticas en html, no sufrió de ningun “Slashdot effect” que tirara abajo su pesado drupal.
Un “sitio estático” significa que el sitio sólo está hecho de un arbol de archivos html reales alojados en un servidor, no información en una base de datos levantada por scripts con miles de variables y funciones cada vez que se sirve una simple página. Entonces con una infraestructura minima (un servidor elemental), el sitio puede tener un enorme rendimiento, además de ser muy facil de crawlear, clonar y mudar de un lugar a otro.
La desventaja es, justamente, que deja de ser dinámico… pero para sitios con escaso dinamismo (como la publicación periódica de artículos) donde la actualización se produce cuando se publica un nuevo contenido luego de varios días sin cambios, puede generarse todo el sitio al momento de publicación, “compilando” el árbol estático html cada vez. Esto puede realizarse además en una máquina remota (sin quitarle recursos al servidor) donde se guarda la versión editable del sitio, que es lo que puede subirse a un repositorio y replicarse en cualquier lado.
“Hyde”, el software que “compila” el sitio, genera los archivos html a partir de una serie de plantillas y archivos de texto faciles de editar con cualquier editor. Está escrito en Python, y utiliza templates en Jinja. Ademas soporta cosas como categorías, sindicación, nube de etiquetas, entre otros. Aqui una lista de sitios hechos con Hyde.
Los comentarios, siguen manejándose de forma dinámica. Existen servicios web, como Disqus ó Intense Debate, que utilizan AJAX para interactuar dinámicamente dentro de páginas estáticas. Sin embargo, como utilizar un servicio centralizado gratuito, donde “el producto eres tu”, y los datos quedan en manos de un tercero va en contra de la filosofía de derechoaleer, recurrimos a Juvia, un servidor de comentarios que se puede instalar en tu propia infraestructura, hecho en RoR, que reproduce en forma más elemental la funcionalidad ofrecida por los servicios nombrados al principio. El servidor de comentarios, como es de esperar, tendrá todas las desventajas del sitio dinámico, sin embargo sólo se limita a una parte del sitio, en el peor de los casos, el colapso de recursos significa quedarse sin comentarios.
Un esquema de cómo funciona todo aqui. Más adelante, seguramente más información en detalle sobre esta experiencia.
Gracias por la paciencia, Derecho a Leer quiza esté un tiempo fuera de linea o con funcionamientos extraños en estas semanas, sepan disculpar…