Live data from Hacker News

What Even Are Microservices?

var0.xyz

1–10 of 87 posts

Re: What Even Are Microservices?

#3
World of bloated microservices. Yet in reality many create them to be simple data proxies that constantly die down. Win in eyes of hashtag investors, loss in hands of people having to maintain that crap.

Re: What Even Are Microservices?

#6
> Inside a monolith it's easy to answer questions like "Which dependencies are we shipping?"; or "Is this piece of code still used?" Static analysis can often tell you. Once the code is spread across dozens of independent services, those answers become much harder to obtain.

I draw the opposite conclusion here. In monoliths, someone else might want the code to stay in the codebase. I don't want to ask everyone about it. Everyone's responsibility is no-one's responsibility, and the code stays as is.

In a microservice, I publish an interface, and I'm free to tear up all the carpet behind it as long as it keeps doing its job as advertised. Knowing whether public routes are still in use is still a problem, so you need a minimum level of metrics or logging before you can retire an endpoint.

Re: What Even Are Microservices?

#7

   Inside a monolith it's easy to answer questions like "Which dependencies are we shipping?"; or "Is this piece of code still used?” Once the code is spread across dozens of independent services, those answers become much harder to obtain.



You can setup metric for that or see the data.

Re: What Even Are Microservices?

#9

They sound great in theory, but when you've got Microservices A to Z and something isn't right, you've got 26 log files to go through just to start.

Splunk is way too expensive now but if you're not doing centralized logging that you can search, you're doing it wrong.

Re: What Even Are Microservices?

#10
A "real" microservice (according to some definitions) might be only really necessary for organizational reasons. But the services in a distributed monolith are also often called microservices (at least in my company). And for them I believe there is another good reason that I do not hear about in these discussions: robustness.

In our software project, we have had many issues with OOM and golang panics in a goroutine killing our critical endpoint even though the fault was most times caused in the administrational endpoints. By separating the critical endpoint from our administrational ones in two separate services, we reduced the criticality of those issues and therefore also the number of hotfixes we needed.

Post reply on HN