Professional Documents
Culture Documents
Abstract—In this day and age, people demand fast efficient III. MICROSERVICE ARCHITECTURE
and reliable applications. If a client has a high speed internet
connection and required client’s app, the features such as
Today, programmers obtain many new possibilities to
reliability and efficiency can be provided only by the create an application that will bring development process to
programmer. It is therefore essential to choose appropriate the next level. One of the new popular solutions, regarding
software architecture, before the implementation of Google Trends [3], is Microservice Architecture. It is an
functionalities that have been adopted to the project. Some of architectural style that structures an application as a
the most popular architectures are the Monolithic and collection of services. Each microservice had to provide one
Microservice architectures that can achieve the same result, part of the business logic.
however with different advantages and disadvantages. The
purpose of this article is to compare the abilities and
performance of the two software architectures – Microservice
and Monolithic on the example of a web application in Java.
I. INTRODUCTION
Software architecture [1] is the fundamental structure of a
software, that defines technical and operational requirements. Figure 2. Google Trends statistics for searching word "microservices"
between 2014-2019 [3]
It is responsible for optimization of each attribute of an
application, like efficiency, manageability , scalability, Figure 3 presents an example of Microservice
reliability, modifiability, deployability and more other application, that provides E-commerce business logic, which
aspects. That is why the choice of appropriate architecture is is equivalent to the previous monolithic version..
so important in the primary phase of software development.
There are several types of software architectures,
however, the Monolithic and Microservice Architectures
belong to the most popular ones.
IV. JAVA
Java is a programming language, developed by Sun
Microsystems in 1995, which was taken over by Oracle in
2010. It is class-based, object-oriented and has a huge
amount of users in programmers society. According to
source [4] it is in top three of the most popular programming
language.
Fig. 1. Monolithic flow on the example of E-commerce application [2] Until today, Oracle released a few versions of Java, that
are better optimized and more convenient for a programmer.
Despite implementing many parts of the whole software, One of the latest version that has no restriction for
the application is deployed as one single standalone commercial usage is Java 8. This implementation provides
program. many features and enhancements [5], such as:
Authorized licensed use limited to: POLITECHNIKI WARSZAWSKIEJ. Downloaded on December 05,2023 at 13:13:28 UTC from IEEE Xplore. Restrictions apply.
151
simple, all replicated services were running on the same A. Monlothic Architecture – pros and cons
machine and had one shared database. That is why it could • + Easy to develop
not use its whole potential.
• + Simple to deploy
Below there is the second collection of tests for HTTP
POST. The data has behaved almost equal to the GET • - Complex maintenance
variant, so the conclusions are the same.
• - Reliability (one fault can bring down the entire
application)
• - Availability (redeploy the entire application on
each update)
• - Hard to scale
XI. CONCLUSIONS
Both tested architectures have some advantages and
disadvantages. All depend on the problem that has to be
solved. The conducted load tests have indicated that the
Microservice architecture is more efficient if an application
has to handle a bigger number of requests. It has a lot of
advantages that allow to build a high quality software, which
is easy to scale, more reliable and in long term more
convenient to maintain. Although it has so many profits, the
Monolithic architecture is not bad. It is more efficient during
lower load and is easy to develop. There are not so many
problems with integration, connection and configuration.
The choice of the right architecture should be defined by
purposes of business so the investor will get the product
Fig. 11. Response time (HTTP POST) - results which will meet their expectations.