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

You don't need microservices for that, though. One might as well have moved that piece into a library.


And then deal with cross-language FFI boundaries and cross-language builds.


This is what clicked for me on microservices years back. That the language wasn’t important and if I couldn’t do it in python or C, someone else could in Go or Java or etc.

Compared to if I wrote something in house entirely in C... lolno


Landing in a shop that uses N programming languages for N microservices would be a pretty miserable experience.


I've seen quite a few environments, and usually there's only a limited current set of tech the devs are allowed to use, and if that's not the case, I try to enforce this, but this set should evolve depending on the needs.

The main issue however is manpower. At my current client, one of the technologies still actively being used for this reason is PHP (which is a horrible fit for microservices for a lot of reasons), because they have a ton of PHP devs employed, and finding a ton of (good) people with something more fitting like Go or Rust knowledge is hard and risky and training costs a lot of money (and more importantly: time)...


I can buy this for Rust but if people have issues picking up Go quickly ...


Well, picking up the language itself is one thing (and I agree, that's quite easy with Go), but getting familiar with the ecosystem, best practices and avoiding habits from other languages? That's an entirely different thing.

And that's also how management usually sees it, and if they're smart they also realise that the first project using an unfamiliar technology is usually one to throw away.


At a previous job we used Python for all microservices, except for 'legacy' systems which were in Groovy / Rails. That was a context switch if I ever experienced one.


Once you experience protocol buffers it becomes hard to go back.


How is a serde IDL relevant to microservices? XDR would do just as well, so would JSON.


Because protocol buffers are actually pleasant to use.


RPC is pretty much also a "cross-language FFI boundary", except it can fail.

Of course it has some advantages, but it's hardly universally better.




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

Search: