Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Are you using Elixir/Phoenix in production?
18 points by SamBoogieNYC 455 days ago | hide | past | web | favorite | 5 comments
If so, what does your site/webapp do?

Did you migrate from a different architecture (which one)?

Pros & cons of the migration.

General pros & cons.

General impressions of the ecosystem/community as a whole?




Use it to manage and service connections to IoT/networking devices.

No migration, did some early prototyping of the web frontend with rails but backend was always elixir. Phoenix matured enough and really used it from early on in development.

Pros:

I am really a big fan and feel like its allowed me to do things that would have been very difficult to do in other languages. As I've learned more about the erlang/elixir and the BEAM in general I've become a big fan of it. Theres some things its not great for, but I really like the actor model/message oriented approach and the huge amount of things that you get "for free" by building on the it. At this point I would need a good reason to use anything else for a network-centric application.

The community is great and its been fun seeing it grow. I got into rails a bit after the huge wave of growth there, I feel like elixir is seeing similar and that I have the tide rising under me.

Cons:

There is a _lot_ to learn about the BEAM and you have to be ready to do that for a serious application. Nothing is free and your system isn't going to be magically fault tolerant and well designed just because you're writing it using elixir. You have to do things the "erlang way" and lean into it or you're going to have a bad time.

Functional programming isn't something a lot of people are familiar with. Its going to take a bit to onboard engineers who haven't thought about problems in that way before. Hiring is more difficult, but there is also a lot of self-selection at play, bad/mediocre devs probably aren't interested and while there are some good/great ones who aren't interested as well I find they're usually much more open minded.

Devops groups are going to have to work differently than they're used to. There could be some pushback on that.

For me the cons is vastly outweighed by the pros and 2 years in I would make the same decisions over again.


Thanks for your in-depth response.

From my initial dive into Elixir/Phoenix/FP (coming from Swift-Python-JS land) I find it a bit daunting but also exciting in a way. From a personal standpoint I'm not very fond of OO generally, it's just never clicked completely for whatever reason. The concepts I've learned about FP make a lot of sense, although I don't yet have a deep understanding of them.

I'm in the early planning stages of building a web-app that will make heavy use of media as well as have messaging capabilities. I really dislike Javascript so I'm looking for ways to minimize its usage, but only if it makes sense.

Could you elaborate on 'things its not great for' - what types of things and why?

Also - could you suggest a few of the major concepts to take a look at RE: the BEAM.


We are using Elixir/Cowboy at https://www.honeybadger.io to receive log drain data from our customers' Heroku apps. It's reliable and fast, but deployment has been a sort point (we're spoiled by Capistrano). I recently changed the deployment to elasticbeanstalk with the multiple docker image approach, and that has been much nicer.

The ecosystem is still young -- a lot like Rails was in the early days -- so there are rough edges, but I'm betting they will get sorted out, just like they did in Rails land.


Thanks for the input - how were you deploying before elastic/docker?


We used exrm




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: