A deployable system is a minimal, self-contained assembly of the applications and Erlang runtime required to run software. OTP applications provide the dependency boundaries needed to bundle those components into a single release. section 11.1.6
Reusable Elixir and Erlang code belongs in applications, including standard components such as Elixir, IEx, Mix, kernel, and stdlib. Application resource files and load paths let the generic application behavior locate compiled applications and their dependencies. section 11.1.6
lib/ App1/ ebin/ priv/ App2/ ebin/ priv/ ...
Use the application directory layout to identify the compiled and private components assembled into a deployable system. section 11.1.6
