Francesco 2017
Francesco 2017
Francesco 2017
Abstract—Microservices are a new trend rising fast from the for understanding what we know about scientific research on
enterprise world. Even though the design principles around architecting microservices.
microservices have been identified, it is difficult to have a clear For achieving this goal we applied the systematic mapping
view of existing research solutions for architecting microservices.
In this paper we apply the systematic mapping study method- study methodology, which is a research methodology intended
ology to identify, classify, and evaluate the current state of to provide an unbiased, objective and systematic instrument
the art on architecting microservices from the following three to answer a set of research questions by analysing all of the
perspectives: publication trends, focus of research, and potential relevant research contributions in a specific research area. In
for industrial adoption. More specifically, we systematically define our study we identified, classified, and evaluated the current
a classification framework for categorizing the research on
architecting microservices and we rigorously apply it to the 71 state of the art on architecting microservices from differ-
selected studies. We synthesize the obtained data and produce ent perspectives. We selected 71 primary studies from over
a clear overview of the state of the art. This gives a solid three hundred potentially relevant papers; then, we rigorously
basis to plan for future research and applications of architecting defined a classification framework for precisely categorizing
microservices. research results on architecting microservices, and we applied
Index Terms—Microservices, Software Architecture, System-
atic Mapping Study
it to the 71 primary studies. Finally, we synthesized the
obtained data to produce a clear overview of the state of the
art in architecting microservices. Also, we assessed how re-
I. I NTRODUCTION
search results on architecting microservices can be potentially
Netflix, Amazon, The Guardian and other companies have transferred and adopted in industrial projects. This assessment
evolved their applications towards a microservice architecture can play the role of reference framework for acting towards
(MSA). Lewis and Fowler define the microservice architectural a smoother transfer of research results to practice, which is
style as an approach for developing a single application as a one of the goals of an applied research field such as software
suite of small services, each running in its own process and engineering [5].
communicating with lightweight mechanisms, often an HTTP The main contributions of this study are: (i) a reusable
resource API [4]. framework for classifying, comparing, and evaluating architec-
MSA arises from the broader area of Service Oriented tural solutions, methods, and techniques (e.g., tactics, patterns,
Architecture (SOA) and focuses on specific aspects, such as styles, views, models, reference architectures, or architectural
componentization of small lightweight services, application languages) specific for microservices; (ii) an up-to-date map
of agile and DevOps practices for development, usage of of the state of the art in architecting microservices and its
infrastructure automation with continuous delivery features, implications for future research; (iii) an evaluation of the
decentralized data management and decentralized governance potential for industrial adoption of existing research results
among services. There are many differences between SOA and on architecting microservices;
MSA. For example, the design of services in MSA is driven by The audience of this study is composed of both (i) re-
a share-nothing philosophy in order to support agile methods searchers interested to further contribute to this research area,
and promote isolation and autonomy. Instead, SOA adopts a and (ii) practitioners interested to understand existing research
share-as-much-as-you-can philosophy to promote a high de- on architecting microservices and thereby to critically adopt
gree of reuse [17]. Another significant difference is that MSA those solutions that best fit with their business goals.
mainly focuses on service choreography, while SOA relies on The rest of the paper is organized as follows. In Section II
both service orchestration and service choreography [17]. we set the stage by giving the basic concepts around archi-
Even though the design principles around the microservice tecting microservices. The design of the study is presented in
architectural style have been identified, many aspects are Section III, whereas its results are elaborated in Sections IV,
still unclear or unexplored. This makes it difficult for both V, and VI, where they are also put in a broader perspective
researchers and practitioners to have a clear view of existing and their potential implications for both researchers and prac-
research solutions for architecting microservices, their charac- titioners are presented. Threats to validity and related work
teristics, and their potential for broad industrial adoption. The are described in Sections VII and VIII. With Section IX we
goal of this paper is to characterize the current state of the art close the paper and discuss future work.
22
E1 - Studies that, while focusing on microservices, do not framework. Examples of emerging categories include: sup-
explicitly deal with their architecture (e.g., studies fo- ported architecting activities, scope in the software lifecycle,
cussing only on technological aspects, inner details of considered quality attributes (e.g., reliability), etc. Next steps
microservices). have been performed for each primary study.
E2 - Studies where microservices are only used as an example. 4. Extract data from current study. A researcher extracted in-
E3 - Secondary or tertiary studies (e.g., systematic literature formation about the current study to be analysed by collecting
reviews, surveys, etc.). (i) information according to the parameters of the classification
E4 - Studies in the form of tutorial papers, editorials, etc. framework and (ii) any additional relevant information that did
because they do not provide enough information. not fit within any parameter of the classification framework. If
E5 - Studies not available as full-text. the collected information fit completely within the classifica-
5. Combination. If there were multiple papers on the same tion framework, then we proceeded to analyze the next study,
study, we kept a record of all of them and pointed them to otherwise the classification framework was refined.
a single study. This was necessary for ensuring completeness 5. Refine comparison framework. Two researchers discussed
and traceability of our results [20]. together on the collected additional information. This discus-
6. Snowballing. We complemented the previously described sion could result either in the correction of the performed clas-
automatic search with a snowballing activity [16]. The main sification or in the refinement of the classification framework.
goal of this stage is to enlarge the set of potentially relevant The above described process ended when there were no pri-
studies by considering each study selected in the previous mary studies to analyze left. The specific parameters emerging
stages, and focusing on those papers either citing and cited from the keywording process are described in Section V.
by it. More technically, we performed a closed recursive Potential for industrial adoption (RQ3). This facet is com-
backward and forward snowballing activity [19]. posed of four different parameters: (i) readiness level for as-
sessing the maturity of the involved technologies, (ii) industry
C. Data Extraction involvement for understanding how academic and industrial
researchers collaborate on the topic, (iii) tool support for
In this activity we (i) create a classification framework and distinguishing between software-based or knowledge-based
(ii) collect data for each primary study. When going through contributions, and (iv) open-source test system for identi-
the primary studies in detail for extracting information we fying existing benchmarks for microservice architectures.
agreed that 8 studies were semantically out of the scope of
this research, so they have been excluded (see Figure 1). In D. Data Synthesis
order to have a rigorous data extraction process and to ease the The data synthesis activity involves collating and summaris-
management of the extracted data, we systematically designed ing the data extracted from the primary studies [8, § 6.5] with
a structured classification framework; it is composed of three the main goal of understanding, analysing, and classifying
facets, one for each research question of our study. current research on architecting microservices. Specifically, we
Publications trends (RQ1). The parameters we considered performed a combination of content analysis (for categorizing
to collect data about publication trends are: publication year, and coding the studies under broad thematic categories) and
publication venue (e.g., conference, journal, etc.), and re- narrative synthesis (for explaining in details and interpreting
search strategy (e.g., solution proposal, opinion paper, etc.). the findings coming from the content analysis).
Focus of research (RQ2). We followed a systematic process
E. Replicability of the Study
called keywording for defining the categories of this facet.
Goal of the keywording process is to effectively develop a Due to page limitations we do not include all the details
classification framework so that it fits the primary studies and of the design of our study. To allow easy replication and
takes their research focus into account [15]. The following verification of our study, a complete replication package1 is
details each step of the keywording process: publicly available to interested researchers. Our replication
1. Identify starting set of studies. Two researchers randomly package includes: the detailed research protocol, the detailed
extracted 5 studies from the set of all primary studies; they description of all the parameters of the classification frame-
have been used as pilot studies during the keywording process. work, the list of all selected studies, raw data for each phase
2. Identify keywords and concepts. Two researchers collected of the study, and the R scripts for summarizing extracted data.
keywords and concepts by reading the full-text of each starting IV. R ESULTS - P UBLICATION T RENDS (RQ1)
study. When all starting studies were analyzed, we combined
Publication years. Figure 2 presents the distribution of pub-
all keywords and concepts to clearly identify the emerging
lications on architecting microservices over the years. Here
context, nature, and contribution of the research on architecting
we have a clear confirmation of the scientific interest on
microservices.
architecting microservices in the last years. A small number of
3. Cluster keywords and form categories. Two researchers publications have been produced until 2014, which is actually
performed a clustering operation on collected keywords and the first year in which (i) microservices started to attract the
concepts in order to cluster them according to emerging
categories. The output of this stage is the initial classification 1 http://cs.gssi.infn.it/ICSA2017ReplicationPackage
23
interest of large organizations, and (ii) the term microservice TABLE I
A PPLIED RESEARCH STRATEGIES
as architectural style was consistently used [14]. As a confir-
mation, even if the four studies published before 2014 were Res. strategies #Studies Studies
about systems composed of small-scale lightweight services Solution proposal 48 P1, P2, P3, P4, P6, P7, P9, P10, P12,
P13, P14, P15, P17, P18, P20, P21,
(P10, P62, P63, P64), they were referring to slightly different P22, P23, P25, P26, P29, P30, P32,
perspectives on microservices as they are considered today. P33, P36, P39, P42, P43, P44, P45,
For example, P10 refers to low-level software components in P47, P49, P50, P51, P52, P54, P55,
P56, P58, P61, P62, P63, P64, P66,
the robotic domain as microservices, whereas P62 considers P68, P69, P70, P71
microservices as mobile services generated by end-users. We Validation 14 P3, P6, P9, P14, P21, P24, P38, P51,
observed alternative definitions of microservices also in other research P52, P59, P61, P62, P69, P71
Opinion paper 8 P11, P16, P19, P28, P41, P48, P60, P67
cases throughout the years, as described in Section V-A. Experience paper 8 P8, P31, P34, P37, P38, P40, P57, P65
Philosophical pa- 3 P5, P46, P53
per
Evaluation 3 P27, P35, P45
research
24
TABLE II TABLE III
TARGET PROBLEMS R ESEARCH CONTRIBUTION
25
TABLE V B. Support for architecting
V ERTICAL SCOPE
Here we characterize research studies with respect to how
Vertical scope #Studies Studies
Service 39 P1, P3, P4, P5, P6, P7, P9, P10, P13, P15, they support architecture-specific concerns and activities.
P18, P21, P22, P23, P33, P37, P38, P39, Architecting activities. We have based our classification of
P40, P42, P44, P45, P50, P51, P52, P54, architecting activities according to the introvert/extrovert
P55, P56, P57, P60, P61, P62, P63, P64,
P66, P67, P69, P70, P71 nature of software architects [11]. The introvert nature is com-
Container 14 P2, P8, P11, P17, P19, P25, P29, P35, posed of the analysis and other design-oriented architectural
P36, P47, P48, P58, P59, P68 activities and it has been refined into the architecting activities
Virtual machine 13 P12, P14, P16, P20, P24, P26, P30, P31,
P32, P34, P43, P49, P53 defined by Li et al. in [10]. The extrovert nature regards the
Hardware 4 P27, P28, P41, P46 communication between architects and other stakeholders and
Operating sys- 1 P65 it has been further classified into the providing information
tem
and getting input parameters proposed by Kruchten in [9].
As shown in Table VII, the mainly discussed introvert archi-
tecting activities are analysis (56/71) implementation (29/71),
existence of challenges and complexities in the implementation
description (23/71) and evaluation (18/71). These indicators
and deployment of microservice architectures in practice. It
seem to show that researchers are not focusing on architecting
is worth noting that the phases of maintenance (12/71) and
activities regarding architectural reuse (6/71) or maintenance
testing (10/71) are not a primary target of research, probably
and evolution (15/71) of existing assets. Moreover, architec-
because microservice applications are relatively young. Possi-
ture impact analysis (2/71) and architecture recovery (5/71)
bly, the areas of microservices maintenance and testing might
are hardly discussed. These aspects may be significant research
become fields for further investigations. We observe also that
directions to explore. In the lower part of the Table we can
in only (1/71) study (P8) the requirements are discussed in
observe how little investigation is performed on extrovert
detail along with their impact on the evolution of the presented
architecting activities, i.e., providing information (4/71) and
microservice-based system.
getting input (0/71). These complementary activities to the
TABLE VI system design concern the interaction with other stakeholders.
S OFTWARE LIFECYCLE SCOPE From a research perspective the low interest in these comple-
Lifecycle scope #Studies Studies mentary activities might indicate that there could be areas of
Design 65 P1, P2, P3, P4, P5, P7, P8, P9, P10, P11, improvement in the engagement of customers and users, and
P12, P13, P14, P15, P16, P17, P18, P19, also in the project management and the communication with
P20, P21, P23, P24, P25, P26, P27, P28,
P29, P30, P31, P32, P33, P34, P35, P36, the teams. Toward these directions an architectural language
P37, P38, P39, P40, P41, P42, P43, P46, might be a powerful instrument in order to enable better
P47, P48, P49, P50, P51, P52, P53, P54, communication with both stakeholders and developers.
P55, P56, P59, P60, P61, P62, P63, P64,
P65, P66, P67, P68, P69, P70, P71 Quality attributes. It is the set of quality attributes ad-
Implementation 24 P8, P9, P10, P14, P15, P20, P21, P25,
P29, P30, P31, P34, P35, P37, P38, P52,
dressed or discussed by the study. Performance efficiency
P54, P56, P60, P61, P64, P66, P68, P70 (40/71), and maintainability (28/71) are the most investigated
Operation 22 P1, P8, P11, P12, P16, P17, P19, P24, quality attributes, while the remaining qualities are almost
P25, P26, P27, P30, P32, P35, P36, P41,
P43, P48, P53, P59, P62, P65
equally represented, as shown in Table VIII. One of the key
Maintenance 12 P7, P30, P31, P37, P43, P51, P54, P56, reasons why performance efficiency is extensively investigated
P63, P68, P70, P71 is because it includes scalability, which microservice architec-
Testing 10 P6, P17, P22, P25, P43, P44, P45, P56,
P57, P58
tures aim to support to a great extend. Similarly, the attention
Requirements 1 P8 to maintainability might be related to the characteristics of
small services and automatic deployment. We observe that,
Microservice architecture definition. In the primary studies the difference between the higher focus on the maintainability
microservice architectures have been defined in several ways quality attribute with respect to the activity of maintenance
and in some cases even more than one single definition was and evolution (discussed in the previous paragraph) is due to
reported. The most recurring definition was the one provided the fact that researchers address more often the quality of the
by J. Lewis and M. Fowler (32/71) [4], followed by the one system rather than performing the activity of maintenance as
given by S. Newman (13/71) [13]. In (16/71) studies the prove- defined by Li et al. [10] as the activity of correcting faults and
nance of the definitions was scattered among other scientific adapting to a changed or changing operational environment.
papers, while in (19/71) studies own-informal definitions were If we compare the number of primary studies addressing
adopted. This evident fragmentation of definitions results in security (17/71), reliability (14/71) and portability (12/71)
ambiguities and does not help to provide clarity to the bound- to the number of studies focusing on performance efficiency
aries of the microservice architectural style. Interestingly, the (40/71) we might observe that these quality attributes have not
definitions provided by J. Lewis and M. Fowler and S. Newman received the same research attention. Possible research gaps
(13/71) seem to start prevailing over the remaining definitions. might exist in the areas related to these quality attributes.
26
TABLE VII TABLE VIII
A RCHITECTING ACTIVITIES Q UALITY ATTRIBUTES
Architecture provenance. An architecture is designed if it Architecture description types. The results show that the
is created prior its implementation, extracted vice versa. The architectures proposed were mostly described in their struc-
type of provenance of the architectures results to be mainly tural (55/71) aspects, while the behavioral (24/71) aspects
designed (58/71) rather than extracted (13/71), as reported were treated in a minor number of cases. In the remaining
in Table IX. This result might suggest that it is not easy to studies (12/71) this classification was not applicable.
realize microservice architectures unless an actual analysis and Design patterns. Several design patterns have being dis-
design of the system has been performed. From a research cussed in the primary studies, but not many have been applied
point of view, this might confirm that there exist some uncer- frequently. The most recurring design patterns are: API gate-
tainty about the realization of microservices. This uncertainty way (11/71), publish/subscribe (8/71), circuit breaker (6/71),
might be related either to the microservice architectural style proxy (4/71) and load balancer (3/71). It is important to note
challenges, or the needed infrastructure and technologies. that a number of other design patterns have been proposed, and
Architectural language. From the analysis of the primary as the field of microservice architectures matures more design
studies has emerged that the majority of the proposed archi- patterns will likely emerge. Results are reported in Table X.
tectures were described using informal architectural languages Technology-specific. We classified as technology-specific the
(50/71) while in few cases UML (4/71) was used. Interest- studies which have proposed solutions, methods or techniques
ingly, six different architectural languages were either used that are dependent from one or more specific technologies. The
or proposed as suitable languages for designing microservice results have shown that (54/71) of the primary studies were not
architectures: UML (P43), BPMN (P33, P51), Medley (P52), technology-specific, while the remaining (17/71) resulted to
OCCIEx (P59), Ciudad (P62) and Diary (P70). From a re- be technology-specific. The predominance of not technology-
searcher’s point of view, the use of informal architectural lan- specific studies is a good indicator because approaches and
guages and the lack of a predominant architectural language solutions can be reused. Differently, technology-specific stud-
can indicate difficulties in the description and modeling of ies have the advantage of being more detailed, but their
microservice architectures. applicability and portability in the future might be limited.
27
TABLE X
D ESIGN PATTERNS ments – food for thought.
Design patterns #Studies Studies Architecture analysis emerges as the most popular
API Gateway 11 P2, P3, P8, P18, P33, P35, P38,P47, architecting activity. Results suggest software archi-
P50, P65, P67,P68, P71 tecture as a powerful instrument for stakeholder en-
Publish/subscribe 8 P2, P3, P4, P19, P40, P50, P67, P68
Circuit breaker 6 P1, P16, P30, P44, P46, P65 gagement. The clear focus on infrastructure services
Proxy 4 P6, P8, P12, P18 will help devising new patterns and styles building
Load balancer 3 P30, P47, P49 upon them and hence further leveraging cloud-based
Other 9 P1, P11, P19, P30, P38, P44,P46,P50,
P67 architecture models.
28
practitioner; this means that in those cases we are potentially validity are unavoidable. The following reports on the main
smoothing the knowledge exchange between academia and threats to validity to our study and how we mitigated them.
industry, where research is performed on industrially relevant External validity. The most severe external threat of our
problems and new methods, technologies and tools are trans- study consists in the fact that our primary studies are not
ferred from academia to industry [20]. representative of the state of the art on architecting microser-
vices. As a solution, we applied a search strategy consisting
of both automatic search and backward-forward snowballing
on the selected studies in combination. Also, we considered
only peer-reviewed papers and excluded the so-called grey
literature (e.g., white papers, editorials, etc.); nevertheless, this
potential bias did not impact our study significantly since
Fig. 4. Distribution of industry involvement considered papers have undergone a rigorous peer-reviewed
Tool support. In the context of this study a tool can be process, which is a well-established requirement for high qual-
considered as an instance that may represent a precise version ity publications. We also applied well-defined and previously
of an automated tool or a written procedure [6]. Based on validated inclusion and exclusion criteria, which we refined
the given definition, we categorize a tool either as software iteratively by considering the pilot studies of our review.
based or knowledge based. Our analysis shows that almost Internal validity. We rigorously defined the research protocol
half of the studies (35/71) provide a knowledge-based tool of our study and we iteratively defined our classification
(e.g., best practices, documented design patterns, guidelines), framework by rigorously applying the keywording process.
whereas only 20 studies provide a software-based tool (e.g., a The syntheses of the collected data have been performed
testing tool, a code generator, a monitoring infrastructure) and by applying well-assessed descriptive statistics. During the
16 studies provide a combination of knowledge- and software- horizontal analysis we made a sanity test of the extracted data
based tool (e.g., a method for implementing services that by cross-analyzing parameters of the classification framework.
communicate via an implemented middleware, a testing tool Construct validity. We mitigated this potential bias by au-
together with a testing method, etc.). tomatically searching the studies on multiple data sources,
Open-source test system. When screening the 71 primary independently of publishers’ policies or business concerns;
studies we checked if an open-source test system for bench- also we are reasonably confident about the construction of
marking microservices-based systems was used, discussed or the search string since the terms used are very general and
proposed. We identified only one such systems (in P27), it suited to our research questions; the automatic search has
is called Acme Air and it is publicly available as open- been complemented with snowballing. Also, we rigorously
source repository on GitHub2 . Acme Air is a web-based selected the potentially relevant studies according to well-
system available in two different architectures (i.e., monolithic documented inclusion and exclusion criteria. This selection
service and microservice) and in two different languages (i.e., stage was performed by one researcher and, as suggested by
Node.js and Java), thus providing to researchers a very useful [20], a random sample of potentially relevant studies was
benchmark for evaluating, measuring, and comparing their identified and the inter-researcher agreement was ensured.
own solutions over a common reference system. Conclusion validity. We rigorously defined and iteratively
refined our classification framework, so that we could reduce
Main findings: potential biases during the data extraction process. In so doing
In spite of their focus on specific solutions, the low we also have the guarantee that the data extraction process
TRL scores of most studies suggest that industrial was aligned with our research questions. More in general, we
transferability is far away. mitigated potential threats to conclusion validity by applying
The balanced involvement of industrial and aca- the best practices coming from three different guidelines on
demic authors is however promising for knowledge systematic studies [7, 16, 20]. We applied those best practices
co-creation and cross-fertilization. in each phase of our study and we documented each phase in
a publicly available research protocol, thus making our study
VII. T HREATS TO VALIDITY easy to be replicated by other researchers.
In 2015, Petersen et al. [16] created a checklist for objec-
VIII. R ELATED W ORK
tively assessing the quality of systematic mapping studies. In
this context a score can be computed as the ratio of the number A systematic mapping on microservices was performed by
of actions taken in a study in comparison to the total number Pahl et al. on a set of 21 primary studies from 2014 to
of actions in the checklist. In our case we achieve a score of 2015 [14]. It is a classification of the research directions in
65%, far higher than most systematic studies in the literature, the field and highlights the relevant perspectives considered
which have a distribution with a median of 33% and 48% as by researchers. Our study differs from [14] in the following
the absolute maximum value. As always, however, threats to terms: (i) we apply a more comprehensive search process by
considering studies published in any year up to 2016 (allegedly
2 https://github.com/acmeair/acmeair
the term microservices has been used for the first time in 2011
29
[http://en.wikipedia.org/wiki/Microservices]), extending their [5] M. Ivarsson and T. Gorschek. A method for evaluating
search string, and complementing the automated search with rigor and industrial relevance of technology evaluations.
snowballing; (ii) we apply a systematic process for defining a Empirical Software Engineering, 16(3):365–395, 2011.
classification framework; (iii) we investigate on the potential of [6] M. L. Jaccheri, G. P. Picco, and P. Lago. Eliciting
industrial adoption of research in architecting microservices. software process models with the e 3 language. ACM
In [1] Alshuqayran, Ali and Evans presented a sys- Transactions on Software Engineering and Methodology
tematic mapping study on microservice architecture. Their (TOSEM), 7(4):368–410, 1998.
study focusses on (i) the architectural challenges faced by [7] B. Kitchenham and P. Brereton. A systematic review of
microservice-based systems, (ii) the architectural diagrams systematic review process research in software engineer-
used for representing them, and (iii) the involved quality ing. Information and software technology, 55(12):2049–
requirements. The work by Alshuqayran et al. and our study 2075, 2013.
can be considered as complementary, each of them cutting the [8] B. A. Kitchenham and S. Charters. Guidelines for
topic of architecting microservices from different perspectives. performing systematic literature reviews in software en-
The main difference between those two studies is that ours gineering. Technical Report EBSE-2007-01, Keele Uni-
considers different research questions, thus leading to different versity and University of Durham, 2007.
results, findings, and overlook for future research. [9] P. Kruchten. What do software architects really do?
Dragoni et al. performed an informal survey on microser- Journal of Systems and Software, 81(12), 2008.
vices [2]. Our study differs from their study because (i) [10] Z. Li, P. Liang, and P. Avgeriou. Application of
we specifically focus on architectural principles, method, and knowledge-based approaches in software architecture: A
techniques, rather than on microservices in general; (ii) we systematic mapping study. Information and Software
apply a rigorous empirical method throughout the study (i.e., Technology, 55(5):777–794, 2013.
systematic mapping), thus providing evidence-based results [11] I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, and
and easing replication of the performed research; (iii) the A. Tang. What industry needs from architectural lan-
objective of our study is to characterize existing research on guages: A survey. IEEE Transactions on Software
architecting microservices, rather than on providing a narrative Engineering, 39(6):869–891, 2013.
viewpoint on their historical, current, and future traits. [12] J. C. Mankins. Technology readiness levels. White Paper,
April, 6, 1995.
IX. C ONCLUSIONS AND F UTURE W ORK [13] S. Newman. Building Microservices. O’Reilly Media,
Inc., 2015.
The purpose of this study is to provide a broader survey
[14] C. Pahl and P. Jamshidi. Microservices: A Systematic
investigating relationships among research contributions on
Mapping Study. In Proceedings of the 6th International
microservices is demanded [2]. Specifically, we performed a
Conference on Cloud Computing and Services Science,
systematic mapping on 71 primary studies and produced a
Rome, Italy, pages 137–146, 2016.
clear overview of the state of the art on architecting microser-
[15] K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson.
vices. The results of this study will benefit both researchers
Systematic mapping studies in software engineering. In
willing to further contribute to the area and practitioners
Proceedings of the 12th International Conference on
willing to understand existing research. Future work includes
Evaluation and Assessment in Software Engineering,
(i) a qualitative study involving practitioners aiming at better
EASE’08, pages 68–77, Swinton, UK, UK, 2008.
understanding the state of the practice on microservices and
[16] K. Petersen, S. Vakkalanka, and L. Kuzniarz. Guidelines
(ii) attacking a selection of the identified research gaps.
for conducting systematic mapping studies in software
engineering: An update. Information and Software Tech-
R EFERENCES
nology, 64:1–18, 2015.
[1] N. Alshuqayran, N. Ali, and R. Evans. A Systematic [17] M. Richards. Microservices vs. Service-Oriented Archi-
Mapping Study in Microservice Architecture. In Proc. tecture. O’Reilly Media, 2015.
of the 9th International Conference on Service-Oriented [18] R. Wieringa, N. Maiden, N. Mead, and C. Rolland.
Computing and Applications. IEEE, IEEE, 2016. Requirements engineering paper classification and evalu-
[2] N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, ation criteria: a proposal and a discussion. Requirements
F. Montesi, R. Mustafin, and L. Safina. Microser- Engineering, 11(1):102–107, 2006.
vices: yesterday, today, and tomorrow. arXiv preprint [19] C. Wohlin. Guidelines for snowballing in systematic
arXiv:1606.04036, 2016. literature studies and a replication in software engineer-
[3] E. Engström and P. Runeson. Software product line ing. In Proceedings of the 18th International Conference
testing - a systematic mapping study. Inf. Softw. Technol., on Evaluation and Assessment in Software Engineering,
53(1):2–13, Jan. 2011. pages 38:1–38:10, New York, NY, USA, 2014. ACM.
[4] M. Fowler and J. Lewis. Microservices a def- [20] C. Wohlin, P. Runeson, M. Höst, M. Ohlsson, B. Regnell,
inition of this new architectural term. URL: and A. Wesslén. Experimentation in Software Engineer-
http://martinfowler.com/articles/microservices.html. ing. Computer Science. Springer, 2012.
30