4 ms·
Isn't that the purpose of tools like https://erlang.mk/guide/getting_started.html#_getting_started_with_otp_releases https://erlang.mk/guide/getting_started.htm
by marci 7y ago
Isn't that the purpose of tools like https://erlang.mk/guide/getting_started.html#_getting_started_with_otp_releases https://erlang.mk/guide/getting_started.html#_getting_starte... ?
Edit: and for cross-system dev (e.g. debian to windows)
-> https://erlang.mk/guide/cross_compiling.html https://erlang.mk/guide/cross_compiling.html
- walterstucco 7y agoCorrect, but you still need to compile the release on a similar system. For example if your dev machine is Debian it won't work if the deploy machine is Alpine (similarly Windows builds won't work on Linux or Mac).
- onezerozeroone 7y agoI think OTP Releases would still depend on the target host being configured correctly and having all dependencies installed that your application needs to run. Containers are all about consistency of the environment. For example, maybe your Elixir app wants to log out to something like Splunk or DataDog...if those agents aren't installed on the host, it doesn't matter what facilities BEAM provides. Or maybe your app depends on certain configs, libraries, or files being available at specific paths on the system. Things like that would be captured in the image your containers are running and guarantee consistency across machines and environments.
- kungfooguru 7y agoRight, they do, that is why containers are still useful to releases for deployment.
- marci 7y agoMy bad, I sould have specified, I was only addressing "Without Docker, you might have a different version of BEAM installed (or none at all)"
- onezerozeroone 7y agoAh, makes sense!
- lostjohnny 7y agoyou still need to compile your system on the same combination of OS/libc libc builds don't work on Alpine