Core Idea
Granularity integrators are architectural forces that favor larger, more integrated services over fine-grained decomposition.
Definition
Granularity integrators are architectural forces that favor larger, more integrated services over fine-grained decomposition. These forces represent constraints, dependencies, or quality attributes that benefit from keeping components together within a unified service boundary. When integrator forces are strong, they create pressure to consolidate services or resist splitting existing components.
Service sizing emerges from analyzing competing forces within each architectural context. Integrators oppose Granularity-Disintegrators—forces favoring smaller, focused services.
Key Characteristics
- Database transactions (ACID): Need for atomic, consistent operations across data entities pushes toward shared databases and larger service boundaries
- Workflow management: Complex multi-step business processes requiring state coordination benefit from centralized control in a single service
- Shared code dependencies: Significant shared functionality creates coupling that justifies keeping services together rather than duplicating logic
- Performance and latency concerns: Each service boundary adds network hops and serialization overhead; consolidation reduces inter-service communication costs
- Operational overhead: Managing deployments, monitoring, and inter-service communication requires resources that may exceed business value for very small services
Why It Matters
Integrators enable evidence-based decisions about when not to decompose services, preventing the over-engineering trap of excessive microservices. Distributed systems introduce challenges—network latency, fault tolerance, data consistency—that don’t exist in monoliths. Integrators identify when these challenges outweigh decomposition benefits.
Different contexts prioritize different integrators: financial systems emphasize ACID transactions; e-commerce balances transaction needs with scalability. Right granularity emerges from analyzing competing forces, not from universal rules.
Related Concepts
- Service-Granularity - The broader concept of determining service size and scope
- Granularity-Disintegrators - Forces pushing toward smaller, focused services
- ACID - Transactional consistency that often favors larger service boundaries
- Eventual-Consistency - Alternative to ACID that enables smaller services
- Coupling - Service consolidation increases internal coupling while reducing inter-service coupling
- Bounded-Context - DDD concept that defines appropriate service boundaries
- Distributed-Transactions - Complexity introduced when transactions span service boundaries
- Software Architecture - The Hard Parts - Ford, Richards, Sadalage & Dehghani - 2022 - Primary source introducing the integrators 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.