3 ms·
I'm pretty strongly on the Elixir train, but here's where I see its greatest weakness: On many platforms, the best practice is to have stateless application se
by tmorton 9y ago
I'm pretty strongly on the Elixir train, but here's where I see its greatest weakness:
On many platforms, the best practice is to have stateless application servers, with separate stateful data stores. On the other hand, the big advantages of Erlang/Elixir are in managing state along with your application logic.
In a vacuum, that can be a big win. But I'm worried that the advantages are not enough to overcome the weight of tooling, services, and best practices built around the stateless model. For example, Heroku explicitly tells you to avoid application state, and Docker is built around a destroy-and-rebuild ethos.
For my project, Elixir/Phoenix is great as a "better Rails", but I know I'm only scratching the surface of the platform's strengths.
- jesses 9y agoI don't want this to feel like an ad, but https://gigalixir.com https://gigalixir.com should help in this area. Its a platform-as-a-service, like Heroku, but it's designed to encourage stateful application servers by not doing daily restarts and supporting hot upgrades. Disclaimer: I'm the founder.
- skrebbel 9y agoVery cool! Where do your servers run, and is there any callback planned in case your service gets discontinued?
- skrebbel 9y agoSorry, typo. I meant fallback.
- jesses 9y agoRight now, the servers are on Google Cloud Platform in the us-central1 region. It's in multiple availability zones for reliability. I highly doubt the service will be discontinued ever since traction looks good and we have plenty of funding, but Gigalixir and Heroku are almost interchangeable. The only difference really is that Gigalixir doesn't require a Procfile. However, if you fallback to Heroku, you'll lose clustering, hot upgrades, etc.