erlang/otp - v taller de programación funcional
DESCRIPTION
Charla dada en el marco del IV Congreso Español de Informática (CEDI) en la Universidad Complutense de Madrid, en las jornadas organizadas por PROLE para su V Taller de Programación Funcional.TRANSCRIPT
Startups, Telcos y Erlang/OTP
V Taller de Programación Funcional
Manuel Ángel Rubio Jiménez
¿Quién soy?
○ Programador desde los 12 años... unos 20 años programando en: Perl, Python, Ruby, PHP, Java, C/C++, JavaScript, Pascal, Modula-2, Basic y Erlang.
○ Administrador de sistemas desde los 22 años... unos 10 años administrando Windows, GNU/Linux y BSD.
○ En definitiva... DevOps.
○ Fundador de AltenWald y Freelance.
○ Contacto:
○ Blog: http://bosqueviejo.net
○ Twitter: @MRonErlang
Startups, Telcos y Erlang
Telco IM Games
Startups, Telcos y Erlang
Telco IM Games
Caso
○ En 2005, sistemas C++ y MySQL
○ Máx. 80 usuarios concurrentes
○ Crashes son muy frecuentes
○ En 2006, sistemas C++, Python y MySQL
○ Máx. 1.000 usuarios concurrentes
○ Requiere reinicios, el código es difícil de mantener... muchos errores
○ En 2007, sistemas Erlang, Python y MySQL
○ De 20.000 a 1.000.000 de usuarios concurrentes en Call of Duty 4○ De 500 a 50.000 peticiones por segundo○ De 50 a 1.850 servidores
Caso
Red Inteligente: ACD
Red Inteligente: ACD
Red Inteligente: ACD
Red Inteligente: ACD
Red Inteligente: ACD
Pruebas de Stress
Red Inteligente: AutoMarcador
Red Inteligente: AutoMarcador
Red Inteligente: AutoMarcador
Mensajería Instantánea
○ Android y PHP (vía HTTP)
○ Falta de instantaneidad en los mensajes○ Hace falta una gran infraestructura además de ayudas:
■ Memcache■ APC■ FPM, FastCGI, Ngnix, ...
○ Android, iOS y Java (vía XMPP)
○ OpenFire no sirve para una cantidad alta de usuarios concurrentes○ Los deadlocks de Java hacen que todo caiga
○ Android, iOS, BlackBerry, Windows Phone y Erlang (vía XMPP)
○ Escalabilidad asegurada○ Más de 2 millones de usuarios con alto grado de concurrencia
Mensajería Instantánea
ejabberd
componente
componente
componente
app móvil
¿Por qué Erlang?
○ Lenguaje y Plataforma maduras
○ Distribución y Concurrencia nativas
○ Modelo Actor
○ Paradigma funcional
○ Construído e ideal para la programación en la nube de:
○ Sitios web
○ Aplicaciones móviles
○ Aplicaciones de mensajería y telefonía
○ Videojuegos
Libros en inglés
Libro en castellano
http://erlang.bosqueviejo.net
¿Preguntas?
Agradecimientos
○ Comité del TPF 2013
○ Universidad Complutense de Madrid
○ Congreso Español de Informática (CEDI)
○ ¡y a todos vosotros por asistir!
Startups, Telcos y Erlang/OTP
V Taller de Programación Funcional
Manuel Ángel Rubio Jiménez