Chapter 6. Developer Without a Cause Pitfall

I first saw James Dean in the movie Rebel Without a Cause when I was just a young lad, but I still remember everything about the movie. When thinking about a name for this antipattern I immediately thought of James Dean—a troubled young man who made decisions for the wrong reasons. Perfect.

I have observed more times that I can count architects and developers making decisions about various aspects of microservices, particularly with regards to service granularity and devops tools, for all the wrong reasons. It all boils down to tradeoffs. Rich Hickey says “Programmers know the benefits of everything and the tradeoffs of nothing.” My friend Neal Ford likes to follow up on Rich’s quote by saying “Architects must understand both.” I maintain that developers should know both as well.  

Making the Wrong Decisions

Figure 6-1 illustrates one common scenario where services are discovered to be too fine-grained, therefore impacting performance and overall reliability due to the amount of interservice communication between them. In this scenario, the developer or architect makes the decision that these services should be consolidated into a single, more coarse-grained service to address the performance and reliability issues.

Figure 6-1. Moving from fine-grained to coarse-grained

While this seems like a reasonable decision, the tradeoff of doing ...

Get Microservices AntiPatterns and Pitfalls now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.