Erlang/OTP - V Taller de Programación Funcional

Post on 06-Jul-2015

378 views 1 download

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 of Erlang/OTP - V Taller de Programación Funcional

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