Live data from Hacker News

Ask HN: What are good books on SW architecture that don't sell microservices?

news.ycombinator.com

1–10 of 29 posts

Ask HN: What are good books on SW architecture that don't sell microservices?

#1
There have been multiple discussions of how the microservices movement did more harm than good, how a modular monolith can be a much better option.

I wish there was a comprehensive book (ideally) that is practical, pragmatic, doesn't advocate the use of microservices just because it is cool, etc.

Some books that are often recommended have "microservices" in their names which is a pretty bad start.

For example, I am thinking of how two services should communicate (I am unfortunately guilty of having more services that I really needed). There are multiple options and the choice depends on factors like synchronous vs asynchronous so I would like to read a detailed analysis of all tradeoffs and considerations. Ideally, from authors that really know what they're talking about.

Re: Ask HN: What are good books on SW architecture that don't sell microservices?

#2
The only modern design book that seems to be universally acclaimed is designing data intensive applications. I enjoyed it and I don't remember it being too much along those lines. Martin fowlers writings were reasonably balanced on that kind of stuff although I think he was an early advocate of service bus. Our business seems to be reversing in terms of the drive for microservices and being more tolerant of medium sized systems.

Re: Ask HN: What are good books on SW architecture that don't sell microservices?

#3
post #2

The only modern design book that seems to be universally acclaimed is designing data intensive applications. I enjoyed it and I don't remember it being too much along those lines. Martin fowlers writings were reasonably balanced on that kind of stuff although I think he was an early advocate of service bus. Our business seems to be reversing in terms of the drive for microservices and being more tolerant of medium si…

I have already read and very much enjoyed DDIA. I also revisit some of its chapters occasionally.

Re: Ask HN: What are good books on SW architecture that don't sell microservices?

#7
post #4

I would recommend Release It! by Michael T. Nygard first edition, the second edition talks about microservices

I have the first edition and thoroughly recommend it. The rules he sets out seem to adequately account for any architecture. I’m slightly surprised that the second edition covers microservices.

Have you read it? Do you know what angle he takes on them?

Re: Ask HN: What are good books on SW architecture that don't sell microservices?

#9
This may sound like I am a complete idiot, but I sincerely think that reading works like the Tao Te Ching may help more than reading books on software architecture.

There are still many new ways of architecture to be found. For example, making software with an extension language could result in way better systems than a system envisioned by a customer who has no clue about computers. But unfortunately, it is often a nonsensical output constraint that determines how software evolves.

Knowing how to manage these constraints is key. And this requires understanding and being able to successfully communicate with people, and keeping track of contemporary hardware and software to interface with. The actual software design seems largely irrelevant to me.

Just use good names, and subdivide complexity into modules with a lower cumulative complexity.

Re: Ask HN: What are good books on SW architecture that don't sell microservices?

#10
The Architecture of Open Source Applications has some great lessens learned. It's also free: https://aosabook.org/en/ .

I don't think there are lots of examples of the distributed systems discussion though, since most of the writing is about how to structure the source code of a single program. That's not unrelated, since most of what you're asking about is how different interfaces or modules should interact. In a distributed system, that happens over RPCs, but it can just as easily happen within a program with separate threads.

Note: they've added some other books, which show up at the top of the page, but I've only read select chapters from AOSA Volume 1.

Post reply on HN