[erlang-questions] What are the cons and pros of using Erlang rather than java to develop server backend?

G.S. corticalcomputer@REDACTED
Fri May 22 18:23:12 CEST 2009


Hello Joe,

Here are the answers:
- how many users are simultaneously connected?
unknown, expected 20+million total users within 5 years. Thus most likely
we're talking about a million or so simultaneous users (of course what is
expected and what occurs are not usually the same, but that is beside the
point).
- how long is a session?
very short, a few seconds
- what are the latency requirements?
 soft, real-time,
- how much data do you store per user?
very little, under 1mb, perhaps 1/2 or a 1/4th.
- what are your  requirements on scalability - fault-tolerance?
 Required scalability, and fault-tolerance.
- is it permissible to stop the system for upgrades?
not desirable, if possible to avoid, then no stops should be done.
- what protocols are used between the clients and servers?
currently unknown.
- do you want hot stand-by fail-over etc
 Sure, if it's possible.
- do you want load balancing, quality of service?
Sure
- what is your cost/user budget (both fixed and dynamic costs)
Unknown
- how long do you want to store user data and how reliably
Very reliably, and preferably encrypted, hence I was thinking Mnesia, with
the little snippets of data stored after running through aes.
- do you want to run on a VM in the cloud or on a physical machine or
machines
It was suggested, but I voted against it, this buzz word "the cloud" might
sound nice, but if you want true reliability, then one should run on his own
servers, not to mention if you want to have total control of your data, you
have to own the server. But I'm open to suggestions, do you think cloud is
more reliable?
- do you want to integrate with other systems (mysql, soapy things, ... etc)
Unknown at this point, but my guess is: no
 if so what ...

Regards,
-Gene

On Fri, May 22, 2009 at 7:17 AM, Joe Armstrong <erlang@REDACTED> wrote:

> You have to tell us more about your problem in order to get sensible
> feedback. So far you have said
>
> "develop a server back-end software with a large user base" - that's
> not much to go on.
>
> Languages are good/bad fits to specific problems - I'd like to know
>
> - how many users are simultaneously connected?
> - how long is a session?
> - what are the latency requirements?
> - how much data do you store per user?
> - what are your  requirements on scalability - fault-tolerance?
> - is it permissible to stop the system for upgrades?
> - what protocols are used between the clients and servers?
> - do you want hot stand-by fail-over etc
> - do you want load balancing, quality of service?
> - what is your cost/user budget (both fixed and dynamic costs)
> - how long do you want to store user data and how reliably
> - do you want to run on a VM in the cloud or on a physical machine or
> machines
> - do you want to integrate with other systems (mysql, soapy things, ...
> etc)
>  if so what ...
>
> The more detailed you are the better recommendations you will get -
> note that these are all
> "non functional" requirements - IMNSHO most projects start with a good
> grasp of the functional
> requirements (ie what the system should do) but fail miserably when
> regarding non functional
> requirements.
>
> Cheers
>
> /Joe
>
>
>
>
>
> On Fri, May 22, 2009 at 1:49 AM, G.S. <corticalcomputer@REDACTED> wrote:
> > Hello fellow Erlangers,
> >
> > I have to make a decision on whether to develop a server back-end
> software
> > with a large user base (millions) in Erlang rather than Java. My personal
> > choice is to develop the software in Erlang, but I'm wondering whether
> any
> > of you could come up with good reasons why Java should be used instead,
> thus
> > far my reasoning is as follows:
> >
> > Erlang Pros as apposed to Java:
> > Erlang is highly scalable,
> > The code is much shorter and therefore easier to maintain,
> > The software would be with a lot less bugs, and be much more robust,
> > Erlang provides a high throughput.
> > Prototyping is faster, and in general serverside, Erlang has been much
> more
> > capable in my previous projects.
> > With Erlang I can use Mnesia, which in it self is much more robust, and
> > scalable rather than for example SQL...
> >
> > Cons:
> > Less number of developers than Java (but I think the Erlangers are
> usually
> > much more skilled, and it would be easy to find coders by for example
> > posting an add on this mailing list).
> > Security (but Erlang is also very secure I think, there are high profile
> > websites that deal with banking/money written in Erlang, exp: Kreditor)
> >
> > -End,
> > ps, anyone ever had more problems interacting with APIs using Erlang as
> > opposed to Java?
> >
> > I appreciate any responses and contributions to the Cons/Pros list,
> > -Gene
> >
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> > http://www.erlang.org/mailman/listinfo/erlang-questions
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090522/558d8dbe/attachment.htm>


More information about the erlang-questions mailing list