Phoenix is a Web Framework inspired by Ruby On Rails, the father of all modern Web Frameworks. It’s written on Elixir, which is a functional dynamic language that runs on the Erlang Virtual Machine. The ErlangVM, also known as BEAM, is an incredible piece of engineering. It has been around for about 30 years but for some reason, it didn’t get mainstream. Its reliability is contrasted: around 50% of the worlds telephone switches work on top of BEAM. Another example is WhatsApp (link, link), which is able to handle more than 900 million users thanks to the ErlangVM.
The idea of this post is to illustrate how to apply the Actor Model, by taking advantage of its concurrence model to solve parallel problems. The kind of parallel problems that we can solve with the Actor Model are the same kind of problems that we can solve while using MPI systems.