Continuous Integration Workflows in Microservice-based Systems: Performance, Failures, and Recovery
Jasem Khelifi, Ali Ouni, Mohammed Sayagh, Mohamed Aymen Saied, Syrine Khelifi, Salah BouktifMicroservice-based architectures (MS) are designed to support modular development and shorter delivery cycles, which may influence the efficiency and resilience of continuous integration (CI) pipelines. However, the extent to which MS architectures affect CI outcomes in practice remains underexplored. To address this gap, we conduct a mixed-method empirical study on 60 MS projects and 60 non-MS GitHub projects, analyzing 464,116 CI workflow runs from MS projects and 203,371 from non-MS projects. We compare CI performance in terms of build execution time, failure frequency, recovery effort, and failure reasons. Our results show that MS projects complete builds nearly twice as fast and consume 3–4 times less virtual machine (VM) time than non-MS projects, with statistically significant differences in large systems. Despite these performance benefits, MS projects exhibit similar CI failure rates to non-MS projects (around 18–20%) and show no statistically significant differences in recovery effort, measured using code churn and number of files changed. A thematic analysis of 354 failed CI run logs in MS projects identifies five main categories of build failures, with testing-related issues dominating (54.3%). Overall, MS architectures improve CI speed and resource efficiency but introduce integration challenges that complicate CI reliability and recovery. These findings suggest that while microservice-based architectures can improve CI execution speed and resource efficiency, they do not necessarily reduce failure rates or recovery effort. This highlights the need for CI practices and tooling that specifically address integration and testing challenges in microservice-based systems.