1 First steps


This chapter covers

  • An overview of Erlang
  • The benefits of Elixir

This marks the beginning of your journey into the world of Elixir and Erlang, two efficient and useful technologies that can significantly simplify the development of large, scalable systems. Chances are, you’re reading this book to learn about Elixir. But because Elixir is built on top of Erlang and depends heavily on it, you should first learn a bit about what Erlang is and the benefits it offers. So let’s take a brief, high-level look at Erlang.

1.1 About Erlang

Erlang is a development platform for building scalable and reliable systems that constantly provide service with little or no downtime. This is a bold statement, but it’s exactly what Erlang was made for. Conceived in the mid-1980s by Ericsson, a Swedish telecom giant, Erlang was driven by the needs of the company’s own telecom systems, where properties like reliability, responsiveness, scalability, and constant availability were imperative. A telephone network should always operate regardless of the number of simultaneous calls, unexpected bugs, or hardware and software upgrades taking place.

1.1.1 High availability

1.1.2 Erlang concurrency

1.1.3 Server-side systems

1.1.4 The development platform

1.1.5 Relationship to microservices

1.2 About Elixir

1.2.1 Code simplification

1.2.2 Composing functions

1.2.3 The big picture

1.3 Disadvantages

1.3.1 Speed

1.3.2 Ecosystem