Evento
Conferencista(s)
Erlang es famoso por permitir crear sistemas que pueden ser actualizados sin tener que darlos de baja y con eso lograr alta disponibilidad (9 nueves o 31 ms abajo al año). En esta platica les mostrare como Erlang logra hacer esto. Mostraré algunas demos, veremos como es el proceso de generar un release para producción y mostraré un sistema real que tenemos en producción que trabaja de esta forma, donde el front está construido en Ruby/Rails y los servicios en Erlang/Elixir/Phoenix.
En Diverza llevamos trabajando con Erlang/Elixir un poco mas de dos años. En este tiempo hemos desarrollado varios sistemas de misión critica que actualmente están en producción y que reemplazaron los anteriores hechos en java. Por esta experiencia sabemos que una de las partes mas difíciles de entender es como generar un release para producción y como hacer el proceso de upgrade y downgrade del sistema sin darlo de baja. Durante la presentación también mostraré las ventajas que se obtuvieron en disminución de uso de memoria y mejor uso de procesadores, conceptos de programación funcional, como interactuar con código en Java y en C. Finalmente, como tener una arquitectura donde el front esta hecho en Ruby/Rails y los servicios en Erlang/Elixir/Phoenix.
Esta plática es una continuación de la introducción que se dio en SG Conference & Expo 2014 ("Alta disponibilidad en Erlang/Elixir").
Norberto Ortigoza es instructor para América Latina por parte de Big Nerd Ranch, la empresa de cursos para iOS más importante del mundo. Es Director de Desarrollo en Diverza y co-fundador del grupo Cocoaheads en el Distrito Federal dirigido a desarrolladores en OSX y iOS. También es instructor oficial de Rubymotion. Ha sido programador por más de 20 años, donde ha empleado Sistemas operativos y lenguajes como NeXT, OSX, Solaris, Windows, Smalltalk, Objective-C, C, Java, C#, Ruby, PHP, Python, Perl y en los últimos días Elixir y Go. Ha impartido cursos de desarrollo en India, USA, Colombia, Bélgica y México. Es Ingeniero en Computación por parte de la Facultad de Ingeniería de la UNAM. Tiene estudios de Maestría en Ciencias de la Computación por la UNAM. Diplomado en Procesos y Arquitectura de Software por parte del SEI - Carnegie Mellon University.