Etiquetas

, ,

Bueno, en realidad no llega ni a esa categoría, en todo caso es un vapordea de un posible segundo vaporware.

Resulta que esto de comenzar proyectos de Internet sin un duro y “a ver que pasa” me está gustando demasiado, es adictivo y además muy divertido. Aunque el Menéame, apenas paga unas cenas –no miráis los bonitos anuncios, ¡mamones!🙂 –, ya marcó un antes y después en mi vida. Nunca aprendí tanto en tan poco tiempo, ni fui tan adicto a programar “chorraditas” divertidas –lo hago casi cada día gracias al Menéame–, tampoco nunca me divertí tanto con discusiones de temas de lo más variados –incluyendo el gran ombligo que tenemos los bloggers–. Estoy obsesionado, aprendo, programo, me divierto, tengo los flames que necesito y además no pierdo un duro.

Así que… ¡quiero más!🙂

Llevo varias semanas pensando en otro proyecto. Como soy muy malo en mantener en secreto las ideas –en realidad que creo que a las ideas es mejor contarlas para contrastarlas– lo comenté con varias personas y me reafirman en que quizás no sea tan mala idea, y que vale la pena probarla. Pero hay un problema importante, la escalabilidad por diseño.

La idea es de un proyecto “global”, no sólo dedicado al mercado hispano o español [1], no hay nada parecido ahora mismo. Si tiene el mínimo éxito tendrá unos requerimientos tan altos de escalabilidad y “comunicación en tiempo real” que obligan a pensar el diseño de otra forma desde el principio. Este es un problema importante, porque si tuviera acceso instantáneao de los recursos de Google, Amazon o Microsoft podría haberlo implementado en muy poco tiempo, en unas pocas semanas.

Pero no tengo esos recursos, así que hay que diseñar de forma que pueda comenzar con muy pocos recursos e ir agregando “bajo demanda”, lo que impone aún más desafíos al diseño si no pueden “particionarse” los datos y mensajes por estancos casi aislados. Hacer este tipo de despliegue con PCs es muy caro aunque parezca lo contrario. Necesitas de entrada reservar racks y pagar muy caro por un hosting con esas características, por ejemplo. Por eso estuve probando la alternativa de Amazon EC2. No está mal la solución, aunque introduce otros problemas en el diseño: debes hacerlo altamente replicado para soportar la no persistencia de los datos de las máquinas virtuales de EC2 –está todavía en Beta y posiblemente introduzca mejoras en este aspecto–. Aunque tenga todas estas restricciones y exijan mucha más complejidad, desde mi punto de vista es casi la única opción viable para poder desarrollar el proyecto.

Hice unos cálculos rápidos y para aguantar un par de años sin grandes ingresos necesitaría entre 500.000 y 1.000.000 de euros. Lo curioso, o triste, es que tengo más confianza en conseguir la financiación –a pesar que soy un patán con las RRPP, que no me gustan nada los saraos de “emprendedores” y que vivo en “provincias”– que en poder lograr un diseño razonable o completo de la arquitectura.

Estoy con todos estos dilemas, y preguntándome si en realidad la idea que nos han vendido de construir sistemas altamente escalables a partir de PCs baratos era una mentira que nos han hecho creer empresas como Google, Amazon o Akamai para que no nos demos cuenta lo elevada que han puesto la barrera de entrada con sus gigantescas infraestucturas.

Así fue hoy tuve una media alegría, descubrí que la gente de IBM piensa igual. Hoy se divulgó Project Kittyhawk: Building a Global-Scale Computer (vía Menéame, también en Nicholas Carr). No voy a hacer un resumen, Carr lo hizo mejor, además recomiendo la lectura a cualquiera interesado en estos temas. En él explican más o menos los problemas que relato y además proponen la solución a través de un Blue Gene con miles o cientos de miles procesares.

Es muy interesante la idea, además de confirmar que ni siquiera soy original para los problemas es casi una luz el fondo del tunel para determinados poryectos, y sobre todo para el medio ambiente. Pero es una pena que estas infraestucturas no estarán disponibles a medio plazo.

La otra alegría relacionada es que me acaban de avisar que se confirma el Menorca Tech Talk de este año (ahora me darán una colleja por adelantarlo), seguramente allí estaré, intentando convencer a los pirados y millonarios amigos de Martín de financiar o poner en marcha el proyecto [*]. Ya me da igual si lo hace otro –me parece que cambiará radicalmente cómo interactuamos con nuestros amigos, blogs y “redes sociales” [2]–, me interesa más ver si es realmente es buena la idea y cómo lo hacen, (estoy tan obsesionado en encontrar el “diseño básico” que ni siquiera puedo desenganchar para ver House relajadamente).

[*] Actualización: a las 20:15 horas, hace un par de minutos, me enteré que justamente están hablando de esto en el consejo de una reconocida start up 2.0. No tiene vuelta atrás, conmigo o sinmigo🙂.

De todas formas mañana vamos con Benjamí a Madrid a reunirnos con Martín para hablar del Menéame [3] y para darle más detalles de esta idea.

Cuando se la planteé hace casi un mes y le comenté el dinero que haría falta no me mandó a la mierda, sino que empezó a hacer preguntas y pedir detalles. Quizás sea una buena señal.

Pena que el Blue Gene estratosférico, barato y ecológico esté tan lejos… por cierto, éste era el tema fundamental y me enrollé en cosas personales. Lo siento, ahora que está escrito el ladrillo le voy a dar al botón de publicar.

[1] Me lancé con el Menéame porque sabía que controlando más o menos la eficiencia del código y la base de datos no tendría problemas de “escalabilidad”. El “mercado hispano” es mucho más pequeño que un “internacional en inglés” y por lo tanto los “problemas de escalabilidad” son muchos más simples que los ya bien conocidos y resueltos.

[2] De hecho había pensado una frase de teaser para el dominio una vez esté elegido: We will change the way you use the browser. You’ll get addicted, sorry for that.

[3] Posiblemente, si se concreta la oferta, haya una pequeña buena noticia (no es venta, ni fusión ni nada parecido) que sabía llegaría tarde o temprano y que nos permitirá crecer seriamente, ampliar recursos humanos y servicios o features del software.