You are on page 1of 14

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/348869792

Architecture for Microservice Based System. A Report

Technical Report · December 2020


DOI: 10.13140/RG.2.2.17340.16004/1

CITATION READS

1 790

1 author:

Muzaffar Ali Temoor


National University of Computer and Emerging Sciences
10 PUBLICATIONS   10 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

security issues in cloud computing View project

All content following this page was uploaded by Muzaffar Ali Temoor on 29 January 2021.

The user has requested enhancement of the downloaded file.


Architecture for Microservice Based System. A Report
By
Muzaffar Ali
I91-2059
Sabahat Ali
I91-1280
Supervised By
Dr. Atif Jilani
December 29, 2020

Abstract——-
Micorservice architecture is the architectural pattern that structure an applications as a
group of small independent sets, created about a marketing domain. Each microservice
container locus on the capabilities of a single market, which definitely points to the more
excellent quality and reliability, reusability, flexibility, and scalability. All components are
loosely coupled, independently deployed, owned by small team and highly test and man-
ageable. yet it is not a sliver bullets it also has drawbacks. In this architecture the data is
federated. Before microservice architecture there is a architectural pattern that was mono-
lithic, basically in this architecture the whole application composed in a single piece, so all
the components in monolithic architecture are interconnected and interdependent, in other
words all the components are tightly coupled. Slow development, not suitable for large and
complex application, unscalable, block continuous development, unreliable, and inflexible
these make the monolithic architecture unstable.
The main objectives for conducting this report are to understand the modern mood of
the art and gain a fundamental understanding of the microservice architecture based sys-
tem. This survey focused on the algorithms, tools, methods, experimental studies, models,
dimensions, limitations,empirical studies and scenarios. In this study we have followed a
mixed research methodology, based on the define queries 21 research papers have been added
to the final pool for further analysis. All the relevant paper that are added to the final pool
are from the year 2015 to 2020. This study is very helpful to the practitioner or client,
software engineers and software architects .
Keyword:
Microservices, Architecture, System, Survey, Report.

1
1 INTRODUCTION

Microservices architecture has matured into a powerful architectural pattern benefit un-
der the software industry that leads to the service-oriented pattern [24]. It is a method
of architecture that highlights splitting the application into small services that are loosely
coupled to each other. Microservice architecture is defined as “the smallest independent
process that communicates via a messaging and microservice architecture as a shared ap-
plication wherever all its modules are microservices” [23]. The generally accepted benefits
of this pattern hold addition in coordination, maintainability, software flexibility, ease for
deployed,increase developer productivity, scalability, reliability,and separation of concerns.
Despite, all these advantages there are few issue and challenges, such as creating services
across the network,security and safety issues and challenges, data sharing, data communica-
tion, data optimization, and production. While directed properly, despite, certain difficulties
provide practice to profit from the largest of these above-mentioned benefits.
Microservices architecture is acknowledged a suitable pattern for numerous applications
such as first, deployment of services on cloud computing infrastructures, that it would
provide benefit of the flexibility and on-demand characteristics of the cloud computing
paradigm. Organizations that used microservice architecture are SoundCloud and Net-
flix that deployed their services in the cloud computing environment and obtained multiple
profits from it [1, 3, 5, 7, 9, 12, 21]. Secondly, internet of things based system, provides the
highest flexibility, portability, efficiency, easy to update, resilient operations, and control
over deployments. As software sets come loosely linked, IoT users can choose to operate
only the functionality they need rest service are deactivated, reactivating any free sets when
the need [4, 6, 8, 17].
Third No discussion regarding cloud-native architectures is full of introducing microser-
vices architecture. Onward including DevOps, microservices are individual of the most
burning methods in the industry, identified through a particular method of creating appli-
cations in a plan that enables them to be expanded as autonomous sets [12]. Microservices
and DevOps allow better coordination and operational performance, for the single purpose
that microservice and DevOps both perfection connected in different ways. While the cur-
rent model, increasing the number of software developers including the microservices also
pointed to an increased in quality content. There are misunderstandings regarding some-
times devolpers thinks that to built small packages microservice are good [13, 16]. fourth
real time system, Microservice architecture is a fast and growing architectural pattern for
the development of real-time applications in industrial automation. This architecture is a
more resilient, flexible, adaptable, and more affordable method for producing different ap-
plications that help to improve the performance and reliability of the business requirement
of the clients [19]. The report flow is in such a manner; that section 2 describes the research
methodology that we have observed. Section 3 explains the consequences in the term of
declaring the demand of microservice design-based system picked relevant studies from the
data sources using the string queries. Finally, we have concluded the results of the reports

2
in section 4.

2 RESEARCH METHODOLOGY

After identifying the report topic, the initial step, two primary research questions (RQ) were
formulated to explain the main feature of the article. Afterward, the analysis of the most
relevant databases has been selected. The yield of the exploration step implied then walked
toward the final selection pool Fig. 1 shows the report flow.

Defining a research problem

Define Objectives of Survey

Develope Research Questions

Searching Research Articles

Research Paper Filteration

Final Pool of Paper

2.1 Objectives:
The main objectives of this report are as:

1. Primary understanding of the microservice architecture besides the various methods,


tools, approaches, and techniques that have been presented.

2. It highlighted all those researcher’s works who have contributed to the betterment of
this field and recognized differences, limitations, and conflicts in these selected studies.

3. It will helpful for the practitioner and researchers to develop more studies, finding,
and analyses in a very short time.

2.2 Research Questions


To discussed the microservice architecture based system that are relevant to the objectives
of the study, we have formulated three research questions that are shown in Table 1.

3
S.NO Research Questions
RQ1 What and why microservice architecture?
RQ2 What type of system that have been used microservice architecture?
RQ2 What pros and cons of microservice architecture?

Table 1: Research Questions

2.3 Database Selection


Number of databases available that provides articles and art to search the research paper
with define criteria. aforementioned research topic for report search as search queries with
specific expression on Google scholar search engine. The selected database and resources
are Science Direct, Springer, ACM Digital Library, IEEE Xplore,and SCI-HUB.

2.3.1 String Queries


We used string queries for automatic search research articles from the available online rele-
vant database, repositories and sources are shown in the Table 2
S.NO Research Questions

Query1 (Microservice[Title/Abstract]) OR (Architecture[Title/Abstract]) OR (Based System[Title/Abstract])

Query2 (Microservice Architecture[Title/Abstract]) AND (Based System[Title/Abstract])

Query3 ((Microservice Architecture[Title/Abstract]) AND (Based System[Title/Abstract])) AND ((”2015/01/01”[Date - Publication] : ”2020/07/01”[Date - Publication]))

Table 2: Research String Queries

2.3.2 Study Selection


Selection of study based on the following iterations.
1. In this step the defined Query1 has applied to search the papers, the query selects
all the papers that are relevant. Table 3 shows the total number of papers that are
relevant to the query.

Search Query Items found


1 Query1 19,400
Table 3: Research String Query1

2. In this step, Query2 has been applied to search the papers based on the title, and
abstract, come up with the most relevant paper. Table 4 shows the number of more
relevant studies.

4
Search Query Items found
1 Query2 960
Table 4: Research String Query2

3. For the final pool, Query3 has been applied to search the papers and filter paper after
reading the title, and abstract, come up with the most relevant paper. Table 5 shows
the number of more relevant studies.

Search Query Items found


1 Query2 21
Table 5: Research String Query3

3 ANALYSIS AND FINDINGS

The section included all relevant studies that have been selected for this report and high-
light the system that are based on the microservice architecture. This section provides a
comparative analysis that is based on the formulated research question that are mentioned
in Table 1 and answered these questions. The given graph shows the paper that have been
found after applying the string search queries.

5
RQ1 What and why microservice architecture?
In microservice, All the sets are design to hold autonomous from another set of components.
The scope of a microservice, determined by the characteristics it presents, directly affects
its flexibility, production, and availability. Still, none of the possible methods available to
describe [20]. There are a few reasons that contribute to why we need the microservice
architecture.

1. Due to continuous delivery; microservices present the perfect architecture for contin-
uous delivery. Each service runs individually in its domain and environment.

2. Deployment velocity; it enables the system to maximum deployment speed and appli-
cation security and reliability by assisting at the rate of the business, as we know that
every service run in their domain or environment.

3. Enable Developers; it provides the tools and IDE for developers who want to build more
powerful state software products. Developers can create applications from common
elements and programs.

4. Reduce cost; Numerous industries face increasing infrastructure expenses affected by


the style of their popular architecture operations. Getting any sort of difference to an
application in a monolithic architecture can be expensive because each piece of code
in the monolith communicates with other parts – so a difference in one area influences
other features.

5. Fault Tolerance.

6. It helps to adapt the more easily and quickly the changes that happened in markets.

RQ2 What type of system that has used microservice architecture?


Microservice architecture mostly used in the cloud computing, internet of things, real times
system, automation, and DevOps applications. Monolithic architectures structure have be-
come complex due to expansion of IoT, by which maintainability and scalability become
poor. To overcome poor maintainability and scalability micro services architecture is in-
troduced as it provides loose coupling and flexibility. Paper [1] introduced a novel IOT
framework for micro service architecture. This framework plugins all the IOT devices and
core services. This framework improves the scalability, interoperability and maintainability.
Infrastructure IoT systems are now progressed into data centric IoT architecture. Paper
[2] highlighted the challenges related to scalability, extensibility and interoperability are
blocked by transforming dataTweet internet of things architecture within Data-centric and
end to end,it involves micro services and micro data. In this paper IoT architecture which is
built upon micro services is implemented into cloud dependent prototype, fast extensibility
is indicated by introducing new micro service and micro services are inter operated by data
exchange between them. This helps in achieving loosely coupled IoT services which are then

6
located into cloud and edge server environment. There are intelligent agents which faces
challenges related to trust and intelligence and they need approach which overcome these
challenges therefore micro services architecture is suitable choice. Another study [19] high-
lighted the difficulties and problems in smart buildings and IoT, which they have recognized
in terms research in existing structures. To mention these difficulties and the problems
decentralized SOA based on a MOM has performed for the context of intelligent buildings.
This practices each network-transparent internet of things communication bus and gives the
averages for composing applications from backup sets, which promote design protocol adap-
tion, modularity, and maintainability. They explained the adaptability of their architecture
via recounting whereby discrete systems, secrecy, improving energy, visualization, auto-
mated construction energy administration, including a general GI can move combined and
delivered together into exceptionally smart buildings. They also compared the benefits of
their proposed architecture to traditional ones and suggested a solution for IoT and Energy
in smart buildings. Paper [3] introduced novel tool StoRM which is distributed social model
based on services architecture with agent technology. StoRM model has strong estimation
parameters and gives validity and correctness of data and contains learning and adapting
capability for agent based system. To do medical resource sharing in efficient way, micro
service architecture is introduced by reshaping the HER system and it is done with help of
RESTful web service technique. Another paper [14] focused on designing and implementing
an ITS smart sensor model that covers and connects the IoT, programs utilized the serverless
architecture to enhance the transport operation for bus rapid transit. There are some ITS
sensors that use to identify the signals coming from different devices via Bluetooth. Infor-
mation detects via ITS sensor is located in the O/D matrix. The information that has been
detected, could be exercised by AA to provide a relevant transport plan. This information
can also be used by the traffic controlled system and AA, which are deployed using a server-
less architecture. Paper [4] presented an approach which helps in de identification of medical
data, technique proposed in this paper involves combination of JAVA, RESTful web service
and then medical data is exchanged in XML and JSON format. There are satellite network
such as terrestrial satellite containing 5G which works efficiently without high delay. They
have ability to give universal and low delay in coverage. There are number of schemes avail-
able for overcoming slow and delay coverage but they are not efficient. 5GsatE framework
has been proposed which uses micro services in satellites and it decreases the delay and give
global coverage [5]. D. Jaramillo et al. conducted a case study to understand understand
how helpful Docker is in case of micro services architecture. Docker contains tools and some
features which can helpful in reducing the complexity of micro service [6]. These features
are accelerate automation, accelerate the independency”, accelerate portability, accelerate
resource utilization and secured. With the use of tool Docker helps in increasing automation
and achieving efficiency for building the micro service architecture.
Cloud computing growth has been evolved in software deployment, data centers, software
development, usage and maintenances. It is very challenging for researchers to developed a

7
software services platform and cloud services the users. Due to introducing of microservice
technology performs software standard to evolve towards Cloudware in the cloud computing
environment. Paper [8], introduced a novel Cloudware PaaS platform based on microservice
architecture and light-weighted container technology.
This study shows the significant features and models that determined by the develop-
ment and implementation of SCADA system based on the real-time applications. Paper [9]
tried to highlights the key features that make the researcher enforce to adopt the microser-
vice architecture under the RAMI4.0 specification. Paper [10] introduced a unique and new
approach for a cloud-based real-time system. This study took a case study of microservices-
based public rail transit combined with a supervisory authority system and named ISCS.
The interconnection of two different independent subsystems or services is defined by consid-
ering and monitoring the safety and security requirements, real-time production, and busi-
ness properties. The base program is designed to generate different resources and separate
the whole applications into small autonomous services that are based on cloud computing
technology. while common subsystems are disintegrated as microservices architecture and
absorbed within various systems.
There are many complex apps which use numbers of microservices and it confuses the
developers to optimize the development of these microservices on apps. There are number of
tools like Kubernetes, but it does not provide best placement and utilization of deployment
of app. Paper [11] introduced REMap mechanism which helps in managing the installa-
tion of microservice in apps. This study also addresses micro services runtime features and
challenges that are faced by the apps. REMap optimize the installation of microservices at
runtime. By runtime updating of apps it helps in saving resources. However it sometimes
degrade the performance and sometimes optimize the performance. But runtime updating
decreases the resource utilization. For decision making and context aware prediction scal-
able systems are required and this scalability is achieved by introducing the micro services
architecture. Paper [7] highlighted the advantages of micro service architecture in real time
decision making is discussed. Microservices based content aware architecture yields context
aware notifications and real time predictions. Air quality case study is used to test sys-
tem which gives user notification about the air quality dangerous levels. By introduction
of micro service architecture it helped in making reliable production but also improved the
maintainability.
Micro services and DevOps are evolving and are used by many software vendors.This
study discusses about the lessons that are learned by the migration of mobile back end
service called Backtory to the microservice using DevOps set of practices [12]. Few ser-
vices such as chat, indexing and NOSQL are added to backtory. Chat service encouraged
developers to migrate backtory from monolithic architecture to microservices architecture.
Lessons learned are that environment where development is done is complex. Second by
continuously changing service leads to errors. Third for developing distributed system devel-
opers should be experienced and skilled. Fourth template shall be created for development

8
of service. Although microservice is not silver bullet but still it provides maintainability
and scalability. Micro services are used by many developers because of its evolvement but
maintaining the micro service architecture is complicated. Paper [13] MSAbot system is
introduced which helps in operation and development of micro services with feature called
chatbot.MSbot consist multiple tools that help users to know and understand the operation
and development status. It also provides the information and notifications of error if any
occur during development and operation time. By taking survey it is found that MSAbot is
effective in development and operation of systems based on micro services. Cloud robotics
is the category of the rapidly growing field of computer science. Cloud robotics play a vital
role in the defense department of the military. Cloud robots are controlled and adminis-
tered by integrating cloud models (deployment and service) via a CC environment. Cloud
robotics has computational power, message sharing, the network controlling, and data shar-
ing abilities. DevOps of the Cloud robotics are generally defined as ”an enterprise-scale
sketch due to the heavy structure. All the existing system of cloud robotics are based on
distributed system architecture. Paper [16] introduced a novel structure for a microservice-
based cloud computing and grid computing robotics system to solve the present difficulty.
To facilitate this proposed structure, they developed an architectural pattern using the mi-
croservice architecture to afford the very effective, flexible, efficient application development
and deployment method. Docker Engine was used to decompose the functionalities of the
applications into subsystems and ensure the software-designed method could be microser-
vice architecture. Lastly, to validate their proposed architectural structure they used a real
test on the Simulation localization and mapping (SLAM) method in a rational period im-
plemented to support the recommended architecture. They also analyzed the method with
traditional architectures and give a suggestion as the proposed architectural method is more
fertile, resilient, and cost-effective.
An empirical study conducted by author C. Nabor et al. to study the possible expla-
nations of mismatch between software adaptations of architecture designs and architecture
mechanisms supported by current self-adaptative applications. They have identified and
addressed the central goals pointing to this problem by examining some agent self-adaptive
projects that have been introduced in this modern era. This self-adaptive architectural pat-
tern used to develop the open-source projects based on cloud services, from two different
aspects. First is generality; it describes the capacity that holds a diversity of microservice
architectural designs and adaptative mechanisms. The second is reusability; it describes
the capacity to hold and reused outwardly demanding large work from developers. Then
they obtained the case study that is the new process from the industry toward microser-
vices and enabled technologies to the development of more officer and reusable self-adaptive
architectural projects [15].
The article proposed a method to enhance the flexibility of a microservice structure by
applying workload-based clustering. This method has used a generative algorithm to en-
hance the performance and flexibility of the workload that assigned [17]. They developed a

9
tool named MicADO, to test and implement the proposed method using an ERP case study.
For the complex workloads, the outcomes produced by this architecture present remarkable
variations, which introduces by this method. Paper [18] introduced an approach for smart
tourism that helped travelers to plan ease and managed their trips. This study includes
three main parts of the tourist intelligence application. The first part is trip planning, the
second part consists of tourism, and the third part consists of tourist heritage. All three
parts of tourist intelligence applications are integrated, using the microservice styles as three
small microservices. Each microservice offers different and independent functionalities and
interacts with other outside sets.

RQ3 What are the pros and cons of microservice architecture?


Pros

1. Easy of deployment.

2. Better Scaleablity.

3. Loosely coupled.

4. Easy for build a small pipeline for single service.

5. Better fault tolerances.

6. Faster time to market.

Cons

1. Need more collaborations.

2. Due to complexity harder to test.

3. Poor Performance.

4. Maintain of the network is difficult.

5. Does not work until proper cooperation amoung the services.

6. Security issue and challenges.

4 CONCLUSION

We concluded a microservices architecture is commonly fit for large-scale distributed sys-


tems. It is good practice to build small applications using monolithic architecture. Microser-
vices architecture is more comfortable to create and managed autonomous microservices,
but it is a difficult task to control on demands of additional network management. Several

10
studies addressed platforms, approaches, and tools which are related to cloud computing
applications, internet things, DevOps, real-time applications, and artificial intelligence to
adapt to this architectural pattern.

References
[1] L. Sun, Y. Li, and R. A. Memon, “Sun2017,” pp. 154–162, 2016.

[2] S. K. Datta and C. Bonnet, “Next-Generation, Data Centric and End-to-End IoT Ar-
chitecture Based on Microservices,” 2018 IEEE Int. Conf. Consum. Electron. - Asia,
ICCE-Asia 2018, pp. 206–212, 2018.

[3] K. Kravari and N. Bassiliades, “StoRM: A social agent-based trust model for the internet
of things adopting microservice architecture,” Simul. Model. Pract. Theory, vol. 94, no.
January, pp. 286–302, 2019.

[4] Y. Yang, Q. Zu, P. Liu, D. Ouyang, and X. Li, “Microshare: Privacy-preserved medical
resource sharing through microService architecture,” Int. J. Biol. Sci., vol. 14, no. 8, pp.
907–919, 2018.

[5] L. Yan et al., “SatEC: A 5G satellite edge computing framework based on microservice
architecture,” Sensors (Switzerland), vol. 19, no. 4, pp. 1–16, 2019.

[6] D. Jaramillo, D. V. Nguyen, and R. Smart, “Leveraging microservices architecture by


using Docker technology,” Conf. Proc. - IEEE SOUTHEASTCON, vol. 2016-July, pp.
0–4, 2016.

[7] G. Ortiz, J. A. Caravaca, A. Garcia-De-Prado, F. Chavez De La O, and J. Boubeta-Puig,


“Real-time context-aware microservice architecture for predictive analytics and smart
decision-making,” IEEE Access, vol. 7, pp. 183177–183194, 2019

[8] D. Guo, W. Wang, G. Zeng and Z. Wei, ”Microservices Architecture Based Cloud-
ware Deployment Platform for Service Computing,” 2016 IEEE Symposium on Service-
Oriented System Engineering (SOSE), Oxford, 2016.

[9] T. Porrmann, R. Essmann and A. W. Colombo, ”Development of an event-oriented,


cloud-based SCADA system using a microservice architecture under the RAMI4.0 speci-
fication: Lessons learned,” IECON 2017 - 43rd Annual Conference of the IEEE Industrial
Electronics Society, Beijing, 2017.

[10] Yu, S., Chang, H. Wang, H. ”Design of Cloud Computing and Microservice-Based
Urban Rail Transit Integrated Supervisory Control System Plus. Urban Rail Transit 6”,
187–204 (2020)

11
[11] A. R. Sampaio, J. Rubin, I. Beschastnikh, and N. S. Rosa, “Improving microservice-
based applications with runtime placement adaptation,” J. Internet Serv. Appl., vol. 10,
no. 1, 2019.
[12] A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Microservices Architecture Enables
DevOps: Migration to a Cloud-Native Architecture,” IEEE Softw., vol. 33, no. 3, pp.
42–52, 2016.
[13] D. Guo, W. Wang, G. Zeng and Z. Wei, ”MSABot, A chatbot framework for assisting
for development and operation of microservices architecture” 2020 ACM Symposium on
Service-Oriented System Engineering (SOSE).
[14] L. F. Herrera-Quintero, J. C. Vega-Alfonso, K. B. A. Banse and E. Carrillo Zambrano,
”Smart ITS Sensor for the Transportation Planning Based on IoT Approaches Using
Serverless and Microservices Architecture,” in IEEE Intelligent Transportation Systems
Magazine.
[15] C. Nabor , Mendonça, David Garlan, Bradley Schmerl, and Javier Cámara “Generality
vs. reusability in architecture-based self-adaptation: the case for self-adaptive microser-
vices”, Proceedings of the 12th European Conference on Software Architecture,2018.
[16] A. R. Sampaio, J. Rubin, I. Beschastnikh, and N. S. Rosa, “Improving microservice-
based applications with runtime placement adaptation,” J. Internet Serv. Appl., vol. 10,
no. 1, 2019
[17] S. Klock, J. M. E. M. van der Werf, J. P. Guelen and S. Jansen, ”Workload-Based
Clustering of Coherent Feature Sets in Microservice Architectures,” 2017.
[18] Garcia L.M., Aciar S., Mendoza R., Puello J.J. (2018) Smart Tourism Platform Based
on Microservice Architecture and Recommender Services. In: Younas M., Awan I., Ghinea
G., Catalan Cid M. (eds) Mobile Web and Intelligent Information Systems. MobiWIS
2018.
[19] Kaibin Bao, Ingo Mauser, Sebastian Kochanneck, Huiwen Xu, and Hartmut Schmeck.
“A Microservice Architecture for the Intranet of Things and Energy in Smart Build-
ings”,2016.
[20] J. Thönes, ”Microservices,” in IEEE Software, vol. 32, no. 1, pp. 116-116, Jan.-Feb.
2015.
[21] M. Villamizar et al., ”Evaluating the monolithic and the microservice architecture pat-
tern to deploy web applications in the cloud,” 2015.
[22] D. Escobar et al., ”Towards the understanding and evolution of monolithic applications
as microservices,” 2016.

12
[23] B. Butzin, F. Golatowski and D. Timmermann, ”Microservices approach for the internet
of things,” 2016.

[24] N. Alshuqayran, N. Ali and R. Evans, ”A Systematic Mapping Study in Microservice


Architecture,” 2016.

13

View publication stats

You might also like