Table of Contents
Fetching ...

Incidents During Microservice Decomposition: A Case Study

Doğaç Eldenk, H. Alperen Çetin

TL;DR

The paper investigates why incidents occur during Carbon Health's rapid transition from a monolith to microservices in a cloud-based healthcare platform. By analyzing 107 incident reports from 2020–2025 and classifying root causes into ten categories, it links fault patterns to the decomposition process and evolving architecture. A key insight is that starting with a modular monolith can reduce problematic DB locks and over-fetching, while repository-driven data access and cross-team collaboration enhance resilience during migration. The work offers actionable guidance for practitioners, emphasizing tooling, governance, and postmortem-driven learning as critical for achieving reliable, scalable microservice ecosystems.

Abstract

Software errors and incidents are inevitable in web based applications. Scalability challenges, increasing demand, and ongoing code changes can contribute to such failures. As software architectures evolve rapidly, understanding how and why incidents occur is crucial for enhancing system reliability. In this study, we introduce Carbon Health's software stack, share our microservices journey, and analyze 107 incidents. Based on these incidents, we share insights and lessons learned on microservice decomposition. Finally, we suggest that starting with monolithic modularization as an initial step toward microservice decomposition may help reduce incidents and contribute to building more resilient software.

Incidents During Microservice Decomposition: A Case Study

TL;DR

The paper investigates why incidents occur during Carbon Health's rapid transition from a monolith to microservices in a cloud-based healthcare platform. By analyzing 107 incident reports from 2020–2025 and classifying root causes into ten categories, it links fault patterns to the decomposition process and evolving architecture. A key insight is that starting with a modular monolith can reduce problematic DB locks and over-fetching, while repository-driven data access and cross-team collaboration enhance resilience during migration. The work offers actionable guidance for practitioners, emphasizing tooling, governance, and postmortem-driven learning as critical for achieving reliable, scalable microservice ecosystems.

Abstract

Software errors and incidents are inevitable in web based applications. Scalability challenges, increasing demand, and ongoing code changes can contribute to such failures. As software architectures evolve rapidly, understanding how and why incidents occur is crucial for enhancing system reliability. In this study, we introduce Carbon Health's software stack, share our microservices journey, and analyze 107 incidents. Based on these incidents, we share insights and lessons learned on microservice decomposition. Finally, we suggest that starting with monolithic modularization as an initial step toward microservice decomposition may help reduce incidents and contribute to building more resilient software.
Paper Structure (9 sections, 1 table)