<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 03/12/2012 11:14 AM, Felix Hamilton wrote:
<blockquote
cite="mid:CAH2SAt3QLri=61oRtqfvnFWR=NCfx5DsBPR8xTYBH0_14-74Yg@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html;
charset=ISO-8859-1">
An interesting data point that might be relevant here is that I
have seen Erlang/OTP getting more traction in the 'big data' world
recently. One really nice architecture seems to be to use Erlang
for 3C stuff (command, control, and communications), something
like 0mq to handle messaging, and Python (or something with
similar user friendliness, readability, and popularity) to do user
facing stuff and provide user scripting capabilities. This seems
like a *really* powerful combination to me, and one that has
arisen spontaneously in very disparate areas with completely
unconnected developers. As a user of both Erlang and Python, there
really doesnt seem to be a lot of overlap between the two, and
using both buys pretty comprehensive problem space coverage
cheaply and cleanly. The disco project (
<a moz-do-not-send="true" href="http://discoproject.org/">http://discoproject.org/</a>
) is a great example most folks might be familiar with, but many
others seem to be mostly closed source or 'software as a service'
deals so far. ;-)
<div>
<br>
</div>
<div>Anyhow, that was a pretty interesting data point for me. You
might not have to convince folks to let you write everything in
Erlang if you can let all the user facing stuff use something
they are more comfortable with and focus on using Erlang for 3C
(where it really shines in my opinion) ... </div>
<br>
</blockquote>
CloudI (<a class="moz-txt-link-freetext" href="http://cloudi.org">http://cloudi.org</a>) hasn't been mentioned yet, but is
directly relevant since it acts as an application server and is
implemented with Erlang. CloudI provides ZeroMQ integration along
with Python, Ruby, Java, and C/C++ integration. The project is
currently alpha and will be moving to beta soon.<br>
<br>
The project provides a nice way of wedging Erlang into a stack so
that you don't necessarily have the problems previously mentioned
when introducing Erlang to people. You can just take external code,
convert it to using the CloudI API for major data messaging, and use
the configuration to control the amount of processes/threads for
scaling the service. Then, it becomes much simpler to show the
benefits of Erlang, since you can replace parts of the system with
Erlang, using CloudI services that take over various functions
(advertised based on the service name) and improve upon the codebase
without forcing anyone into a major rewrite. That reduces any
development/business risk when developing with Erlang. The approach
would be for people making a production system, not just for
prototyping, though it can also help facilitate easier prototyping
with diverse libraries that need to be used in a fault-tolerant,
scalable way (with a consistent interface).<br>
<br>
- Michael<br>
</body>
</html>