4 ms·
At least some of those examples are highly misleading: > There is no better example of Erlang’s reliability than the English National Health Service (NHS). [..
by theamk 7y ago
At least some of those examples are highly misleading:
> There is no better example of Erlang’s reliability than the English National Health Service (NHS). [...] Using Riak (written in Erlang), the NHS has managed 99.999% availability for over five years.
From what I could find out, NHS's Spine2 is mostly Python, with "a bit" of Erlang and Javascript. They do use Riak, but they also use Redis, RabbitMQ, Python/Tornado, Ubuntu and lots of other components.
This sentence could have said "Using redis (written in C)", or "Using Tornado (written in Python)", and still be fully correct.
- i_feel_great 7y agoPost from the implementing engineer himself: http://erlang.org/pipermail/erlang-questions/2017-December/094421.html http://erlang.org/pipermail/erlang-questions/2017-December/0...
- theamk 7y ago> Almost all of the bespoke code is written in Python, but the message-passing architecture of the system and the approach to managing availability was directly inspired by reading about Erlang (in particular your book). This approach is pretty interesting - I’d love to read about implementing Erlang-style availability in other languages.
- frobozz 7y agoIn my experience, the message passing architecture of the NHS system almost exclusively uses Paper.
- bvm 7y agoand fax.
- i_feel_great 7y agoI have been watching this for a while: the Chez Scheme concurrency engine https://github.com/becls/swish https://github.com/becls/swish Another in Gambit Scheme, but it hasn't been touched in a while: https://github.com/mindpool/gambit-termite https://github.com/mindpool/gambit-termite
- ailideex 7y ago> the NHS has managed 99.999% availability Really? I am not sure I trust this claim.
- sealjam 7y agoThe lead engineer/designer on the project makes this claim in these slides. I don't know whether this gives the claim more veracity in your eyes, but it's there. [1]: http://martinsumner.github.io/presentations/spine2_erlang#/22 http://martinsumner.github.io/presentations/spine2_erlang#/2...
- masleeds 7y agoThe claim relates specifically to the spine 2 project, and is as measured over the 5 years since it went live. There are a lot of systems which depend on Spine 2 for their own availability, it is not the sort of thing that can go down at any time without a lot of people noticing. I'm biased in that I've been heavily involved in the project, but I will stand by the five years of five nines availability claim.
- robertony 7y agoMy NHS trust doesn't even use Spine 2. That would require reliable Internet.
- melicerte 7y agoNote that rabbitmq is also written in Erlang.Furthermore, NHS is also involved in the maintenance of Riak since the collapse of Basho.
- cies 7y agoCool. I thought it was only some online gambling shop taking up maintenance. Having NHS on that list as well gives me more confidence. Some more info on riak.org about the current story regarding who maintains would help me a lot in choosing it. To me Riak was the only noSQL scale-out-able data store product that really made sense.
- dmitriid 7y agoThere are two areas where Erlang really works well if you know what you're doing: - telecoms, as it was specifically designed for telecoms. - "glue" in networked applications: to orchestrate, pass messages around and the like. See GitHub [1] or CoD [2] etc. In a sense, chats are a mix of both. Erlang is rarely a good fit in pretty much anything else. [1] https://www.infoq.com/interviews/erlang-and-github/ https://www.infoq.com/interviews/erlang-and-github/ [2] https://www.erlang-factory.com/upload/presentations/395/ErlangandFirst-PersonShooters.pdf https://www.erlang-factory.com/upload/presentations/395/Erla...
- ahoka 7y agoYes, Erlang was designed for the control plane, not the data plane.