SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Erlang/OTP - V Taller de Programación Funcional

Referencias comunicaciones
Referencias comunicacionesReferencias comunicaciones
Referencias comunicaciones
Neurowork
 
Desarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDesarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas Libres
Diego Fernando Marin
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
Marco Chunab
 
Desarrollo Software Entornos G N U Linux Una Final
Desarrollo  Software Entornos  G N U  Linux Una FinalDesarrollo  Software Entornos  G N U  Linux Una Final
Desarrollo Software Entornos G N U Linux Una Final
Edgardo Ramos Roque
 

Ähnlich wie Erlang/OTP - V Taller de Programación Funcional (20)

Introducción Software Libre (AsturLiNUX 2005)
Introducción Software Libre (AsturLiNUX 2005)Introducción Software Libre (AsturLiNUX 2005)
Introducción Software Libre (AsturLiNUX 2005)
 
01 - Introducción al lenguaje de programación Python 3
01 - Introducción al lenguaje de programación Python 301 - Introducción al lenguaje de programación Python 3
01 - Introducción al lenguaje de programación Python 3
 
¡Mejora el Rendimiento de tu Webapp con Elixir!
¡Mejora el Rendimiento de tu Webapp con Elixir!¡Mejora el Rendimiento de tu Webapp con Elixir!
¡Mejora el Rendimiento de tu Webapp con Elixir!
 
Por qué python?
Por qué python?Por qué python?
Por qué python?
 
Referencias comunicaciones
Referencias comunicacionesReferencias comunicaciones
Referencias comunicaciones
 
Referencias comunicaciones
Referencias comunicacionesReferencias comunicaciones
Referencias comunicaciones
 
Alto rendimiento en la web
Alto rendimiento en la webAlto rendimiento en la web
Alto rendimiento en la web
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
 
1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf
 
Desarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDesarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas Libres
 
Software libre y abierto en la empresa y la enseñanza de sistemas
Software libre y abierto en la empresa y la enseñanza de sistemasSoftware libre y abierto en la empresa y la enseñanza de sistemas
Software libre y abierto en la empresa y la enseñanza de sistemas
 
Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
 
Pract campo
Pract campoPract campo
Pract campo
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune Técnica
 
Cómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdfCómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdf
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Desarrollo Software Entornos G N U Linux Una Final
Desarrollo  Software Entornos  G N U  Linux Una FinalDesarrollo  Software Entornos  G N U  Linux Una Final
Desarrollo Software Entornos G N U Linux Una Final
 

Erlang/OTP - V Taller de Programación Funcional