Hacker News new | past | comments | ask | show | jobs | submit login

I thought Klarna had moved away from Erlang, mostly towards Java. I guess not.



From what I heard they tried to replace everything with a new Java system (the old "let's rewrite everything from scratch" trap) and didn't or only partially succeeded (it may be used in some other region?). Too much legacy and too many features supported in the old system to be able to move away from it.


In the beginning (read: 2005) there was only one system, Kred. It was written in Erlang and did everything, so became a huge monolith over time.

About 10 years later Klarna started to change its system architecture (which makes total sense, since by that time it grew to a successful unicorn, with a way more complex business than what it had at launch time).

First, instead of shovelling every new feature into the monolith, it introduced new (mostly micro-)services around it. This model is successful, and most of these new services are written in Java, but there are also Erlang ones and other, even some "exotic" ones, like Haskell. (Also, through a series of acquisitions, Klarna got a bunch of tech from other companies, which, you can imagine, were written in whatever language those other companies used.)

There was also an attempt to replace Kred, the old Erlang system, with a new one (happened to be written in Java), and this project indeed was a failure in the sense that Kred is still around and nobody wants to decommission it nowadays. But the intended replacement system still proved useful, so it's not really a failure from that system's developers point of view.


Thanks for the insight. That's some proper complexity debt.


They have software in Java amongst other langs. But I believe it was JS that they tried to replace the core system with.


That doesn't seem mutually exclusive with the fact that the oldest service is written in the oldest-used language.




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

Search: