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

That was a nice article. Thanks.

I'm curious about the first table in the "Interop with other systems" part.

It seems to say that an Erlang deployment doesn't need Nginx or a HTTPServer, anybody knows how that works?

EDIT: I read the cited source (https://rossta.net/blog/why-i-am-betting-on-elixir.html) and it seems that is the case.

It looks too good to be true, yet. It would be nice, if somebody with Erlang deployment experience, could comment.



Erlang has its own HTTP(s) servers, like cowboy (https://github.com/ninenines/cowboy) so it doesn't need Nginx and the like. Those servers simply take the place of Nginx. There is nothing special about Nginx that you can't copy in other languages, like Erlang.

The main web framework for elixir, Phoenix, is just something that bundles cowboy (the webserver) with some utilities on top of it. No need for Nginx.

I do use Nginx in my side projects in front of my Elixir web app, but that's because of some conveniences Nginx brings (having Nginx is probably making my requests a little slower).


Thanks, what about security issues? Do you use some firewall with your Erlang deployments?


It's just Nginx + Phoenix on a rented Linode server. It's in beta, so I don't care much about security beyond the basics...

EDIT: I could drop Nginx and use "raw" cowboy (the webserver behind phoenix), but Nginx makes it easier to setup TLS certificates and I'm lazy enough to keep it around just because of that...


Wait a minute. In the graph in the article you shared, it says that instead of storing persistable data in Redis/MongoDb, you would use Erlang. Do people seriously not use a database in Erlang?


You have persistent processes which you can send and receive messages from which can be treated like a data structure store, as well as ETS if you need more advanced querying and Mnesia if you need embedded persistence.

I'm not sure how these compare to Redis in terms of performance/latency but Mongo is more of a "proper" database than any of these.


Ok. I've used Elixir and read Thomas' Programming Elixir, and from the little exposure I got I knew it was normal to use it as a kv store but still use something like postgres for a traditional db. I did a double take when I saw Mongo in the table.


We definitely use databases such as Postgres, MySQL, Riak, etc. It is just that when it comes to ephemeral data, the tools that ship with the Elixir and OTP may be enough. See how Phoenix does the whole pubsub and presence without Redis or similar.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: