liveBook · Manning

Deployable system

As explained in Elixir in Action, Third Edition

A deployable system is a self-contained software system assembled with the applications and runtime components required to run it.

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

How Elixir in Action, Third Edition covers it

How deep it goes
Explains application boundaries, dependencies, resource files, and release assembly, while deferring detailed OTP release construction.
Examples
Uses a to-do system, standard Elixir and Erlang applications, and ebin/priv directory layouts.
What you can do after
Build it by organizing reusable code as OTP applications and declaring dependencies for release bundling.
How it connects
Connects OTP applications with application dependencies, resource files, load paths, releases, and the Erlang runtime.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Elixir in Action, Third Edition. The section links point to the parts of the book it draws on.