Erlang/OTP - V Taller de Programación Funcional
-
Upload
manuel-angel-rubio-jimenez -
Category
Documents
-
view
373 -
download
1
description
Transcript of Erlang/OTP - V Taller de Programación Funcional
![Page 1: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/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.fdocument.pub/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.fdocument.pub/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.fdocument.pub/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.fdocument.pub/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.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/6.jpg)
Caso
![Page 7: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/7.jpg)
Red Inteligente: ACD
![Page 8: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/8.jpg)
Red Inteligente: ACD
![Page 9: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/9.jpg)
Red Inteligente: ACD
![Page 10: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/10.jpg)
Red Inteligente: ACD
![Page 11: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/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.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/12.jpg)
Red Inteligente: AutoMarcador
![Page 13: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/13.jpg)
Red Inteligente: AutoMarcador
![Page 14: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/14.jpg)
Red Inteligente: AutoMarcador
![Page 15: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/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.fdocument.pub/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.fdocument.pub/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.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/18.jpg)
Libros en inglés
![Page 19: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/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.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/20.jpg)
¿Preguntas?
![Page 21: Erlang/OTP - V Taller de Programación Funcional](https://reader035.fdocument.pub/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.fdocument.pub/reader035/viewer/2022062220/5599dc581a28ab085e8b4701/html5/thumbnails/22.jpg)
Startups, Telcos y Erlang/OTP
V Taller de Programación Funcional
Manuel Ángel Rubio Jiménez