It's possible to have multiple VMs inside a single process?

I want to experiment with an idea that consists of running multiple Erlang VMs inside the same process. Is this possible? And if it’s possible, can we do this programmatically? Something like Mix.install.

At the company that I’m working we heavily use bffs to compose the APIs and make the client-side life easier, but this comes with a huge cost in infra and time to spin up all those services, configure the alerts, etc… but what if those bffs were done in Elixir and the deployment could be just a “install” at the main server.

What does process mean in this case? An OS process?

Forgot to mention that, yes, a OS process. I was thinking on sharing the same VM with other Erlang apps if possible.

Is this not what is typically happening with dependencies?

1 Like

Actually you must have multiple applications in one VM as it is impossible to not start at least 2 of them - kernel and stdlib. And you can run as many distinct (each application need to use unique name) applications as you want.