
Online gambling firm Bet365 has swapped Java for Erlang - brucify_
http://www.techworld.com/apps/how-bet365-solved-reliability-scalability-by-swapping-java-for-erlang-3600737/
======
pakled_engineer
Guys who designed the LMAX 'disrupter' for Betfair have a good talk about how
much trading these betting sites do per second
[http://www.infoq.com/presentations/LMAX](http://www.infoq.com/presentations/LMAX)
and how concurrency is a major issue, Erlang makes sense even if they have to
search for replacement devs

------
davidw
Kind of light on the tech details, but what with all the breathless "we
replaced 8492 Java and Ruby servers with one 386 machine running Go!" pieces,
it's worth a look.

------
doug1001
i wonder whether they considered scala so they could stay on the JVM (no
mention of it in the OP). i don't know Erlang but i develop in scala (w/ Akka)
and always interested to know how the two languages are different/similar
w/r/t enabling devs to build build distributed systems.

~~~
digitalzombie
Erlang have a preemptive scheduler.

If you read the article he mention that his company needed low latency.

Java doesn't have a preemptive scheduler.

An example would be, an infinite loop.

If you have an infinite loop in a msg pass to an actor then that message will
use the Actor forever in Scala. Because the scheduler is not preemptive.

For Erlang, it'll let that msg (infinte loop) run for a small amount of time,
put it back in the queue/mailbox and run another task for some time and etc..

Also all actor in Erlang are new processes, so if a process fail it doesn't
take down the main process. I've talked to an Akka company and apparently you
can spawn actor for akka in same thread/process.

IIRC actor in Scala had a weird caveat in coding too. But it's been so long
since I've used Scala.

The article mentioned small language in Erlang. Erlang gives you primitive to
create distributed language. As in it's built into the language to spawn a
process, to link the process together and monitor it, etc...

With Scala it's a library.

Also Erlang isn't just a programming language it's the run time, as you can
see with premptive scheduler and etc.. Erlang is powerful because it BEAM or
it's VM.

------
chriogenix
not surprising when you realize how much volume is going through these systems
concurrently.

~~~
kokey
I don't think bet365 does the kind of volumes a popular betting exchange
would, but I do agree they are probably the kinds of traffic volume that can
benefit from Erlang.

~~~
zwischenzug
Exchange workloads are trivial, but sports betting requires a lot more work
per transaction. This is mostly to do with liability management. I talk a
little about this here:

[https://www.youtube.com/watch?v=zVUPmmUU3yY](https://www.youtube.com/watch?v=zVUPmmUU3yY)

------
tapirl
surely a right and better choice.

------
dota168
Goodluck finding Erlang devs when your core dev team finds a new job.

~~~
MCRed
FWIW, we built a team of Elixir developers in the spring of 2014 in Austin
Texas. Austin is not the bay area, it's maybe a Tier 3 startup town. And still
we were able to build a great team over the course of a few months.

At the time, Elixir had not hit 1.0 and while there's a lot of overlap between
elixir and erlang this is a good comparison because Elixir is a lot less
common than erlang.

Here's the thing-- by having that filter of using this language-- a good
language-- we self selected for good engineers because the good engineers were
either already using it or were very interested in it. I for one, for
instance, came to that job, relocating across the country just because I
wanted to work in that language.

~~~
stephenbez
What company is it?

