Erlang / Erlang Advanced Interview questions
What is a release in OTP and how does it differ from an application?
A release bundles a specific set of applications (your own plus the OTP applications they depend on,
like kernel, stdlib, and sasl) together with a matching Erlang/OTP
runtime version into one deployable, versioned unit — typically built with rebar3 release or
similar tooling, producing a boot script and a self-contained directory tree you can ship to a server.
Where an application is one component (say, a payments service), a release is the complete, runnable system:
every application it needs, pinned to specific versions, plus the runtime itself. This distinction matters most
during upgrades — you can hot-swap an individual module inside a running application, but moving from one
full release version to another (with dependency version changes, new applications, or config changes) is
handled by release-level tooling (relup/release_handler), not simple module reloading.
More Related questions...