Keynote: You got your Erlang in my Ruby
With functional style, message passing concurrency primitives baked in
and the power of OTP for building fault tolerant applications, Erlang
is the best in breed programming environment for making horizontally
scalable network servers.
With a clean object model and beautiful, concise syntax, Ruby is
one of the most productive and expressive dynamic languages available
Both of these platforms have great strengthsand weaknesses. Erlang
syntax is bizaar for most programmers and String and IO handling are
fairly primitive. Ruby has some scalability limits like 1024 open
sockets or file descriptors and no true concurrency, only green threads.
In this talk we will explore a melding of the two called Nanite.
Nanite is a framework where you write ‘agents’ in Ruby and use
RabbitMQ (Erlang) as a messaging bus/hub. We can exploit the power of
Erlang’s message passing and scalability to distribute the work our to
Ruby ‘Nanites’ that implement functionality. This ends up looking like
an exploded Erlang VM where the actors are implemented as Ruby
processes with Erlangin the middle holding everything together. With
this powerful combination we get to play to the strengths of each
language to build a hive mind of interconnected processing power.
Ezra Zygmuntowicz Engine Yard co-founder and Ruby guru
Engine Yard Inc.
Ezra Zygmuntowicz, is a lead contributor to the Merb framework and is a
co-founder of EngineYard.com, a scalable Rails hosting service. He is
the author of the Rails Deployment book for the Pragmatic programmers
and has contributed many open source Ruby and Rails related projects.