Submitted:
07 July 2025
Posted:
08 July 2025
You are already at the latest version
Abstract
Keywords:
1. Introduction
1.1. Causes of API Changes
- Synthesis and taxonomy of existing strategies for managing API changes in microservice environments.
- Formulation of a directed-acyclic-graph model for cascading failures, introducing the failure radius and propagation depth metrics.
- Design of the VersionOrchestrator algorithm, integrating semantic versioning, contract testing, and CI/CD triggers.
- Implementation of an open-source prototype with reproducible artefacts and deployment scripts.
- Empirical evaluation on a simplified synthetic microservice chain, benchmarked against a Git-based schema version control approach.
- Derivation of practical guidelines for DevOps adoption under Zero-Trust Architecture requirements.
2. Strategies for Minimizing the Impact of Breaking API Changes
2.1. Procedural Approach (Staging Testing)
2.2. Protocol Description Scheme Generation Approach
2.3. Adaptive API Compatibility Approach
2.4. Blue/Green Deployment Approach
2.5. Including API Versioning in the Protocol
3. API Compatibility-Based Microservice Version Orchestration
| Algorithm 1 CI/CD Pipeline with Microservice API Compatibility Validation |
|
4. Experimental Setup and Methodology
- MS1 → MS2: gRPC (binary protocol)
- MS2 → MS3: HTTP using JSON Schema
- Executes backward compatibility checks
-
Applies semantic versioning:
- -
- Major increment for breaking changes
- -
- Minor for non-breaking updates
- Updates a version.info file and assigns Git tags
4.1. Manual Introduction of a Breaking Change


4.2. Blue-Green Deployment with Incompatible Schema


4.3. Coordinated Compatible Deployment


4.4. Coordinated Compatible Deployment Combined with Blue-Green Strategy


5. Discussion
5.1. Synthesis of Findings
5.2. Interpretation of Experiments
5.3. Practical Implications
5.4. Limitations
5.5. Future Work
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| API | Application Programming Interface |
| CI | Continuous Integration |
| CD | Continuous Deployment (or Delivery) |
| JSON | JavaScript Object Notation |
| gRPC | gRPC Remote Procedure Call |
| HTTP | HyperText Transfer Protocol |
| REST | Representational State Transfer |
References
- Woods, E. Software architecture in a changing world. IEEE Softw. 2016, 33, 94–97. [Google Scholar] [CrossRef]
- Richards, M.; Ford, N. Fundamentals of Software Architecture: An Engineering Approach, 1st ed.; O’Reilly Media: Beijing, Boston, Farnham, Sebastopol, Tokyo, 2020. [Google Scholar]
- Fowler, M; Lewis, J. Microservices. Available online: https://martinfowler.com/articles/microservices.html (accessed on 19 May 2025).
- Söylemez, M.; Tekinerdogan, B.; Tarhan, A.K. Microservice reference architecture design: A multi-case study. Softw. Pract. Exp. 2024, 54, 58–84. [Google Scholar]
- Choi, H.-J.; Kim, J.-H.; Lee, J.-H.; Han, J.-Y.; Kim, W.-S. Adaptive Microservice Architecture and Service Orchestration Considering Resource Balance to Support Multi-User Cloud VR. Electronics 2025, 14, 1249. [Google Scholar] [CrossRef]
- Faustino, D.; Gonçalves, N.; Portela, M.; Silva, A.R. Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation. Perform. Eval. 2024, 164, 102411. [Google Scholar]
- Narváez, D.; Battaglia, N.; Fernández, A.; Rossi, G. Designing Microservices Using AI: A Systematic Literature Review. Software 2025, 4, 6. [Google Scholar] [CrossRef]
- Ye, S.; Saukh, V.; Puchko, T.V. Sustainable web API evolution: Forecasting software development effort. IOP Conf. Ser. Earth Environ. Sci. 2024, 1415, 012077. [Google Scholar]
- Bonorden, L.; Riebisch, M. API deprecation: A systematic mapping study. In Proceedings of the 2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA); 2022; pp. 451–458. [Google Scholar]
- Zdun, U.; Wittern, E.; Leitner, P. Emerging trends, challenges, and experiences in DevOps and microservice APIs. IEEE Softw. 2020, 37, 87–91. [Google Scholar]
- Zhou, X.; Peng, X.; Xie, T.; Sun, J.; Ji, C.; Li, W.; Ding, D. Fault analysis and debugging of microservice systems: Industrial survey, benchmark system, and empirical study. IEEE Trans. Softw. Eng. 2021, 47, 243–260. [Google Scholar]
- Lercher, A.; Glock, J.; Macho, C.; Pinzger, M. Microservice API evolution in practice: A study on strategies and challenges. J. Syst. Softw. 2024, 215, 112110. [Google Scholar] [CrossRef]
- Cerny, T.; Donahoo, M.J.; Trnka, M. Contextual understanding of microservice architecture: Current and future directions. SIGAPP Appl. Comput. Rev. 2018, 17, 29–45. [Google Scholar] [CrossRef]
- Lercher, A.; Bauer, C.; Macho, C.; Pinzger, M. AutoGuard: Reporting Breaking Changes of REST APIs from Java Spring Boot Source Code (Tool-Demo Paper, SANER 2025). 2024. Available online: https://pinzger.github.io/papers/Lercher2025-AutoGuard.pdf (accessed on 19 May 2025).
- Waseem, M.; Liang, P.; Shahin, M.; Ahmad, A.; Nassab, A.R. On the nature of issues in five open source microservices systems: An empirical study. In Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering, New York, NY, USA; 2021; pp. 201–210. [Google Scholar] [CrossRef]
- Musavi, P.; Adams, B.; Khomh, F. Experience report: An empirical study of API failures in OpenStack cloud environments. In Proceedings of the 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, ON, Canada, 23–27 October 2016; pp. 424–434. [Google Scholar] [CrossRef]
- Lelovic, L.; Huizenga, A.; Goulis, G.; Kaur, A. Change Impact Analysis in Microservice Systems: A Systematic Literature Review. J. Syst. Softw. 2024, 219, 112241. [Google Scholar] [CrossRef]
- Cerny, T.; Goulis, G.; Abdelfattah, A.S. Towards Change Impact Analysis in Microservices-Based System Evolution. arXiv 2025, preprint. [Google Scholar] [CrossRef]
- Xavier, L.; Brito, A.; Hora, A.; Valente, M.T. Historical and impact analysis of API breaking changes: A large-scale study. In Proceedings of the 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), Klagenfurt, Austria, 20–24 February 2017; pp. 138–147. [Google Scholar] [CrossRef]
- Chen, F.; Zhang, L.; Lian, X. A systematic gray literature review: The technologies and concerns of microservice application programming interfaces. Softw. Pract. Exp. 2021, 51, 1483–1508. [Google Scholar] [CrossRef]
- Morris, B. REST APIs don’t need a versioning strategy—they need a change strategy. Available online: https://www.ben-morris.com/rest-apis-dont-need-a-versioning-strategy-they-need-a-change-strategy/ (accessed on 19 May 2025).
- Dackebro, E. An Empirical Investigation into Problems Caused by Breaking Changes in API Evolution. Master’s Thesis, School of Electrical Engineering and Computer Science, KTH Royal Institute of Technology, Stockholm, Sweden, 2019. Available online: https://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-255015 (accessed on 19 May 2025).
- Robbes, R.; Lungu, M. A study of ripple effects in software ecosystems: (NIER track). In Proceedings of the 33rd International Conference on Software Engineering (ICSE), Honolulu, HI, USA, 21–28 May 2011; pp. 904–907. [Google Scholar] [CrossRef]
- Brito, A.; Valente, M.T.; Xavier, L.; Hora, A. You broke my code: Understanding the motivations for breaking changes in APIs. Empir. Softw. Eng. 2020, 25, 1458–1492. [Google Scholar] [CrossRef]
- Musavi Mirkalaei, S.P. API Failures in OpenStack Cloud Environments; Master’s Thesis, École Polytechnique de Montréal: Montreal, QC, Canada, 2017; Available online: https://publications.polymtl.ca/2715/ (accessed on 19 May 2025).
- Brito, A.; Xavier, L.; Hora, A.; Valente, M.T. APIDiff: Detecting API breaking changes. In Proceedings of the 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 20–23 March 2018; pp. 507–511. [Google Scholar] [CrossRef]
- Granli, W.; Burchell, J.; Hammouda, I.; Knauss, E. The driving forces of API evolution. In Proceedings of the 14th International Workshop on Principles of Software Evolution, New York, NY, USA, 31 August 2015; pp. 28–37. [Google Scholar] [CrossRef]
- Di Lauro, F.; Serbout, S.; Pautasso, C. Towards large-scale empirical assessment of Web APIs evolution. In Web Engineering; Brambilla, M., Chbeir, R., Frasincar, F., Manolescu, I., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 124–138. [Google Scholar] [CrossRef]
- Lehman, M.M. On understanding laws, evolution, and conservation in the large-program life cycle. J. Syst. Softw. 1979, 1, 213–221. [Google Scholar] [CrossRef]
- Teivonen, P. Staging Environment Implementation in a Software Delivery Automation Pipeline. Bachelor’s Thesis, Oulu University of Applied Sciences, Oulu, Finland, 2024. Available online: http://www.theseus.fi/handle/10024/862900 (accessed on 19 May 2025).
- Everett, G.D.; McLeod, R., Jr. Software Testing: Testing Across the Entire Software Development Life Cycle; John Wiley & Sons: Hoboken, NJ, USA, 2007; ISBN 978-0-470-14634-7. [Google Scholar]
- Fowler, S.J. Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2016; ISBN 978-1-4919-6592-4. [Google Scholar]
- Desikan, S.; Ramesh, G. Software Testing: Principles and Practice; Pearson Education India: Delhi, India, 2006; ISBN 978-81-7758-121-8. [Google Scholar]
- Beilharz, J.; Wiesner, P.; Boockmeyer, A.; Brokhausen, F.; Behnke, I.; Schmid, R.; Pirl, L.; Thamsen, L. Towards a Staging Environment for the Internet of Things. In Proceedings of the 2021 IEEE International Conference on Pervasive Computing and Communications Workshops and Other Affiliated Events (PerCom Workshops), Kassel, Germany, 22–26 March 2021; pp. 312–315. [Google Scholar] [CrossRef]
- Pact Docs. Introduction. Available online: https://docs.pact.io/ (accessed on 19 May 2025).
- Carver, J.C.; Chue Hong, N.P.; Thiruvathukal, G.K. Software Engineering for Science; CRC Press: Boca Raton, FL, USA, 2016; ISBN 978-1-315-35192-6. [Google Scholar]
- Viotti, J.C.; Kinderkhedia, M. A Survey of JSON-Compatible Binary Serialization Specifications. arXiv 2022, arXiv:2201.02089. [Google Scholar] [CrossRef]
- Loechel, L.; et al. Hook-in Privacy Techniques for gRPC-Based Microservice Communication. In Web Engineering; Springer Nature: Cham, Switzerland, 2024; pp. 215–229. [Google Scholar] [CrossRef]
- Babal, H. gRPC Microservices in Go; Simon and Schuster: New York, NY, USA, 2023. [Google Scholar]
- Friesen, J. Java XML and JSON: Document Processing for Java SE; Apress: Berkeley, CA, USA, 2019. [Google Scholar]
- Richardson, C. Microservices Patterns: With Examples in Java; Manning Publications: Shelter Island, NY, USA, 2018. [Google Scholar]
- Tulach, J. Practical API Design; Apress: Berkeley, CA, USA, 2008. [Google Scholar] [CrossRef]
- Humble, J.; Farley, D. Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation; Pearson Education: Boston, MA, USA, 2010. [Google Scholar]
- Servile, V. Continuous Deployment; O’Reilly Media: Sebastopol, CA, USA, 2024. [Google Scholar]
- Bhuyan, A.P. Microservices Design Patterns: Best Practices for Cloud-Native Architectures; Self-Published: India, 2024. [Google Scholar]
- Serbout, S.; Pautasso, C. An Empirical Study of Web API Versioning Practices. In Web Engineering; Garrigós, I., Murillo Rodríguez, J.M., Wimmer, M., Eds.; Springer Nature: Cham, Switzerland, 2024. [Google Scholar]
- Knoche, H.; Hasselbring, W. Continuous API Evolution in Heterogeneous Enterprise Software Systems. In Proceedings of the 2021 IEEE 18th International Conference on Software Architecture (ICSA), Stuttgart, Germany, 22–26 March 2021; pp. 58–68. [Google Scholar] [CrossRef]
- Koçi, R.; Franch, X.; Jovanovic, P.; Abelló, A. Classification of Changes in API Evolution. In Proceedings of the 2019 IEEE 23rd International Enterprise Distributed Object Computing Conference (EDOC), Paris, France, 28–31 October 2019; pp. 243–249. [Google Scholar] [CrossRef]
- Singhal, V. What Is Staging Environment & Why You Should Have One. 2024. Available online: https://instawp.com/what-is-staging-environment/ (accessed on 19 May 2025).
- Nilslice. Protolock: Protocol Buffer Lockfile Utility. Available online: https://github.com/nilslice/protolock (accessed on 6 July 2025).
- IBM. jsonsubschema: Subtype-Based Comparison Library for JSON Schemas. Available online: https://github.com/IBM/jsonsubschema (accessed on 6 July 2025).
- Habib, A.; Shinnar, A.; Hirzel, M.; Pradel, M. Finding Data Compatibility Bugs with JSON Subschema Checking. In Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), Virtual Event, 11–17 July 2021; pp. 620–632. [Google Scholar] [CrossRef]
- Lam, P.; Dietrich, J.; Pearce, D.J. Putting the Semantics into Semantic Versioning. In Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Chicago, IL, USA, 16–21 November 2020; pp. 157–179. [Google Scholar] [CrossRef]
- European Parliament and Council of the European Union. Regulation (EU) 2024/2847 of 23 October 2024 on Horizontal Cybersecurity Requirements for Products with Digital Elements (Cyber Resilience Act). EUR-Lex. 2024. Available online: https://eur-lex.europa.eu/eli/reg/2024/2847/oj/eng (accessed on 19 May 2025).
- DO-178C - Software Considerations in Airborne Systems and Equipment Certification. RTCA. 2024. Available online: https://my.rtca.org/productdetails?id=a1B36000001IcmqEAC (accessed on 19 May 2025).
- Sun, R.; Zhong, D.; Li, W.; Lu, M.; Ding, Y.; Xu, Z.; Gong, H.; Zha, Y. A Safety Analysis Method of Airborne Software Based on ARP4761. J. Phys. Conf. Ser. 2021, 1654, 012022. [Google Scholar] [CrossRef]
- Weedy, B.M.; Cory, B.J.; Jenkins, N.; Ekanayake, J.B.; Strbac, G. Electric Power Systems, 5th ed.; John Wiley & Sons: Hoboken, NJ, USA, 2012; ISBN 978-1-118-36108-5. [Google Scholar]
- Sirotkin, O. , Prymushko, A., Puchko, I., Kravtsov, H., Yaroshynskyi, M., & Artemchuk, V. (2025). Parallel Simulation Using Reactive Streams: Graph-Based Approach for Dynamic Modeling and Optimization. Computation, 13(5), 103. [CrossRef]
- Prymushko, A. , Puchko, I., Yaroshynskyi, M., Sinko, D., Kravtsov, H., & Artemchuk, V. (2025). Efficient State Synchronization in Distributed Electrical Grid Systems Using Conflict-Free Replicated Data Types. IoT, 6(1), 6. [CrossRef]
- Yaroshynskyi, M. , Prymushko, A., Puchko, I., Sirotkin, O. and Sinko, D., 2025. Akka as a tool for modelling and managing a smart grid system. Journal of Edge Computing, 4(1), pp.105–115. [CrossRef]





| Name of the approach | Pros | Cons |
|---|---|---|
| Procedural (staging testing) | – Allows you to identify and resolve compatibility issues during the testing phase.– Provides preliminary testing of changes in conditions as close to the production environment as possible | – The need to attract additional resources and time to set up a staging environment – The need to conduct Staging testing |
| Protocol description scheme generation | – Centralized control over API versions with an up-to-date schema– Reduces the risk of incompatibilities and ensures ease of updates | – Clients are forced to update their dependencies according to changes in the schema regularly |
| Adaptive API compatibility | – Allows the API to evolve without breaking compatibility.– The flexibility of formats allows the addition of new fields or changes with minimal impact on customers | – Technical debt accumulation due to the need to maintain backward compatibility.– Schemaless formats may be less efficient for complex data. |
| Blue/Green deployment | – Ensures a smooth transition between versions with minimal downtime risk.– The ability to instantly roll back to a previous stable version of the service. | – The need for additional resources to support two environments.– Increased infrastructure costs. |
| Including API Versioning in the Protocol | – Providing clients with the ability to determine the compatibility of their applications with the current API version.– Ensures version control and rapid feedback. | – The need to manage multiple API versions. This may complicate maintenance and require additional resources.– Clients may also need time to adapt to changes.– Clients are informed about changes retrospectively.– It is necessary to support older API versions for an indefinite period. |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).