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
![Page 1: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/1.jpg)
Startups, Telcos y Erlang/OTP
V Taller de Programación Funcional
Manuel Ángel Rubio Jiménez
![Page 2: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/2.jpg)
¿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
![Page 3: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/3.jpg)
Startups, Telcos y Erlang
Telco IM Games
![Page 4: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/4.jpg)
Startups, Telcos y Erlang
Telco IM Games
![Page 5: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/5.jpg)
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
![Page 6: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/6.jpg)
Caso
![Page 7: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/7.jpg)
Red Inteligente: ACD
![Page 8: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/8.jpg)
Red Inteligente: ACD
![Page 9: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/9.jpg)
Red Inteligente: ACD
![Page 10: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/10.jpg)
Red Inteligente: ACD
![Page 11: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/11.jpg)
Red Inteligente: ACD
Pruebas de Stress
![Page 12: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/12.jpg)
Red Inteligente: AutoMarcador
![Page 13: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/13.jpg)
Red Inteligente: AutoMarcador
![Page 14: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/14.jpg)
Red Inteligente: AutoMarcador
![Page 15: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/15.jpg)
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
![Page 16: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/16.jpg)
Mensajería Instantánea
ejabberd
componente
componente
componente
app móvil
![Page 17: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/17.jpg)
¿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
![Page 18: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/18.jpg)
Libros en inglés
![Page 19: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/19.jpg)
Libro en castellano
http://erlang.bosqueviejo.net
![Page 20: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/20.jpg)
¿Preguntas?
![Page 21: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/21.jpg)
Agradecimientos
○ Comité del TPF 2013
○ Universidad Complutense de Madrid
○ Congreso Español de Informática (CEDI)
○ ¡y a todos vosotros por asistir!
![Page 22: Erlang/OTP - V Taller de Programación Funcional](https://reader035.vdocuments.net/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/22.jpg)
Startups, Telcos y Erlang/OTP
V Taller de Programación Funcional
Manuel Ángel Rubio Jiménez