Microservice Granularity and Development Overhead - Warfvinge, Philip (My University, 2025)
Microservices have become more prevalent recently, with several large enterprises adopting them. Microservices promise many advantages, but there are also challenges involved with deciding on their granularity, and this decision has many effects. The thesis explored through an investigative case study whether practitioners at one organisation perceived that a finer-grained microservice architecture resulted in additional work, and it was concluded that they did. Notably, they pointed out that intentionally suboptimal granularity decisions were frequently taken in the interest of time for services with rapidly changing requirements, and that this in part was due to the additional difficulty of splitting the service. Quantitative data from these practitioners’ organisation back this up. Other key results supported by both quantitative and qualitative data from the organisation are that the type of the microservice impacts how the granularity changes over time — that a small subset of microservices with rapidly changing requirements grow large, while most microservices tend to stay the same size after initial development work is done. It is then discussed how this growth can be seen as architectural technical debt caused partly by organisational processes, and that it would be beneficial for the organisation to consider this when planning. This adds further support to literature claiming that organisational processes are crucial for microservice development and that there are additional potential disadvantages beyond the immediately obvious to using microservices, and that it is crucial to consider carefully whether the advantages truly outweigh the disadvantages before choosing to use a microservice architecture, especially for smaller systems.
Keywords: software engineering, architecture, technical debt, microservice, granularity, overhead, extra work