Hacker News new | ask | show | jobs
by Kototama 850 days ago
I have no experience with Kubernetes but my understanding is that Erlang/OTP is conceptually much simpler but also answer a different problem. Some stuff overlap (like restarting services/apps) but not all: for example there is no autoscaling in Erlang/OTP. I know that some companies use both in their stack. Kubernetes is language agnostic.

Erlang/Elixir is amazing because it brings so much good things and they are not that difficult to learn with some experience with functional programming.

1 comments

Yes, there is definitely some overlap. Kubernetes will help you with the restart and to deliver network packets to the right process. It's also programmable. On the other hand, you have to manually craft the process APIs to communicate and they look very different from the in-process APIs for most languages. You have to think about exposing metrics to some external system that collects them. That and logs are about it for introspection. The rest you have to build yourself.

On the plus side, out of the box it can do things like "run this process N times", "don't run these on the same node", "run this on every node exactly once".

I'd like to get some experience on a real distributed project in Erlang. Mostly in order to be able to assess how big a productivity booster it really is. :-) But it's a chicken and egg problem. Not a hugely popular language <-> fewer developers <-> higher risk for the company.

On the other hand, as has been pointed out in HN ad nauseam, developers who look for jobs in more obscure languages tend to be higher skilled: they've already self-selected for curiosity and willingness to extend their skills.

At Basho, we hired developers to work on Riak who had no Erlang experience. It's a remarkably simple language, syntactically, and the lack of types makes it easier to get up to speed.

(There are, of course, countless other challenges that it brings, where an experienced Erlang person or three can make a big difference.)

I have been working in Erlang for almost 5 years now. I want to add my experience as anecdote. I joined the current company because it was solving an interesting problem and just happened to use Erlang. I didn't self select for curiosity or learning a new language. Erlang was the tool available to me do the work that I wanted to do.

Cheers to all you Basho/Riak folks. I have worked with one before!

May I ask where? Always keeping an eye out for companies using Erlang.
It's not really hard to onboard new engineers with Scala, Clojure or even Ruby backgrounds. The language is easy. It takes a bit of time to learn the OTP patterns but so does learning any frameworks / tech stack too.