Analysis of the Spring Boot and Spring Cloud in developing Java cloud applications

Mateusz Kozak

mateusz.kozak3@pollub.edu.pl
Department of Computer Science, Lublin University of Technology (Poland)

Abstract

The paper is of a review character. It analyzes the possibilities of using the Spring Boot programming framework with the Spring Cloud extension to create cloud applications in Java. The article presents the concepts that have to be dealt with when implementing the application in cloud environments and the technologies that were used in the applications, along with the justification of the choice. Scalability tests were carried out on two applications - monolithic with the use of Spring Boot and scalable with the use of Spring Boot and Spring Cloud. The research carried out in the article showed how to implement a scalable application using Spring Boot and Spring Cloud.


Keywords:

analysis, Spring Boot, Spring Cloud, cloud applications

Strona internetowa z informacjami na temat branż korzystających z architektury mikrousług, https://codeandpepper.com/companies-using-microservices, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat powodów, dla których branże zwracają się ku mikroserwisom, https://annexbyte.com/blog/industries-turning-to-microservices, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat technologii i języków do wyboru w budowaniu architektury mikroserwisów, https://www.mindinventory.com/blog/technologies-for-mircroservices-architecture, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat popularności technologii i języków do wyboru w budowaniu architektury mikroserwisów, https://www.thirdrocktechkno.com/blog/top-languages-for-microservices-architecture, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat narzędzi do budowania mikroserwisów, https://dzone.com/articles/30top-tools-for-building-microservices-on-all-leve, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Spring Cloud, https://spring.io/projects/spring-cloud, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat mikroserwisów, https://aws.amazon.com/microservices, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Spring Boot, https://spring.io/projects/spring-boot, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Spring Cloud, https://spring.io/projects/spring-cloud, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Service Discovery, https://avinetworks.com/glossary/service-discovery, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat mechanizmu serwera Eureka, https://medium.com/@ijayakantha/microservices-service-registration-and-discovery-with-netflix-eureka-9a2aa729da96, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Load Balancer, https://www.ovhcloud.com/pl/public-cloud/what-load-balancing, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Docker, https://docs.docker.com/get-started/overview, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat mechanizmu CI/CD, https://docs.gitlab.com/ee/ci/introduction, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Kubernetes, https://www.mirantis.com/cloud-native-concepts/getting-started-with-kubernetes/what-is-kubernetes, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Kubernetes, https://www.mirantis.com/cloud-native-concepts/getting-started-with-kubernetes/what-is-kubernetes, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat języku programowania Borg, https://memory-alpha.fandom.com/wiki/Borg_language, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat języku programowania Omega, https://hackage.haskell.org/package/omega, [1.08.2022].
  Google Scholar

C. M. Aderaldo, N. C. Mendonça, C. Pahl, P. Jamshidi, Benchmark Requirements for Microservices Architecture Research, 2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE) (2017) 8-13.
DOI: https://doi.org/10.1109/ECASE.2017.4   Google Scholar

D. Rajput, Mastering Spring Boot 2.0: Build modern, cloud-native, and distributed systems using Spring Boot, Packt Publishing Ltd, 2018.
  Google Scholar

E. Wolff, Microservices: flexible software architecture, Addison-Wesley Professional, 2016.
  Google Scholar

J. Carnell, I. H. Sánchez, Spring microservices in action, Simon and Schuster, 2021.
  Google Scholar

K. S. P. Reddy, Beginning Spring Boot 2: Applications and microservices with the Spring framework, Apress, 2017.
  Google Scholar

Q. Perez, A. Le Borgne, C. Urtado, S. Vauttier, An Empirical Study about Software Architecture Configuration Practices with the Java Spring Framework, SEKE: Software Engineering and Knowledge Engineering (2019) 465-468.
DOI: https://doi.org/10.18293/SEKE2019-202   Google Scholar

V. Saquicela, G. Campoverde, J. Avila, M. E. Fajardo, Building microservices for scalability and availability: Step by step, from beginning to end, International Conference on Software Process Improvement, Springer, Cham (2020) 169-184.
DOI: https://doi.org/10.1007/978-3-030-63329-5_12   Google Scholar

S. Sharma, Mastering Microservices with Java - Third Edition: Build enterprise microservices with Spring Boot 2.0, Spring Cloud, and Angular, Packt Publishing Ltd, 2019.
  Google Scholar

S. Hatma, J. D. Puji, T. Aris, Design and Development of Backend Application for Public Complaint Systems Using Microservice Spring Boot, Procedia Computer Science (2017) 124, 736-743.
DOI: https://doi.org/10.1016/j.procs.2017.12.212   Google Scholar

Strona internetowa z informacjami na temat REST API, https://www.redhat.com/en/topics/api/what-is-a-rest-api, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat konfiguracji zewnętrznej Spring Boot, https://www.baeldung.com/spring-boot-yaml-vs-properties, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat uruchamiania aplikacji Spring Boot w kontenerach Docker, https://www.baeldung.com/dockerizing-spring-boot-application, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat tworzenia aplikacji monolitycznych oraz opartych o architekturę mikrousług, https://www.dineshonjava.com/microservices-with-spring-boot, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat serwera Eureka w aplikacji Spring Boot, https://www.tutorialspoint.com/spring_boot/spring_boot_eureka_server.htm, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Spring Cloud OpenFeign, https://www.baeldung.com/spring-cloud-openfeign, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat Load Balancer i interfejsu API, https://www.techtarget.com/searchitoperations/answer/Whats-the-role-of-an-application-load-balancer-vs-API-gateway, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na tworzenia aplikacji opartych o architekturę mikrousług z wykorzystaniem narzędzi Spring Cloud, https://spring.io/microservices, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat mechanizmu REST API, https://www.geeksforgeeks.org/rest-api-introduction, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat narzędzi do przeprowadzania testów obciążeniowych, https://pflb.us/blog/best-load-testing-tools, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat narzędzia JMeter, https://www.simplilearn.com/tutorials/jmeter-tutorial/jmeter-performance-testing, [1.08.2022].
  Google Scholar

Strona internetowa z informacjami na temat narzędzia K6, https://www.geeksforgeeks.org/performance-testing-with-k6, [1.08.2022].
  Google Scholar

Download


Published
2023-06-30

Cited by

Kozak, M. (2023). Analysis of the Spring Boot and Spring Cloud in developing Java cloud applications. Journal of Computer Sciences Institute, 27, 112–120. https://doi.org/10.35784/jcsi.3130

Authors

Mateusz Kozak 
mateusz.kozak3@pollub.edu.pl
Department of Computer Science, Lublin University of Technology Poland

Statistics

Abstract views: 488
PDF downloads: 392