Las entrañas técnicas del blog 2012-11-11

La gente que sigue este blog (que no suelo actualizar mucho y que a partir de ahora intentaré hacer) habrá notado como cada vez se ha vuelto más simple y rápido. Este cambio proviene de querer olvidarme por completo de Wordpress y todo el ecosistema que tiene a su alrededor para pasar a algo más sencillo, ligero y rápido, que permita centrarme en el contenido y olvidarme del continente lo máximo posible.

A una conclusión llegué, si quería que el blog fuera rápido (independientemente del número de visitas) debería usar un sistema de generación de contenido estático. (Podría haber usado un sistema dinámico + una capa de caché como Varnish, pero mi objetivo era que el blog fuera muy simple).

Jekyll

Como primera opción elegí Jekyll, una herramienta escrita en Ruby de generación de contenido estática con la que obtuve unos resultados muy buenos.

Su uso es muy sencillo: en un directorio denominado posts se crean ficheros cuyo contenido es HTML o Markdown y cuando se ejecuta Jekyll estos ficheros se procesan, generando como resultado una serie de ficheros HTML estáticos que son los que hay que publicar en un servidor web. Más fácil imposible.

Escalabilidad en nuestros servidores con Amazon EC2 2010-10-27

Cuando desarrollamos una aplicación web que tiene proyección de convertirse en un proyecto grande a largo plazo siempre nos surgen una serie de preguntas que deberíamos de tener resueltas antes de poner nada en funcionamiento:

  • ¿Cuántos recursos necesito para ejecutar la aplicación?
  • ¿Qué servidor dedicado contrato?
  • ¿Se quedará corto y se caerá el servicio enseguida o por lo contrario me sobrará servidor por todas partes y estaré pagando un dinero extra de forma inútil?
  • Cuando el servidor tienda a quedarse pequeño ¿Cuánto tiempo voy a tardar en montar otro servidor y balancear la carga?
Este tipo de preguntas no son nada fáciles de responder a priori. Si nuestro servidor se satura la experiencia del usuario será muy mala y conllevará una mala imagen y un menor uso por parte de los usuarios, pudiendo hacer hasta que la aplicación fracase rotundamente.