5 de Junio, 2010

Cambios en este blog

Como algunos ya sabeis, he decidido hacer unos cambios por aquí :).

Aunque esta bitácora se seguirá llamando como hasta ahora, dejamos de depender de una conexión residencial, y de ese hardware tan molón que le daba nombre al servidor.

La pérdida de originalidad tendrá cosas buenas, como más estabilidad y recursos, que espero sea lo único que se note realmente.

Además he aprendido algunos trucos por el camino, y he reescrito el software que mueve la bitácora, como una prueba seria para hacerme con un nuevo lenguaje y un nuevo framework.

Resumiendo mucho, los cambios quedan así:

  • Servicio: pasamos de un servidor casero a un VPS bastante más potente en todos los sentidos.
  • Sistema operativo: buscando algo más de sostenibilidad, he decidido apostar por una distribución de Linux y dejar de lado OpenBSD definitivamente. Valorando quién me daba más tiempo de soporte con las aplicaciones que quería (versiones), me he ido a por Ubuntu 10.04 LTS.
  • Gestor de la bitácora: he pasado de un CMS hecho a mano en PHP con MySQL (en modo spaghetti horrible :S), a otro hecho en Python con un framework MVC por debajo muy interesante: Tornado.

    Pero la cosa no queda ahí, porque estoy usando como almacenamiento Redis, que es del tipo clave / valor, y no un sistema gestor de bases de datos relacionales.

He desarrollado bastante más de una vez que en el anterior CMS, que fue gestándose a lo largo de los años. Quedan cosas por hacer, pero en general está lo importante, y ya añadiremos características y arreglaremos lo que se rompa (¡espero que poco!).

La verdad es que casi me he llegado a arrepentir de arrancar un proyecto tan ambicioso para echar ratos libres, sobretodo porque quería rematarlo pronto, y algunas cosas han sido bastante complicadas (¡tengo para escribir muchas anotaciones por aquí! :D). Creo que ha sido clave que en el trabajo estoy desarrollando en PHP a buen nivel, y el cambio de chip/lenguaje me ha ayudado mucho a mantener el ritmo y la salud mental ;).

Muchas partes que he implementado son experimentales y, aunque cuento con buenos aliados como Cherokee, es posible que no todo funcione como se espera :(. Así que os pido paciencia, y siempre se agradecerán los bug report ;).

Ya iré contando cosas sobre el proceso, porque ha sido de lo más entretenido que he programado hace tiempo.

Actualización: ya van saliendo problemas, y los voy arreglando. Parece que Tornado tiene sus cosas en la versión 0.2, y he hecho backport de algunas correcciones mientras no publican la 0.3 (que tiene muchos cambios en el API). Es lo que pasa cuando uno trabaja con algo que está en desarrollo :P, y gracias a los afectados por su paciencia (esos comentarios que no se publican, sobretodo).

Anotación por Juan J. Martínez, clasificada en: blog.

Hay 8 comentarios

Gravatar

Felicidades por la experiencia, python, redis, tornado, cherokee… no será por probar cosas !

Será un placer leer tus tutos/experiencias/tips ! :)

por MarcosBL, en 2010-06-05 22:53:18

Gravatar

Gracias :)

Pues mira, el primero… en la frente, porque ese comentario tuyo debería haber sido moderado jeje.

Bueno, cambios de última hora, a ver si lo he arreglado :P

por Juanjo, en 2010-06-05 23:19:54

Gravatar

Genial, así a bote pronto han cambiado pocas cosas… esperamos ansiosos todas esas anotaciones ;).

+1 por suprimir el “título” del comentario, siempre me quedaba pensando qué poner :P.

por r0sk, en 2010-06-05 23:50:11

Gravatar

Se aprecia más velocidad en el blog

¿Qué hosting estas usando y con que características?

por josefu, en 2010-06-06 12:19:57

Gravatar

Bueno, hay tres cosas: mejor hw (el doble de rápido, 2GB de RAM), mejor ancho de banda (hasta 100Mbps), y el código que mueve el blog es más rápido (Tornado + Redis).

He contratado un Kemsirve C-250G en OVH (calidad/precio OK, y con buenas recomendaciones por parte de los amiguetes).

Algo más caro que lo que llevo en usebox.net, pero tras unificarlo todo en este servidor, no será tanta diferencia.

por Juanjo, en 2010-06-06 12:42:33

Gravatar

Buenas novedades. Espero no se rompa por ningún lado. Ya contarás algo más de las tripas del “bicho” que has programado. ;)

por corsaria, en 2010-06-06 19:24:21

Gravatar

Genial todo, voy ahora con la segunda parte, pero una duda horrible tengo…

Portada PHP + MySQL = 44691.37 <- WTF ?

Imposible imho ! O Cherokee rinde 300x veces más que apache, o dios me libre, no lo entiendo; en mis pruebas más sencillas y optimizando a saco tanto apache como php, cargando el mínimo de módulos, etc, con un “echo 'hello world’;”, ab contra apache + php + mysql jamás me ha pasado de a lo sumo 2000/3000 rqps… seguro que no te está cacheando los resultados ? eso es “live” ? :?

por MarcosBL, en 2010-06-10 10:27:10

Gravatar

Ese imposible me desconcierta… ¿estaré haciendo algo mal?

El resultado es “live”, por supuesto. De hecho, antes de que modificara el módulo de TLA, me daba 32rqps… porque dicho módulo guardaba un XML en /tmp para cada petición (ufff, mal, ¡muy mal!).

Lo único que se me ocurre es repetir la prueba con Apache en igualdad de condiciones: con FastCGI (recuerda) y con workers (multihilo, no el modo prefork).

por Juanjo, en 2010-06-10 10:35:24

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: