manejando millones de usuarios concurrentes con erlang/otp

Post on 13-Apr-2017

719 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related