Efficiency study of GraphQL and REST Microservices in Docker containers: A computational experiment

Authors

DOI:

https://doi.org/10.56294/dm2025199

Keywords:

Microservices, GraphQL, REST , computational experiment, Docker

Abstract

Introduction: In the constant evolution of technology, implementing new services in computer systems is crucial. However, the integration of these services presents problems and certain challenges in the deployment of applications. Technologies such as Docker and microservices architectures are alternatives to alleviate such integration. The aim was to compare the performance efficiency between microservices architectures implemented with GraphQL and REST, deployed in Docker and localhost environments. Methods: A computational experiment was conducted following the Wholin methodology to compare the performance efficiency of microservices architectures. The experimental design consisted of deploying both a GraphQL API and a REST API with identical functionalities in Docker containers and a localhost environment. Both APIs were consumed under controlled complexity and data volume conditions, ensuring a fair evaluation. Results: The experiment showed that the average response time in the Docker environment was significantly lower compared to the localhost environment. Also, the GraphQL API outperformed the REST API. In addition, a research artifact including all the study materials was published on Zenodo to support the replicability of the experiment. Conclusion: The architecture deployed in Docker is more efficient for microservices execution, particularly when GraphQL is used.

 

References

1. Gouigoux J-P, Tamzalit D. From Monolith to Microservices: Lessons Learned on an Industrial Migration to a Web Oriented Architecture. 2017 IEEE Int. Conf. Softw. Archit. Work., 2017, p. 62–5. https://doi.org/10.1109/ICSAW.2017.35.

2. Qian L, Chen H, Yu J, Zhu G, Zhu J, Ren C, et al. Research on Micro Service Architecture of Power Information System Based on Docker Container. IOP Conf Ser Earth Environ Sci 2020;440:32147. https://doi.org/10.1088/1755-1315/440/3/032147.

3. Shifeng Z, Shanliang P. Application of Docker technology in micro-service [J]. Electron Technol Softw Eng 2019;4:164.

4. International Organization for Standardization. ISO/IEC 25023:2016(en), Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Measurement of system and software product quality. 2016.

5. United Nations. 17 Goals to Transform Our World - Sustainable Development Goals 2024. https://www.un.org/sustainabledevelopment/.

6. Santos DS, Oliveira BRN, Kazman R, Nakagawa EY. Evaluation of Systems-of-Systems Software Architectures: State of the Art and Future Perspectives. ACM Comput Surv 2022;55. https://doi.org/10.1145/3519020.

7. Sobhy D, Bahsoon R, Minku L, Kazman R. Evaluation of Software Architectures under Uncertainty: A Systematic Literature Review. ACM Trans Softw Eng Methodol 2021;30. https://doi.org/10.1145/3464305.

8. Yarygina T, Bagge AH. Overcoming Security Challenges in Microservice Architectures. 2018 IEEE Symp. Serv. Syst. Eng., 2018, p. 11–20. https://doi.org/10.1109/SOSE.2018.00011.

9. Zhang D, Si X, Qian B, Tan F, He P. Design and Research of Adaptive Filter Microservices Based on Cloud-Native Architecture. 2024 5th Int. Conf. Comput. Eng. Appl., 2024, p. 521–5. https://doi.org/10.1109/ICCEA62105.2024.10603929.

10. Ayas HM, Hebig R, Leitner P. The Roles, Responsibilities, and Skills of Engineers in the Era of Microservices-Based Architectures. 2024 IEEE/ACM 17th Int. Conf. Coop. Hum. Asp. Softw. Eng., 2024, p. 13–23.

11. Neumann A, Laranjeiro N, Bernardino J. An Analysis of Public REST Web Service APIs. IEEE Trans Serv Comput 2021;14:957–70. https://doi.org/10.1109/TSC.2018.2847344.

12. Brito G, Valente MT. REST vs GraphQL: A Controlled Experiment. 2020 IEEE Int. Conf. Softw. Archit., 2020, p. 81–91. https://doi.org/10.1109/ICSA47634.2020.00016.

13. Quiña-Mera A, Fernandez P, García J, Ruiz-Cortés A. GraphQL: A Systematic Mapping Study. ACM Comput Surv 2023;55:1–35.

14. Diyasa GSM, Budiwitjaksono GS, Ma’rufi HA, Sampurno IAW. Comparative Analysis of Rest and GraphQL Technology on Nodejs-Based Api Development. Nusant Sci Technol Proc 2021:43–52. https://doi.org/10.11594/nstp.2021.0908.

15. Davis A. Bootstrapping Microservices with Docker, Kubernetes, and Terraform: A project-based guide. 2021.

16. Zhao N, Lin M, Albahar H, Paul AK, Huan Z, Abraham S, et al. An End-to-end High-performance Deduplication Scheme for Docker Registries and Docker Container Storage Systems. ACM Trans Storage 2024;20. https://doi.org/10.1145/3643819.

17. Wohlin C, Runeson P, Hst M, Ohlsson MC, Regnell B, Wessln A. Experimentation in Software Engineering. Springer Publishing Company, Incorporated; 2012.

18. Guevara-Vega C, Bernárdez B, Durán A, Quiña-Mera J, Cruz M, Ruiz-Cortés A. Empirical Strategies in Software Engineering Research: A Literature Survey. II Int. Conf. Inf. Syst. Softw. Technol. (ICI2ST 2021), Quito, Ecuador: IEEE Press; 2021.

19. Landeta-López P, Guevara-Vega C. Computational Experiments in Computer Science Research: A Literature Survey. IEEE Access 2024:1. https://doi.org/10.1109/ACCESS.2024.3458808.

20. Guevara-Vega C, Bernárdez B, Cruz M, Durán A, Ruiz-Cortés A, Solari M. Research artifacts for human-oriented experiments in software engineering: An ACM badges-driven structure proposal. J Syst Softw 2024;218:112187. https://doi.org/https://doi.org/10.1016/j.jss.2024.112187.

21. ISO - International Organization for Standardization. The ISO/IEC 25000 series of standards 2018.

22. International Organization for Standardization. ISO/IEC 25010:2023(en), Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model. 2023.

23. Basili VR. Software modeling and measurement: the Goal/Question/Metric paradigm. University of Maryland at College Park; 1992.

24. Merkel D. Docker: lightweight Linux containers for consistent development and deployment. Linux J 2014;2014.

25. Quiña-Mera A, García JM, Fernández P, Vega-Molina P, Ruiz-Cortés A. GraphQL or REST for Mobile Applications? Vol 1675 CCIS, Pages 16 - 30 2022;1675 CCIS:16–30. https://doi.org/10.1007/978-3-031-20319-0_2.

26. Carrión C. Kubernetes scheduling: Taxonomy, ongoing issues and challenges. ACM Comput Surv 2022;55:1–37.

27. Quiña Mera JA, Guevara Vega C, Guitarra Z. Research Artefact of study: “Efficiency study of GraphQL and REST Microservices in Docker containers: A computational experiment”. Zenodo; 2024. https://doi.org/10.5281/zenodo.13840814.

Downloads

Published

2025-02-13

Issue

Section

Original

How to Cite

1.
Quiña-Mera A, Guitarra De la Cruz ZM, Guevara-Vega C. Efficiency study of GraphQL and REST Microservices in Docker containers: A computational experiment. Data and Metadata [Internet]. 2025 Feb. 13 [cited 2025 Apr. 27];4:199. Available from: https://dm.ageditor.ar/index.php/dm/article/view/199