Core Idea
Granularity disintegrators are architectural forces that drive decomposition of larger services into smaller, focused units.
Definition
Granularity disintegrators are architectural forces that drive decomposition of larger services into smaller, focused units. These forces represent quality attributes, operational concerns, or design constraints that benefit from service separation. When a disintegrator force is strong, it creates pressure to break apart monolithic components or split existing services.
Service sizing isn’t determined by universal rules but by analyzing competing forces within each architectural context. Disintegrators oppose Granularity-Integrators—forces favoring larger, more integrated services.
Key Characteristics
- Service scope and function: Different business capabilities or bounded contexts naturally push toward separate services
- Code volatility: Components changing at different rates benefit from separation for easier testing and deployment
- Scalability and throughput: Different scaling requirements drive separation for independent scaling without scaling the entire monolith
- Fault tolerance: Isolating failure-prone components prevents cascading failures and protects critical functionality
- Security requirements: Different security postures (public-facing vs. internal, PII vs. non-sensitive) enable targeted controls
- Team autonomy: Different teams owning different system parts create natural service boundaries (Conway’s Law)
Why It Matters
Disintegrators enable evidence-based decomposition decisions rather than arbitrary rules. This framework evaluates when service separation creates architectural benefits versus unnecessary complexity.
The analysis prevents over-decomposition (excessive inter-service overhead) and under-decomposition (monolithic services hard to scale and maintain). Disintegrators must balance against Granularity-Integrators—forces favoring larger services (ACID transactions, shared data, workflow coordination). Right granularity emerges from analyzing competing forces in each architectural context.
Related Concepts
- Service-Granularity - The broader concept of determining service size and scope
- Granularity-Integrators - Opposing forces favoring larger services
- Coupling - Service separation reduces coupling between components
- Scalability - A primary disintegrator driving service decomposition
- Fault-Tolerance - Isolation through service boundaries improves system resilience
- Modularity - The fundamental principle underlying service decomposition
- Bounded-Context - DDD concept that naturally defines service boundaries
- Software Architecture - The Hard Parts - Ford, Richards, Sadalage & Dehghani - 2022 - Primary source introducing the disintegrators framework
Sources
-
Ford, Neal, Mark Richards, Pramod Sadalage, and Zhamak Dehghani (2022). Software Architecture: The Hard Parts. O’Reilly Media. ISBN: 9781492086895. Chapter 7. Available: https://www.thoughtworks.com/content/dam/thoughtworks/documents/books/bk_software_architecture_hard_parts_ch7_en.pdf
-
Munasinghe, Sidath (2024). “Right-Sizing Microservices: Harnessing Integrators and Disintegrators.” Medium. Available: https://medium.com/@sidathasiri/right-sizing-microservices-harnessing-integrators-and-disintegrators-for-scalable-architecture-50f96e28c812
-
Richardson, Chris (2023). “Thoughts about Service Granularity.” Microservices.io. Available: https://microservices.io/post/architecture/2023/09/21/about-service-granularity.html
Note
This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.