tool that provides tasks for creating, compiling, and testing Elixir projects, managing its dependencies, and more.” https://hexdocs.pm/mix/Mix.html https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html
for packaging Elixir applications for deployment using OTP releases. In a nutshell, Distillery produces an artifact, a tarball, which contains your application and everything needed to run it.” https://hexdocs.pm/distillery/home.html
self-contained release for the current project. Once a release is assembled, it can be packaged and deployed to a target, as long as the target runs on the same operating system (OS) distribution and version as the machine running the mix release command.
ferramenta oficial `mix`. Releases (mix release) Com a diferença de ser mais fácil de usar. Por exemplo: config/prod.exs => compile time evaluation config/releases.exs => run time evaluation
cuidados: Importante Mix Compilação e runtime dependem da máquina onde irá ser executado o `mix`, ie, erlang/elixir devem estar instalados. Releases Compilação depende da máquina onde será compilado, e runtime apenas precisa que o OS seja o mesmo da compilação.
e ter nosso próprio fluxo de deploy (ansible, scripts, etc) Server Ao construir uma imagem docker, ficamos livres para fazer o deploy em qualquer ambiente que suporte containers Docker