Microservices: A Systematic Mapping Study: Claus Pahl and Pooyan Jamshidi
Microservices: A Systematic Mapping Study: Claus Pahl and Pooyan Jamshidi
Keywords: Mircoservices, Container, Cloud, Systematic Literature Review, Systematic Mapping Study.
Abstract: Microservices have recently emerged as an architectural style, addressing how to build, manage, and evolve
architectures out of small, self-contained units. Particularly in the cloud, the microservices architecture ap-
proach seems to be an ideal complementation of container technology at the PaaS level However, there is
currently no secondary study to consolidate this research. We aim here to identify, taxonomically classify and
systematically compare the existing research body on microservices and their application in the cloud. We
have conducted a systematic mapping study of 21 selected studies, published over the last two years until end
of 2015 since the emergence of the microservices pattern. We classified and compared the selected studies
based on a characterization framework. This results in a discussion of the agreed and emerging concerns
within the microservices architectural style, positioning it within a continuous development context, but also
moving it closer to cloud and container technology.
137
Pahl, C. and Jamshidi, P.
Microservices: A Systematic Mapping Study.
In Proceedings of the 6th International Conference on Cloud Computing and Services Science (CLOSER 2016) - Volume 1, pages 137-146
ISBN: 978-989-758-182-3
Copyright
c 2016 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
CLOSER 2016 - 6th International Conference on Cloud Computing and Services Science
138
Microservices: A Systematic Mapping Study
139
CLOSER 2016 - 6th International Conference on Cloud Computing and Services Science
140
Microservices: A Systematic Mapping Study
sponse processing from possibly mutually exclu- – Microservice identification – tool support
sive chains of microservices. • Applications – application domains/sectors
• Shared Data Microservice Design Pattern – to-
– Types: e.g., Web apps, (smart) grids
wards autonomy through full-stack services with
control of all components. – Domains: e.g., financial services, transport
• Asynchronous Messaging Microservice Design
Pattern – use message queues instead of REST re-
quest/response pattern. 5 RESULTS
Looking at blogs2 shows that coupling vs. autonomy
We categorise of the results in terms of concerns such
in microservices is an open question on what messag-
as publication format, forum and technical contribu-
ing patterns to choose for microservices. Interaction
tion. We also present the key terms extracted from the
pattern, e.g., Request-Reply vs. Publish-Subscribe are
studies. The results are discussed and the validity of
also discussed, as are event vs. command/query-based
the results and their discussion is addressed.
information exchange. Putting these latter two dimen-
sions in a matrix would result in four options to realise
couplings between microservices. Microservices are 5.1 Overview of the Primary Studies
important for clouds and software architecture for the
cloud as the cloud can ideally support microservices In order to examine the state of research on microser-
through services at different layers in different for- vices, the following questions are considered:
mats and the cloud can provide mechanisms to deal • When did research on microservices become ac-
with the inherent challenges (uncertainty caused by tive in computing community?
heterogeneity, multi-tenancy etc).
• What are the fora in which work on microservices
has been published? On which communities does
4.2 A Characterisation Framework the focus lie?
We propose a classification framework that we will • How is microservices research reported and what
use to categorise the primary studies. This frame- is the maturity level of the research in this field?
works uses common terms from software engineering 1) Temporal overview of studies. With only a few
methods with methodological support, architecture, studies in 2014, there has been a dramatic increase
tool support and applications. The subheadings were in 2015, signaling a significant concern (Fig. 2). No
identified after a first-round scans of selected studies relevant publications were found prior to 2014, as the
in order to ensure the validity of the framework. terms has not been used as understood today.
• Methodological support
– Design – architecture-level software design 2) Publication fora and formats. We have categorised
the publication fora into the computing fields as fol-
– Testing – quality assurance / test methods lows (Figure 3):
– Configuration and management – deployment
and quality related (e.g. scalability) • software engineering
– Migration – refactor/re-engineer legacy into • service engineering
microservices • cloud computing
– Microservice identification – identify microser-
• networks, telecomms and distributed systems
vices in existing solutions
• wider computing/IT/science context
• Architectural support – software architecture
– reference architectures
– architectural modelling and specification
• Platform/tool support
– Testing – and test beds and other tool support
– Deployment/Provisioning platform – container
repositories and engines
2 Such as the blog https://www.voxxed.com/blog/2015/
04/ coupling- versus-autonomy-in-microservices/ Figure 2: Trend Graph for Microservices.
141
CLOSER 2016 - 6th International Conference on Cloud Computing and Services Science
142
Microservices: A Systematic Mapping Study
Table 7: Key terms extracted after two rounds of extraction and keyword frequency.
Q Quality # E Entity # P Activity # T # C Context # R Research # A #
Technology Approach Application
scalability 6 architectural 5 testing 6 Docker 3 Monolithic 4 Experiment 2 Financial 3
style Enterpr Syst services
independently 6 pattern 3 self- 5 SerfNode 1 IoT 1 Case Study 2 Transport 1
deployable manage
maintainable 3 Container 3 distribution 4 Spring 1 SOA 1 Analysis/ 1 Learning 1
Comparison Technology
interoperable 2 smart grid 2 componentise 3 Libraries 1
reusable 2 Web app 2 semantic 3 Middleware 1
modelling
user-facing 2 architecture 2 migration 3 Data Centre 1
performance 2 network 1 auto-scale 2
context-based 1 arch pattern 1 development 1
heterogeneous 1 architecture 1 validation 1
paradigm
mobile 1 adoption 1
reliable 1 packaging 1
smart 1 replication 1
flexibility 1 security 1
monitoring 1
application domains are more traditional. Here, fi- Figure 6, where we mapped the generic contribution
nancial services (in a hybrid on-premise/private cloud types (Solution, Evaluation, Experience Report, Re-
scenario) and transport (more an edge cloud scenarios view) to more specific technical contributions rele-
with the need to support lightweight virtualisation on vant in the microservices context (Architecture and
smaller devices/sensors) have been investigated. Method), makes the distribution of technical contribu-
Another important perspective is the application tions more clear. The bubble size indicates the num-
of microservices in a long-term software evolution ber of studies of that type.
and modernisation context: (i) Microservices are of- Solutions and their experimental validation dom-
ten discussed in software and IT systems migration. inate (the 2 left-most columns Sol and Val). We can
(ii) Their SOA inheritance emphasises their suitabil- also see that Architecture is more prevalent (the lower
ity for modernising monolithic legacy systems. 3 rows AI, AM, AV) than the process-centric Method
The forums in which microservices are discussed perspective (the 2 rows MD and MV above) – see
are – in this order – the following: software engi- Figure caption for acronym definition. In the upper
neering, service engineering, cloud computing, fol- right corner, non-solution/validation studies are sum-
lowed by others such as networks, operating systems marised. Here systematic evaluations and experience
and distributed systems. This demonstrates the na- reports on the one hand (Eval, Exp) and technology
ture of microservices as a service-oriented architec- reviews (Rev) are equally frequent.
tural style. Most of these include some reference to
cloud computing, even if not published in this forum. 5.4 Threats to Validity
5.3 Classification of Microservice We discuss threats to the validity of this work in the
Methods and Techniques different mapping study steps.
Threats to the Identification of Primary Stud-
ies. A challenge was to determine the scope of our
In Table 8, we compared the studies based on the
study, since microservices relate to different comput-
core classification categories. As already stated, mi-
ing and IT communities including software engineer-
croservices are considered as an architectural style, in
ing, information systems and cloud. These communi-
which we can distinguish two technical perspectives
ties use different terminologies for the same concepts.
(see column ’Technical Contribution, which refines
To cover all and avoid bias, we searched for the mi-
the ’Contribution Type’):
croservice term in different contexts. While this ap-
• Architecture: architecture implementation and proach decreases bias, it significantly increases search
validation, but also architecture design methods. effort. To identify relevant studies and ensure an un-
• Methods: a more process-centric view with biased selection, a review protocol was developed.
method definitions and validations.
143
CLOSER 2016 - 6th International Conference on Cloud Computing and Services Science
Figure 6: Study Distribution by Technical Contribution over Contribution Type (bubble plot).
[Sol:Solution, Val:Validation, Eval:Evaluation, Exp: Experience Report, Rev: Review; AI:Architecture Implementation,
AM:Architecture Method, AV:Architecture Validation, MD:Method Definition, MV:Method Validation, Oth:Others] .
Threats to Selection and Data Extraction Con- Regarding the contribution formats, there is also a
sistency. The formulation of the research questions notice imbalance compared to more mature domains:
has helped in selecting studies of relevance, as did the • Larger number of thesis (BSc/MSc level) and
Reference Model and Characterisation Framework in magazine article – pointing at an emerging topic
Section 3. However, we did include magazine con- through initial experimental and explorative work
tributions and thesis here (as along as a review took particularly at Bachelor or Master level, and also
place) to include all trends and activities. in magazines providing early technology reviews.
Threats to Data Synthesis and Results. This re- The number of journal publications is low (with
liability threat is mitigated as far as possible by hav- short communications published only).
ing a unified characterization scheme and following
a standard protocol where several steps were piloted • Higher number of use cases in comparison with
and externally evaluated. technology solutions – again pointing at an
emerging topic by aiming to formatively validate
the technology through use cases, rather than a
more systematic summative evaluation.
6 RESEARCH IMPLICATIONS
We can note specifically a lack of proven tech-
AND FUTURE DIRECTIONS nologies to realize a microservices architecture, un-
derstanding to differentiate SOA from microservices,
While the maturity is low, valuable insights into
monitoring tools for microservices, architectural pat-
trends can be identified that are of benefit to re-
tern for microservices, experimental approaches to
searchers and practitioners alike.
empirically compare microservices with other styles
(for example using architecture evaluation mathods
6.1 Maturity like ATAM), tools to enable performance-driven De-
vOps for microservice architecture development, soft-
The actual scientific contributions are a mix of tech-
ware enigneering methods (methodologies, design
nology reviews, test environments and use case archi-
patterns, best practices, quality assurance, system ver-
tectures (conceptual and implemented). As a good
sioning, change management) for microservice archi-
part of this is still conceptual, it can be seen as a sign
tecture development, and successful/unsuccessful ex-
of immaturity. This interpretation is strengthened by
amples of microservices development (only a few ex-
the fact that some use case validations and no larger-
ist, c.f. Netflix).
scale empirical evaluations exist.
144
Microservices: A Systematic Mapping Study
Table 8: Study comparison in terms of characterisation framework (focussing on architecture and method support – column
Technical Contribution).
ID Title Format Field Contrib Technical Contribution Details
Type Contribution
1 Distribution of microservices for hardware in- Thesis Telecoms Sol Architecture microservice-based smart grid impl
teroperability in the Smart Grid Implement
2 Evaluation of Microservices as an Extension of Thesis Soft Eng Eval Concept conceptual evaluation
Component Technologies (in German) Evaluation
3 Location and Context-Based Microservices for Conf/WorkshopMobile Eval Concept 3 sample use cases (microserv)
Mobile and Internet of Things Workloads Comp Evaluation
4 Learning-Based Testing of Microservices: An Thesis Soft Eng Val Architecture microservice test bed
Exploratory Case Study Using LBTest Validation
5 Distributed Systems of Microservices Using Conf/WorkshopScience Rev Review review of container tech
Docker and Serfnode
6 Towards a Technique for Extracting Microser- Conf/WorkshopSoft Eng Sol Service technique for ms identification in en-
vices from Monolithic Enterprise Systems terprise arch
7 Migrating to Cloud-Native Architectures Us- Conf/WorkshopCloud Exp Experience migration experience report
ing Microservices: An Experience Report Report
8 From Microservices to SOA Magazine Services Rev Review technology review
9 A Reusable Automated Acceptance Testing Conf/WorkshopServices Val Architecture testing architecture for ms
Architecture for Microservices in Behavior- Validation
10 Learning-Based Testing of Microservices Conf/WorkshopSoft Eng Val Architect microservice test bed
Validation
11 On Micro-Services Architecture Journal Science/ Rev Review technology review
Engineer
12 Microservice-based Architecture for the Conf/WorkshopSystems Exp Experience data centre architecture using mi-
NRDC Report croservices
13 Microservices validation: Mjolnirr platform Conf/WorkshopCloud Val Method Vali- testing for ms review + validation
case study dation method for ms
14 An Ecosystem of User-facing Microservices Conf/WorkshopWeb/ Se- Sol Architecture abstract architecture for ms for Web
supported by Semantic Models mantics Method apps
15 An architecture for self-managing microser- Conf/WorkshopCloud Sol Architect (concept) architecture for self-
vices Method management of microservices
16 Microservices: Patterns and Applications Book Soft Eng Sol Method Def- design methods and patterns
inition
17 Microservice-based Architecture for the Conf/WorkshopSystems Exp Experience data centre architecture using mi-
NRDC Report croservices
18 Synapse: a microservices architecture for Conf/WorkshopSystems Sol Architecture (implement) architecture for mi-
heterogeneous-database web applications Implement croservices for web DB apps
19 About Microservices, Containers and their Un- Conf/WorkshopCloud Sol Method Def- analysis and design recommenda-
derestimated Impact on Network Performance inition tions
20 Microservices Magazine Soft Eng Rev Review technology review
21 Building Microservices Book Soft Eng Sol Method Def- full lifecycle methodology (design,
inition testing, impl/devops)
21 Auto-Scaling of Micro-Services Using Con- Journal Science/ Val Architecture conceptual architecture and scaling
tainerization Engineer Method approach
23 A Microservice Approach for Near Real-Time Conf/WorkshopWeb/ Se- Val Architecture microservices use case in learning
Collaborative 3D Objects Annotation mantics Validation technology
145
CLOSER 2016 - 6th International Conference on Cloud Computing and Services Science
146