Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> And all the advantages of microservices without the associated costs. (orchestration, management etc)

Really curious about this! What’s the deployment experience? What environment do you use for your production? How do you run/maintain the erlang VM and deploy your service?



We use eks with some customizations specific to elixir and use a autodiscovery service for new nodes to connect to the mesh.

One of the big differences we had to make was allocating one node per machine as the beam likes to have access to all resources. in practice this isn't a problem because its internal scheduler is way more efficient and performant than anything managing OS level processes.

That said, a more complex deployemnt story is defiantly one of the downsides. But the good news is that once setup, its pretty damn resilient.

Now of course, our deployment setup is more complex specifically to take advantage of beam such as distributed pubsub and shared memory between the cluster. If you don't need that, you could use dokku or heroku.


To add to this, we use Phoenix in a typical dockerized, stateless Loadbalancer- X Webserver - Postgres/Redis setup and it works great. Deployment is exactly the same as any other dockerized webapp. What OP is using is the "next level" that allows you to really leverage the BEAM but you don't have to.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: