We’ve seen how we can create and interlink a number of Erlang virtual machines, potentially communicating across a network. This is important, both to allow your application to scale and to increase reliability. Running all your code on one machine is like having all your eggs in one basket. Unless you’re writing a mobile omelet app, this is probably not a good idea.
It’s easy to write concurrent applications with Elixir. But writing code that follows the happy path is a lot easier than writing bullet-proof, scalable, and hot-swappable world-beating apps. For that, you’re going to need some help.
In the worlds of Elixir and Erlang, that help is called OTP, and it is the subject of the next few chapters.