Upload
manuel-rubio
View
713
Download
0
Embed Size (px)
Citation preview
Manejando Millones de Usuarios Concurrentes con Erlang/OTP
Manuel Ángel Rubio Jiménez
¿Quién soy?
Manuel A. Rubio
Fundador de Altenwald Solutions, S.L., especializando la empresa en la consultoría para sitios web y mensajería instantánea enfocándonos en la alta concurrencia, alta disponibilidad y entornos distribuidos.
● Programador de hace más de 20 años
● Desarrollando infraestructuras de alta disponibilidad, alta concurrencia y distribuídas desde 2004
● Administrador de sistemas desde 2002 / DevOps desde 2012
Twitter: @MRonErlang
Altenwald Solutions S.L. es desde diciembre de 2013 una empresa dedicada a:
➔ Consultoría de Alta Disponibilidad, Concurrencia y Sistemas Distribuidos en especial si
están construidos con Erlang/OTP.
➔ Soporte a la comunidad de Erlang/OTP a través de libros, documentación y cursos en
castellano. Formamos parte del IEUG (Industrial Erlang Users Group).
➔ Hacer proyectos y productos propios… cosas que están por llegar.
¿Quiénes somos?
Web 2.0
Web 2.0
Web 2.0
Internet
Web 2.0
Internet
Web 2.0
Internet
Problemas Principales de Web 2.0
○ Sesiones: normalmente no se pueden modificar al mismo tiempo.
○ Replicación de base de datos: siempre con cuellos de botella.
○ Master - Slave: solo el master puede realizar escrituras.
○ Master - Master: decrementa la velocidad de acceso a los datos.
○ Caché: incrementa el número de peticiones que necesitamos. Nuevos cuellos de botella y agrega complejidad al flujo de ejecución sobre todo para invalidar datos.
○ Aceleradores y Caché de código: para acelerar la carga del código.
○ Colas para procesos asíncronos o tareas en segundo plano.
○ Concurrencia difícil o imposible de obtener en la mayoría de los casos.
○ Websockets … bueno, necesitamos algo mejor que PHP para esto.
¿Qué es Erlang?
○ Nació en 1986 como una extensión de Prolog en los Ericsson labs.
○ Lenguaje○ ¿Funcional o no? ... mejor híbrido.○ Orientado a la Concurrencia... Modelo Actor.
○ Máquina Virtual o Plataforma○ Programador y Administrador de Procesos (soporta más de 1.000.000 procs)○ Administración de Memoria○ Intérprete de línea de comandos (shell)○ Interfaz transparente para comunicación entre nodos
○ Características○ Distribuido○ Tolerante a fallos○ Escalable○ Cambio de código en caliente
¿Por qué Erlang es mejor?
Casos de Uso...
Casos de Uso...
Casos de mala escalabilidad...
¿Quién usa Erlang/OTP?
¿Quién usa Erlang/OTP en España?
¿Qué hay hecho en Erlang/OTP?
ejabberd RabbitMQ CouchBase Riak VerneMQ Chef
¿Por qué Erlang/OTP lo hace mejor?
Cuando estás atascado conduciendo un Porsche,lo único que puedes hacer es quemar más gasolina
que el resto. La Escalabilidad habla de hacercarreteras más anchas, no coches más rápidos.
- Steve Swartz
Libros en inglés de Erlang/OTP
Libros en inglés de Elixir
Libros en español
○ Erlang/OTP (Volumen I)
○ 1ª Edición en PDF y Papel.
○ 2ª Edición prevista para finales de 2015.
○ Erlang/OTP (Volumen II) aún en desarrollo.
http://erlang-otp.es
¿Preguntas?
Agradecimientos
○ Organización de BetaBeers Córdoba
○ ¡A todos vosotros por asistir!