News for hackers. Stuff that matters.
Re:Monoliths Are the Future by wtetzner on Thursday January 30, 2020 @03:20PM (#22195106)
> you create unmaintainable spaghetti that can't ever change without breaking things you can't easily surface.

How does creating a tangle of microservices (effectively distributed objects) really solve the problem?

Re:Monoliths Are the Future by MadWombat on Thursday January 30, 2020 @03:47PM (#22195388)
Microservices provide an abstraction. That is kind of the point. If you feel like the data yours service operates on would be better off stored in a redis database instead of an RDBMS, you can rewrite your persistence layer, test and roll out the new version of the service. As long as your APIs do not change, nobody cares how you produce responses to requests. In a monolith, this would be a nightmare. You don't have a single persistence layer to change, you have to go through every module, find all the places where this specific table or tables are being accessed and change retrieval and storage functionality everywhere.
Re:Monoliths Are the Future by wtetzner on Thursday February 06, 2020 @09:23AM (#22256123)
> Microservices provide an abstraction.

So do modules/classes/interfaces etc. You don't need a layer of HTTP in between components to have abstraction.

In addition, it feels like microservices solve a problem that very few people really have. I've never run into a case where I though "boy, I'd sure like to have a different database for this one chunk of code". If that did happen, then sure, split it out, but I can hardly believe that splitting your entire code base into microservices has a net benefit. The real problem in nearly every project I've worked on is complexity of business logic. A monolith is much easier to refactor, and you can change the entire architecture if you need to without having to coordinate releases of many different applications.

Re:Monoliths Are the Future by geggam on Thursday January 30, 2020 @04:08PM (#22195606)
Seems to me you are talking about a database access layer instead of microservices.

My understanding of microservices is a bunch of loosely connected services that can be changed with minimal impact to the others

Problem with the ideal is in reality this never works as complexity grows the spaghetti code moves to spaghetti infrastructure ( Done a network map of a large k8s / istio deployment lately ? )

Re:Monoliths Are the Future by hopia on Thursday January 30, 2020 @04:15PM (#22195703)
The impact would be minimal only if the API of the microservice didn't change. But in the same codebase too, if you have a module whose API doesn't change the changes from refactoring it would likewise be minimal.
Re:Monoliths Are the Future by NicoJuicy on Thursday January 30, 2020 @03:30PM (#22195210)
Constructed good, it's Ravioli and not spaghetti.
Re:Monoliths Are the Future by wtetzner on Thursday February 06, 2020 @09:09AM (#22256007)
But that's true of a well-constructed monolith, too. And it has far fewer failure modes and less complexity in general.