Granularity josedacruz, August 6, 2023 Granularity defines the size of each component, part, or module in a distributed system. The size is about what the module does—the features. An impact on modularity, reusability, testability, performance, security, and reusability. Modularity: smaller size leads to more modules. Reusability: the smaller size makes it easier to maintain the features. Testability: the reduced scope, makes the tests easier to maintain. Performance: facilitates the optimization of a module. (not the whole system) Security: it is easier to protect the module. Smaller modules have some advantages: modularity, easier maintenance, distribution, security, and privacy. Smaller modules also have some disadvantages: communication and infrastructure complexity, latency, performance, and global maintenance. What is the right granularity? (future post…) Related architecture architecturegranularitymodularityservices