Building applications with Elixir is a huge subject. Learning the syntax rules and idioms is a solid first step, but soon enough you want to actually BUILD SOMETHING! I get it. Believe me. The CTO has been telling the board that I don't actually do anything - just write tutorials.
She doesn't like Elixir. I convinced the team to use it as I thought it was a natural fit, then our old CTO left and now we have Sara. She wants to use .NET and the only reason she hasn't flushed our project yet is because the CEO is a friend of mine and I promised her that you and I could deliver something in two week's time.
That delivery happens now. Let's do it.
You've seen a lot of Elixir so far and have learned some new concepts, especially if you're new to functional programming. No doubt that along the way you've probably been wondering, however: how is this all supposed to work together? how can I actually build something?. I've showed you a few little hints, but it's time to get explicit on this.
Erlanger's have had 25+ years to figure out how to make their pattern-matchy, functional code fit into reusable patterns which they can then turn into robust applications. They've argued about it, written books, given talks and hugged each other with the thrill of community discovery. The result of all this: OTP. The Open Telecom Protocol.
Erlang was created by Joe Armstrong, Robert Virding and Mike Williams in 1986 for Ericsson (thus the name: Ericsson Language) and was released as open source in 1998. It is currently maintained by a division of Ericsson and is used to power over half of the telecoms around the world.
Erlang is all about fault-tolerance, distribution, and scaling. Put together correctly, you can build a fairly bullet-proof application. But how?