<!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>