

Full description not available

W**R
Integrative treatment of systems architecture using the microservice approach
Great read for new and experienced developers and solutions architects alike.Something I appreciate about this book is how it incorporates and integrates best practices from many well-regarded sources, including Domain-Driven Design (Evans), Continuous Delivery (Humble and Farley), Release It (Nygard), Enterprise Integration Patterns (Hohpe), and even Information Dashboard Design (Few), among several others. I've incorporated lessons learned from those authors in my own work, and Newman's work helped me to take a step back and see how it all fits into a mutually-reinforcing set of ideas and practices.Another strength this book has is that it treats the organizational forces driving systems design on a par with the technical forces, especially around Conway's Law. While I've been reasonably thoughtful about Conway's Law for some years, I walked away from the book with new insights. For example, in my organization we often talk about how we can make geography "invisible" so that developers around the world can closely collaborate on the same development projects. So we've tried things like asking people to focus more on communicating via wiki or Slack, having video teleconference meetings, trying to schedule meetings at times that are friendly to multiple time zones, and so forth, with limited success. We may need to rethink this. Newman's book offers some nice insights about the difference between loosely- and tightly-coupled organizations, and how different strategies work better depending on the organizational context. (For instance, if _everybody_ is "remote", then you're more likely to see successful wiki-based collaboration than you are when only one or two team members are.)Coupling and its dangers are a constant theme in the book. Besides the organization coupling I mentioned above, Newman treats technical coupling as well, and offers plenty of food for thought. At one point he offers a fair criticism against one of my favorite frameworks, Spring Data REST. (He refers to it as Spring Boot, but it's clear from the context that he's talking about a Spring Boot demo that includes Spring Data REST specifically.) Spring Data REST essentially takes your database schema and exports it as a REST API, and it's a convenient way to get a full-blown REST API in just an hour or two. But as Newman points out, this creates strong coupling between the API client and database-related implementation details. (To be fair to SDR, there are ways to customize the mapping, but point is essentially correct.) Also SDR is more focused around exposing data, where Newman argues that to decrease coupling we should focus more on exposing capabilities. I don't know exactly how to resolve this tension yet, but I walked away with a better appreciation of the forces in tension, which is exactly what I'd want.There was one way in which the book surprised me. Based on the title I was expecting a more in-depth how-to on building microservices, with specifics on tooling, code examples and so on. (E.g., "cloud native" concerns like using linkerd and Consul to set up a service mesh, or the pros-and-cons of using DNS vs service discovery for cross-region failover.) The book does a nice job of pulling in current and relevant tools and design patterns into the discussion where they make sense. But as Newman states at the outset the book is a more theoretical presentation of the microservices approach, concerned more with helping the reader understand the forces that brought us where we are today, and strategies to keep scope and coupling low. In the end I was glad to read the book as it is--I have a better lay of the land--but there will be some follow-up reading.
B**S
Not really about microservices, but a good guide on design/architecture
I was looking for a specific book on microservice design, development, etc.. this book touches on it, but its really more a full end to end guide on development practices INCLUDING microservice design.Perhaps it sells better w/ this title -- the book is overall pretty good, I gave it 4-stars because it is misleading.The good parts of it -- covers end to end, design, deployment, logging/monitoring, deployment, etc. Overall good to introduce someone to system design. Not enough depth to really be a bible for seasoned architects -- good for an old architect like me to get back into more up to date technologies.
Y**K
Excellent overview with great examples
One of the most amazing books I've read.Buy it only if you are already experienced developer/architect who wants to see the whole picture.Don't buy it if you think this book (or any book) will teach you how to properly implement microservices. As the author points out, there is no right way, it depends on your functional and non-functional requirements.The author highlights practices used by the greatest tech products such as AWS, Netflix, Gilt, other.Many tools are mentioned with examples where to use them.I love that it covers on tech aspects as well, such as evolving architect and Conway's law.The writing style is very decent and examples are generic enough to be applicable in many cases and specific enough to highlight the point.
P**A
Not just about microservices, also teaches distributed systems architecture!
I can't say enough good things about this wonderful little book! This authoritative and confident treatise covers microservices, of course, but it lays down a broad context of distributed systems architecture within which it then prescribes how to build microservices. I use the word "prescribes" on purpose because Newman, who has had a long stint at the legendary boutique technology consulting firm ThoughtWorks, is not shy to express strong opinions. And these opinions Sam very wisely admits as his personal viewpoints and lets the reader know quite plainly what the alternative schools of thought are.In the process, Sam Newman presents loads of concepts (Domain Driven Design, Bounded Context), patterns (Loose Coupling, Strong Cohesion, Strangler, Bulkhead) and tools (Hibernate, SchemaSpy). I said "loads", so obviously this isn't a comprehensive list. I've provided just a few examples to whet your appetite. Plus I don't want to ruin your pleasure of reading this great book.Do not pass up this opportunity to learn from a master. Enjoy!
Trustpilot
2 months ago
1 month ago
2 weeks ago
3 days ago