Microservices, NoSQL, Spring Boot, and Technical Debt Analysis Report

Verified

Added on  2022/08/26

|5
|1153
|17
Report
AI Summary
This report delves into the intricacies of microservices architecture, examining the use of Spring Boot and Micronaut frameworks for developing independent services. It explores the advantages of NoSQL databases in handling growing datasets and the importance of database consistency, especially in the context of Spring Boot. The report also addresses the concept of technical debt, outlining common causes such as poor configurations and the presence of "God libraries," and proposes solutions to mitigate these issues. The analysis includes references to relevant literature and frameworks, providing a comprehensive overview of microservices, NoSQL databases, and the challenges of technical debt in software development. The report highlights the importance of maintenance and strategic configuration to ensure the long-term viability of software projects.
Document Page
Ruining head: MICROSERVICES
MICROSERVICES
Name of the Student:
Name of the University:
Author Note
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1
MICROSERVICES
Answer to question 1
Micro Service is a specifically a type of architecture that would be allowing the
developers to develop and deploy the independent services (Thornes 2015). The services that
would be running would be running in the process and the lightweight model would be useful for
the supporting of business applications.
Spring Boot is a java based framework which can be used for the creation of the micro
services which are open source tools. The pivotal team is used for building the stand alone and
the production team should be able to provide spring applications (Usmain, Davison and Napier
2019). The java developers are provided with a very impressive product grade and standalone
application which can be started easily with the minimum configurations for the entire setup.
On the other hand, Micronaut is a framework which is JVM based and is generally used
for the building application which are lightweight and modular (Davis 2019). The framework
offers support for Java, Groovy and Kotlin and a variety of other ways are developed to create
the application. The time for compilation dependency injection feature is one of the most
important feature of the framework.
The major advantages of the framework over the Spring boot framework is that
1. The Micronaut services are easier for the developers to develop the light weight both
non-blocking and blocking HTTP servers and clients.
2. The Micronaut services have many features that were absent in Spring boot framework of
the java lightweight application developments.
Document Page
2
MICROSERVICES
Answer to question 2
The rise of NoSQL came into existence when databases were not able to handle the
requirement of scaling the data. The rise of the new generation languages would be using the
NoSQL services so that they would be scaling the web and they also handle the growing data
sets. There are data sets which are growing from many decades (Gessert et al. 2017). NoSQL
offers a lot of new and cost effective cloud storage for the batch access for the data of the
petabyte scales. While rushing for the resolution of the big data challenges and there are large
number of concurrent users who keep using the NoSQL functionalities, some features of the
actual core databases were abandoned, which were effective in the earlier systems. BASE which
stands for Basically Available, Soft State, and Eventually Consistent is used in NoSQL (Liao et
al. 2016). In an error condition the risk of not being able to receive the data which was stored in
the system is lost in any type of error conditions.
Additionally, the Architects and the developers of the data storages should be able to
choose the level of consistency which would be applicable to the system developed by the
developers.
The Spring Boot is auto configurable system which provides database options with in
built functions for development. There are additional projects in the Spring Boot which helps the
automatic set up of the databases (Vathy-Fogarassy and Hugyák 2017). Hence, frameworks such
as Redis and MongoDB are used for the consistency of the developed system. Hence, the
NoSQL format is quite useful in the Spring Boot.
Document Page
3
MICROSERVICES
Answer to question 3
Technical debt is similar to the financial debt and sort of a riskier option involved with
the product. Predictable debt is financial which can be calculated easily and resolved easily,
however, technical debt is much trickier and much more difficult to resolve. The main reasons
which are cause of technical debt are firstly, the configurations have been done badly. In
Micronaut the common process to get a wrong configuration is that there is need for maintaining
separate configuration files for each of the micro servicing environment (Dragoni et al. 2017).
Hence, in case of change of configuration there is a requirement to change the configuration of
the individual elements.
As a solution to this the configuration servers can be deployed which would be making
use of the environment variables. The Environment variables and the Kubernetes Secrets can be
crossed to include the service endpoints manually. Secondly, the problems with the Existence of
the God library in the system exists within Micronaut and hence, the all the shared codes
involving the microservices-utilities and project-standard-library are included in the project. As a
solution to this, it is important that the libraries are defined in the different packages (Balalaie et
al. 2018). It would be securing the services of package.
Similar problems have also been Spring Boot and also it is known that cost of software is
only 20 per cent and 80 per cent is maintenance. Hence, maintenance is important for any type of
software developments.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4
MICROSERVICES
References
Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D.A. and Lynn, T., 2018. Microservices
migration patterns. Software: Practice and Experience, 48(11), pp.2019-2042.
Davis, A.L., 2019. Groovy Awesomeness. In Learning Groovy 3 (pp. 99-103). Apress, Berkeley,
CA.
Dragoni, N., Giallorenzo, S., Lafuente, A.L., Mazzara, M., Montesi, F., Mustafin, R. and Safina,
L., 2017. Microservices: yesterday, today, and tomorrow. In Present and ulterior software
engineering (pp. 195-216). Springer, Cham.
Gessert, F., Wingerath, W., Friedrich, S. and Ritter, N., 2017. NoSQL database systems: a survey
and decision guidance. Computer Science-Research and Development, 32(3-4), pp.353-365.
Liao, Y.T., Zhou, J., Lu, C.H., Chen, S.C., Hsu, C.H., Chen, W., Jiang, M.F. and Chung, Y.C.,
2016. Data adapter for querying and transformation between SQL and NoSQL database. Future
Generation Computer Systems, 65, pp.111-121.
Thönes, J., 2015. Microservices. IEEE software, 32(1), pp.116-116.
Usmani, M., Davison, J. and Napier, C., 2019. The production of stand-alone sustainability
reports: Visual impression management, legitimacy and ‘functional stupidity’.
Vathy-Fogarassy, Á. and Hugyák, T., 2017. Uniform data access platform for SQL and NoSQL
database systems. Information Systems, 69, pp.93-105.
chevron_up_icon
1 out of 5
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]