Archive for the ‘Twitter’ Category

Ayudando al Open Source

miércoles, octubre 1st, 2014

Varias veces me ha pasado que quiero iniciar un software que considero nuevo y creo que lo es, pero finalmente buscando hay más de uno haciendo lo que yo necesito. La problematica ra dica en que muchos requieren un servidor en internet o una infraestructura que no se tiene, e hilando más fino estan pensados de cierta forma que no me gusta. Es ahí donde uno toma la decision de comenzar uno propio, previo a eso, por lo menos yo recomiendo ciertas lecturas que son de utilidad para iniciarse en este mundo de open source y no reinventar la rueda

Primero como unirse o que tener en cuenta para unirse a un proyecto Open Source: On the hunt for the right open source project?.

Lecturas complementarias como 14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star, Contributing to Open Source on GitHub, o unirse a OpenHatch en donde puedes encontrar un proyecto que se ajuste a tus conocimientos o generar uno.

Es bueno destacar que Facebook tiene como 200 proyectos inscritos en GitHub, comprometiendose así con el Open Source de forma clara, en todo caso muchos de los proyectos requieren tener los problemas de Facebook, o sea, cuando tengas 900 millones de usuarios, cominza a pensar en alguno de estos proyectos.

Finalmente destaco que existe una agrupacion de compañías que no le tienen miedo al Open Source y que se reunen para efectivamente traspasar tecnologías y otras conocimientos: //TODO.

Finagle, el balanceador que le ayuda a Twitter escrito en Scala

jueves, septiembre 4th, 2014

Es imposible explicar la necesidad de un balanceador de carga, o la de implementar tecnologías avanzadas, salvo que pertenezcas a empresas como twitter que tiene un alto numero de usuarios y que además su servicio es utilizado concurrentemente.

El pensar que ellos en promedio tienen 500 millones de twits te hace pensar que no tienen un solo servidor, y además la aplicacion debe ser agnostica al nombre de este, en muchos casos le exige a su departamento de ingenieria la ocurrencia de utilizar nuevas tecnologías, y si ya no existen, inventarlas.

Es asi como twitter utiliza una tecnología llamada Finagle, que es un RPC implementado sobre JVM que permite crecer y escalarse a mnultiples servidores.

Esta escrito en Scala (por lo tanto en Java… ya hablare de Scala mas adelante) y lo que hace es utilizar la infraestructura de forma de distribuir la carga en los servidores que estan activos y asi procesar la información.

Su arquitectura se espresa a traves de este diagrama:

Finagle