7 ms·
Ask HN: Anyone using elixir in production?
Looking for stories / experience / learnings from people who are using elixir on systems in production. I’ve read a few articles from discord and others who use elixir, would like to get a fresh more up to date perspective from software engineers about the pros and cons of using elixir. What problem are you solving and how does elixir help you? What’s the infra/deployment story like?
I’m currently learning it so I can build a custom notification system which it seems great for.
- innocentoldguy 4y agoThe last 4 jobs I've had have all been (and continue to be) Elixir. HG Insights Divvy Podium GoSkip ----------------- I also know these companies use Elixir: PepsiCo Adobe Smartlogic Cars Felt Dockyard Massdriver Pinterest Discord Amazon (though I doubt they know it broadly).
- moomoo11 4y agoAwesome! Thanks! I've just only gotten into learning Elixir over the last week and I'm already dreaming up so many systems I can build with this newfound knowledge. I love how approachable it is, especially the OTP framework. Appreciate the list you shared.
- bluehatbrit 4y agoWe use Elixir at DICE (https://dice.fm https://dice.fm) for event ticketing and discovery. We have a lot of burst traffic when big name events go on sale and elixir handles it really well. What do we like about it? We actually moved from Go and have nearly removed all Go code from the platform now. Because of our burst traffic we want a really efficient platform that gives everyone a good chance to get the tickets they want. Go gave us this but it wasn't great on dev productivity. Elixir has been a real sweet spot for us. You could build our product with any language/framework/platform really, but most of our devs are from a ruby background so Elixir was a natural choice for us when we knew Ruby would be too frustrating to make efficient enough to match our Go implementation. We deploy onto k8s using helm charts and a custom deploy tool using a k8s operator. We use an umbrella project to organise our mono-repo and currently just re-deploy everything together as that's fine for our size of a team. We're not using live view, but we are using absinthe (graphql library) and react frontend libraries. Our projects started before live view and the setup works well so we don't really have any need to change.
- moomoo11 4y agoHow is the performance (cpu and memory wise as well) compared to Go? In my case I have existing Go and Node code.
- bluehatbrit 4y agoIt's pretty hard to say without being really case specific to be honest. You'd be better off creating a minimal example of your work in all 3 and comparing them with some kind of load test. For us we find we can handle huge amounts of requests very effectively but we also lean heavily on postgres which is hard to remove from the equation for us. I'm not really a huge fan of arbitrary benchmarks as they're often not equally optimised for each platform being tested. Elixir and BEAM are optimised for distributed computing work though, so multiple web requests coming it and taking on a process of their own is a perfect fit though.