Analysis of the Spring Boot and Spring Cloud in developing Java cloud applications
Mateusz Kozak
mateusz.kozak3@pollub.edu.plDepartment 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 applicationsReferences
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
Authors
Mateusz Kozakmateusz.kozak3@pollub.edu.pl
Department of Computer Science, Lublin University of Technology Poland
Statistics
Abstract views: 697PDF downloads: 574
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.