A Systematic Mapping Study on Microservices Architecture in DevOps

Abstract Context: Applying Microservices Architecture (MSA) in DevOps has received significant attention in recent years. However, there exists no comprehensive review of the state of research on this topic. Objective: This work aims to systematically identify, analyze, and classify the literature on MSA in DevOps. Methods: A Systematic Mapping Study (SMS) has been conducted on the literature published between January 2009 and July 2018. Results: Forty-seven studies were finally selected and the key results are: (1) Three themes on the research on MSA in DevOps are “microservices development and operations in DevOps”, “approaches and tool support for MSA based systems in DevOps”, and “MSA migration experiences in DevOps”. (2) 24 problems with their solutions regarding implementing MSA in DevOps are identified. (3) MSA is mainly described by using boxes and lines. (4) Most of the quality attributes are positively affected when employing MSA in DevOps. (5) 50 tools that support building MSA based systems in DevOps are collected. (6) The combination of MSA and DevOps has been applied in a wide range of application domains. Conclusion: The results and findings will benefit researchers and practitioners to conduct further research and bring more dedicated solutions for the issues of MSA in DevOps.

[1]  Damian Andrew Tamburri,et al.  Towards Omnia: A Monitoring Factory for Quality-Aware DevOps , 2017, ICPE Companion.

[2]  Ramtin Jabbari,et al.  What is DevOps?: A Systematic Mapping Study on Definitions and Practices , 2016, XP Workshops.

[3]  Kasun Indrasiri,et al.  Deploying and Running Microservices , 2018 .

[4]  Pooyan Jamshidi,et al.  Migrating to Cloud-Native Architectures Using Microservices: An Experience Report , 2015, ESOCC Workshops.

[5]  Pethuru Raj,et al.  Automated Multi-cloud Operations and Container Orchestration , 2018 .

[6]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[7]  John M. Fonner,et al.  The Agave Platform: An Open, Science-as-a-Service Platform for Digital Science , 2018, PEARC.

[8]  Marios D. Dikaiakos,et al.  DevOps as a Service: Pushing the Boundaries of Microservice Adoption , 2018, IEEE Internet Computing.

[9]  Hans-Peter Fröschle DevOps , 2017, HMD Praxis der Wirtschaftsinformatik.

[10]  Maurizio Gabbrielli,et al.  Self-Reconfiguring Microservices , 2016, Theory and Practice of Formal Methods.

[11]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[12]  Liming Zhu,et al.  DevOps and Its Practices , 2016, IEEE Softw..

[13]  Olaf Zimmermann,et al.  Microservices tenets , 2017, Computer Science - Research and Development.

[14]  Mazin S. Yousif,et al.  Microservices , 2016, IEEE Cloud Comput..

[15]  Hernán Astudillo,et al.  Actual Use of Architectural Patterns in Microservices-Based Open Source Projects , 2018, 2018 25th Asia-Pacific Software Engineering Conference (APSEC).

[16]  Aleksi Partanen,et al.  Microservices vs. Service-oriented architecture , 2018 .

[17]  JongWon Kim,et al.  Understanding Automated Continuous Integration for Containerized Smart Energy IoT-Cloud Service , 2017, CSA/CUTE.

[18]  Nane Kratzke,et al.  About Microservices, Containers and their Underestimated Impact on Network Performance , 2015, IEEE CLOUD 2015.

[19]  Xin Huang,et al.  A Map of Threats to Validity of Systematic Literature Reviews in Software Engineering , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[20]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[21]  Javad Ghofrani,et al.  Challenges of Microservices Architecture: A Survey on the State of the Practice , 2018, ZEUS.

[22]  Lakhmi C. Jain,et al.  Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures , 2016, Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures.

[23]  W. Feng,et al.  observability ? , 2013 .

[24]  Wolfgang Blochinger,et al.  AUTOGENIC: Automated Generation of Self-configuring Microservices , 2018, CLOSER.

[25]  Pooyan Jamshidi,et al.  Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture , 2016, IEEE Software.

[26]  Bob Familiar,et al.  DevOps Using PowerShell, ARM, and VSTS , 2017 .

[27]  Mohammed Moin Mulla,et al.  Performance Evaluation of Docker Container and Virtual Machine , 2020 .

[28]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[29]  JongWon Kim,et al.  Automated deployment of SmartX IoT-cloud services based on continuous integration , 2016, 2016 International Conference on Information and Communication Technology Convergence (ICTC).

[30]  Michael Le,et al.  Container and Microservice Driven Design for Cloud Infrastructure DevOps , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

[31]  Thomas Magedanz,et al.  Embedding security and privacy into the development and operation of cloud applications and services , 2016, 2016 17th International Telecommunications Network Strategy and Planning Symposium (Networks).

[32]  Lianping Chen,et al.  Microservices: Architecting for Continuous Delivery and DevOps , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[33]  Mike Loukides,et al.  What is DevOps , 2012 .

[34]  Rick Kazman,et al.  Big Data as a Service: A Neo-Metropolis Model Approach for Innovation , 2016, 2016 49th Hawaii International Conference on System Sciences (HICSS).

[35]  Olaf Zimmermann,et al.  Architectural Principles for Cloud Software , 2018, ACM Trans. Internet Techn..

[36]  Emilio Insfran,et al.  Automation of the Incremental Integration of Microservices Architectures , 2017 .

[37]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[38]  Mark Stillwell,et al.  A DevOps approach to integration of software components in an EU research project , 2015, QUDOS@SIGSOFT FSE.

[39]  Claus Pahl,et al.  Performance Engineering for Microservices: Research Challenges and Directions , 2017, ICPE Companion.

[40]  Wouter Tavernier,et al.  DevOps for network function virtualisation: an architectural approach , 2016, Trans. Emerg. Telecommun. Technol..

[41]  Tobias Schneider Achieving Cloud Scalability with Microservices and DevOps in the Connected Car Domain , 2016, Software Engineering.

[42]  L. O'Brien Lero,et al.  Quality Attributes for Service-Oriented Architectures , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[43]  Wouter Tavernier,et al.  Insights from SONATA: Implementing and integrating a microservice-based NFV service platform with a DevOps methodology , 2018, NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium.

[44]  Patricia Lago,et al.  The Journal of Systems and Software , 2019 .

[45]  Leonard J. Bass The Software Architect and DevOps , 2017, IEEE Software.

[46]  Nour Ali,et al.  A Systematic Mapping Study in Microservice Architecture , 2016, 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA).

[47]  Claus Pahl,et al.  Microservices: A Systematic Mapping Study , 2016, CLOSER.

[48]  Wilhelm Hasselbring,et al.  Microservice Architectures for Scalability, Agility and Reliability in E-Commerce , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[49]  Richard E. Boyatzis,et al.  Transforming Qualitative Information: Thematic Analysis and Code Development , 1998 .

[50]  Paolo Ciancarini,et al.  A Machine Learning Approach for Continuous Development , 2016, SEDA.

[51]  Bruno Volckaert,et al.  Unikernels vs Containers: An In-Depth Benchmarking Study in the Context of Microservice Applications , 2018, 2018 IEEE 8th International Symposium on Cloud and Service Computing (SC2).

[52]  Kai Jander,et al.  Defense-in-depth and Role Authentication for Microservice Systems , 2018, ANT/SEIT.

[53]  Muhammad Ali Babar,et al.  Software architectures for robotic systems: A systematic mapping study , 2016, J. Syst. Softw..

[54]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[55]  Liming Zhu,et al.  DevOps - A Software Architect's Perspective , 2015, SEI series in software engineering.

[56]  Bilal Gonen,et al.  Approaches to the Evolution of SOA Systems , 2016, Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures.

[57]  Luciano Baresi,et al.  Supporting the Decision of Migrating to Microservices Through Multi-layer Fuzzy Cognitive Maps , 2017, ICSOC.

[58]  Ingrid Schirmer,et al.  Bimodal Enterprise Architecture Management: The Emergence of a New EAM Function for a BizDevOps-Based Fast IT , 2017, 2017 IEEE 21st International Enterprise Distributed Object Computing Workshop (EDOCW).

[59]  Martin Garriga,et al.  Towards a Taxonomy of Microservices Architectures , 2017, SEFM Workshops.

[60]  Jan Bosch,et al.  Continuous practices and devops: beyond the buzz, what does it all mean? , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[61]  Hong Zhu,et al.  If Docker is the Answer, What is the Question? , 2018, 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE).

[62]  Rory V. O'Connor,et al.  Continuous software engineering—A microservices architecture perspective , 2017, J. Softw. Evol. Process..

[63]  Felipe Osses,et al.  Review of Architectural Patterns and Tactics for Microservices in Academic and Industrial Literature , 2018, IEEE Latin America Transactions.

[64]  Maya Daneva,et al.  A qualitative study of DevOps usage in practice , 2017, J. Softw. Evol. Process..

[65]  Claus Pahl,et al.  Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation , 2017, IEEE Cloud Computing.

[66]  Tim Menzies The Unreasonable Effectiveness of Software Analytics , 2018, IEEE Software.

[67]  Wilhelm Hasselbring,et al.  Drivers and Barriers for Microservice Adoption - A Survey among Professionals in Germany , 2019, Enterp. Model. Inf. Syst. Archit. Int. J. Concept. Model..

[68]  Heejung Kim,et al.  A web-based service deployment method to edge devices in smart factory exploiting Docker , 2017, 2017 International Conference on Information and Communication Technology Convergence (ICTC).

[69]  Sergey V. Zykov,et al.  Managing Software Crisis: A Smart Way to Enterprise Agility , 2018, Smart Innovation, Systems and Technologies.

[70]  Claus Pahl,et al.  Continuous Architecting with Microservices and DevOps: A Systematic Mapping Study , 2018, CLOSER.

[71]  Willem-Jan van den Heuvel,et al.  The pains and gains of microservices: A Systematic grey literature review , 2018, J. Syst. Softw..

[72]  Xiao Liu,et al.  SmartVM: a SLA-aware microservice deployment framework , 2018, World Wide Web.

[73]  Bob Familiar From Monolithic to Microservice , 2015 .

[74]  Yousof Al-Hammadi,et al.  Performance comparison between container-based and VM-based services , 2017, 2017 20th Conference on Innovations in Clouds, Internet and Networks (ICIN).

[75]  Rick Kazman,et al.  Architectural Support for DevOps in a Neo-Metropolis BDaaS Platform , 2015, 2015 IEEE 34th Symposium on Reliable Distributed Systems Workshop (SRDSW).

[76]  Sanjeev Sharma The DevOps Adoption Playbook: A Guide to Adopting DevOps in a Multi-Speed IT Enterprise , 2017 .

[77]  Bob Familiar What Is a Microservice , 2015 .

[78]  Hong Zhu,et al.  CIDE: An Integrated Development Environment for Microservices , 2016, 2016 IEEE International Conference on Services Computing (SCC).

[79]  Bob Familiar,et al.  Microservices, IoT and Azure: Leveraging DevOps and Microservice Architecture to deliver SaaS Solutions , 2015 .

[80]  Peter Deussen,et al.  Current and Future Challenges of Software Engineering for Services and Applications , 2016, Cloud Forward.

[81]  Eoin Woods Software Architecture in a Changing World , 2016, IEEE Software.

[82]  Maurizio Cavallari,et al.  Organizational Impact on Software Development of eServices Techniques , 2017, IESS.

[83]  Ricardo Colomo-Palacios,et al.  Characterizing DevOps Culture: A Systematic Literature Review , 2018 .

[84]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[85]  Malgorzata Steinder,et al.  Performance Evaluation of Microservices Architectures Using Containers , 2015, 2015 IEEE 14th International Symposium on Network Computing and Applications.

[86]  Marin Litoiu,et al.  Delivering Elastic Containerized Cloud Applications to Enable DevOps , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[87]  Shang-Pin Ma,et al.  Migrating Monolithic Mobile Application to Microservice Architecture: An Experiment Report , 2017, 2017 IEEE International Conference on AI & Mobile Services (AIMS).

[88]  Jorg Desel,et al.  Enterprise Modelling and Information Systems Architectures , 2005 .

[89]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[90]  Csaba Rotter,et al.  Multivendor Deployment Integration for Future Mobile Networks , 2018, SOFSEM.

[91]  Cloves Carneiro,et al.  Deploying and Running Microservices , 2016 .

[92]  Tommi Mikkonen,et al.  Challenges When Moving from Monolith to Microservice Architecture , 2017, ICWE Workshops.