SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Erlang/OTP - V Taller de Programación Funcional

Introducción Software Libre (AsturLiNUX 2005)
Introducción Software Libre (AsturLiNUX 2005)Introducción Software Libre (AsturLiNUX 2005)
Introducción Software Libre (AsturLiNUX 2005)Manrique Lopez
 
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 3Diego Andrés Alvarez Marín
 
¡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!Manuel Rubio
 
Referencias comunicaciones
Referencias comunicacionesReferencias comunicaciones
Referencias comunicacionesNeurowork
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Carlos Camacho
 
1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdfMariaTeresaGarznPrez
 
Desarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDesarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDiego Fernando Marin
 
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 sistemasJuan Eladio Sánchez Rosas
 
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ónjusto morales
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune TécnicaSaregune
 
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.pdfMonica277891
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
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ónMarco 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 FinalEdgardo Ramos Roque
 

Similaire à 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