Cambiando Tutellus: el "antes"

Empezamos a construir el viejo Tutellus en enero 2012. Tardamos 15 meses en lanzar un producto estable y potente: mayo 2013. Lo sé, nada de Lean ni MVP. Para los no familiarizados con la tecnología, era un solo proyecto construido con un pupurri de JS en el Front (mucho Backbone), y con un Back construido sobre Grails contra un mySQL. @sokardys ha sido siempre un enamorado de Java y “es lo que hay, va a funcionar”, me decía.

La plataforma era estable y rápida. Durante 1 año fuimos creciendo, de 0 a 20.000 usuarios (facturando a diario) y no tuvimos queja. Todo funcionaba. El proyecto se fue complicando introduciendo temas de video, emailing transaccional y un amago de Big Data, pero lo llevaba bien. Como hasta junio 2014 Tutellus éramos 2 personas, no había problemas ni discusiones sobre el mantenimiento del producto: se lo comía Javi. Yo al business, él a tirar y mantener código, y todos contentos.

Y teniendo la parte de producto resuelta, ¿porqué empezar de cero?

Muy sencillo. Si quieres escalar en Branding, Producto y Usuarios, necesitas un compendio de variables diseñadas para ello. El viejo Tutellus no transmitía el feeling de “empresón”, en seguida te hacías la idea de una “startup”. Teníamos un problema añadido: dar un futuro salto hacia APPs nos exigía tener el producto construido sobre un API Rest, que no era el caso. Ergo teníamos que pensar todo -y esta vez bien- desde cero.
Lo primero fue diseñar un core (API) sobre el que añadiríamos proyectos (3w, APP, BigD, Cloud, Redis, PostServer…) que deberían tener vida por sí mismos.

Y como no hay amor que dure 100 años, mandamos al carallo Grails y nos centramos en un mix muy Hype: AngularJS, NodeJS, mongoDB y Docker, todo ello aderezado con Redis, Neo4J y muchas más cosas a las que nos enfrentamos por primera vez. Para lanzar el nuevo Tutellus tardamos 10 meses con un equipo (actual) de 6 personas directamente en el ajo:

  • Diseño y UX (2)
  • Fronteros (2)
  • Backeros (2)

Pueden parecer pocos recursos para un proyecto de este tamaño (lo es!), pero gestionar equipos pequeños puede ser mucho más productivo y eficiente de lo que aparenta. El resto de la empresa gestionaba el antiguo Tutellus (el que daba de comer), la Operativa, las Ventas y el Negocio de la compañía.
También hay que decir que el perfil de nuestro Developer en senior, con 5–10 años de experiencia en la materia y una media de 34 años.

Además de tanta sigla molona, la nueva infraestructura está montada con Docker.io en nuestro Cloud en un maquinón con SSD nativo, 24 cores y 256 GB de RAM. Esto, que ya sé que suena bastante friki, nos da una potencia para escalar brutal. Cuando cambias tu producto, empiezas a tener volumen (+400mil usuarios) y aspiras a multiplicar por 100 tu tamaño, estos planteamientos son un MUST: no podemos estar dentro de 1 año volviendo a cambiar, necesitamos algo que nos soporte hasta varios años vista.

Y en el siguiente post, veremos cómo fue la migración y el cambio de plataforma... stay tunned!