InfoQ

News

Erlang and Ruby Roundup: Vertebra, Scaling with Fuzed, Github

Posted by Werner Schuster on Jul 16, 2008 07:34 PM

Community
Architecture,
Ruby
Topics
Performance & Scalability,
Cloud Computing,
Grid Computing,
Ruby on Rails,
Messaging
Tags
Rails,
github,
git,
Ruby on Rails,
EC2,
AMQP,
Erlang
Recently a few projects of Ruby teams have started using Erlang in different ways. Let's have a look at three different ways Erlang is used.

EngineYard's Vertebra is based on a combination of Ruby and Erlang. From our previous coverage:
The security/discovery mechanism, the state machine workflow system and the distributed key-value storage system are all written in Erlang. The agent framework for writing agents is all ruby though and the actual functionality of the agents is ruby.
The system is also built around the Erlang-based ejabberd which implements messaging using XMPP. Another messaging system written in Erlang is RabbitMQ, which implements AMQP, an Internet Protocol for Business Messaging

The search engine Powerset (Microsoft recently acquired Powerset) is built on a host of technologies, including Erlang and Ruby. A part of this infrastructure is now available at Github under the name Fuzed. From the project's Readme:
Fuzed is an Erlang-based clustering system designed to let several single-threaded processes (which may or may not be reliable) form into a pool which can serve requests to remote hosts. These resources need not be homogeneous, Fuzed breaks them up into homogeneous pools internally and serves out requests without "crossing the streams" of different software/versions of software.
This is a release of Powerset's internal clustering software which has been adapted for use with Rails, but see the generic_json_responder to see exactly how it is used internally.
Fuzed makes use of Erlectricity (RubyForge project), a library that connects Ruby and Erlang, similar to the JInterface library which connects Java and Erlang. These libraries are built on Erlang's ports and messaging system. For a quick overview, read Scott Fleckenstein's introduction to Erlectricity. Scott Chacon wrote up his experience in using Fuzed on Amazon EC2.

Finally, Tom Preston-Werner mentioned on the github blog he's working on egitd:
Over the past several weeks I’ve been working on a secret Erlang project that will allow us to grow GitHub in new and novel ways. The project is called egitd and is a replacement for the stock git-daemon that ships with git.

No comments

Reply

Exclusive Content

Discover RailsKits and Stop Writing Redundant Code

Ruby on Rails has become a popular Ruby framework for creating web applications in recent years. An aspect of creating a web application is the need to repeatedly create the same base functionality.

A Formal Performance Tuning Methodology: Wait-Based Tuning

Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning.

Shaw and Fowler About Forging a New Alliance

Shaw and Fowler talk about the need for a new relationship between the business department and the IT department. Studies have shown that projects mostly fail due to miscommunication between the two.

How to GET a Cup of Coffee

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application.

Archaeopteryx: A Ruby MIDI Generator

Eccentric artist turned overnight anti-celebrity, Giles Bowkett captures the heart and soul of RubyFringe as he demonstrates his revolutionary Archaeopteryx MIDI drum pattern generator.

Alexandru Popescu Discusses the InfoQ.com Site Architecture

InfoQ Chief Architect Alexandru Popescu discusses the InfoQ architecture, WebWork and DWR, Hibernate and JCR, Hibernate scalability, the new InfoQ video streaming system, and future plans for InfoQ.

LHC Grid: Data storage and analysis for the largest scientific instrument on the planet

higgs-event

The Worldwide Large Hadron Collider (LHC) Computing Grid provides data storage and analysis for the entire high energy physics community that will use the LHC.

Fostering Software Craftsmanship in a Corporate Setting

Scott talks about software craftsmanship represented by people responsible for their work, continuously learning, taking pride in their work, sharing knowledge and respecting professional standards.