Skip to main content

Continuous Architecting with Microservices and DevOps: A Systematic Mapping Study

  • Conference paper
  • First Online:
Cloud Computing and Services Science (CLOSER 2018)

Abstract

Context: Several companies are migrating their information systems into the Cloud. Microservices and DevOps are two of the most common adopted technologies. However, there is still a lack of understanding how to adopt a microservice-based architectural style and which tools and technique to use in a continuous architecting pipeline.

Objective: We aim at characterizing the different microservice architectural style principles and patterns in order to map existing tools and techniques adopted in the context of DevOps.

Methodology: We conducted a Systematic Mapping Study identifying the goal and the research questions, the bibliographic sources, the search strings, and the selection criteria to retrieve the most relevant papers.

Results: We identified several agreed microservice architectural principles and patterns widely adopted and reported in 23 case studies, together with a summary of the advantages, disadvantages, and lessons learned for each pattern from the case studies. Finally, we mapped the existing microservices-specific techniques in order to understand how to continuously deliver value in a DevOps pipeline. We depicted the current research, reporting gaps and trends.

Conclusion: Different patterns emerge for different migration, orchestration, storage and deployment settings. The results also show the lack of empirical work on microservices-specific techniques, especially for the release phase in DevOps.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Apache ZooKeeper: https://zookeeper.apache.org/

  2. Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  3. Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architects Perspective, 1st edn. Addison-Wesley Professional, Boston (2015)

    Google Scholar 

  4. Di Cosmo, R., Eiche, A., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic deployment of services in the cloud with aeolus blender. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 397–411. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48616-0_28

    Chapter  Google Scholar 

  5. ISO/IEC/IEEE 29119 Software Testing (2014). http://www.softwaretestingstandard.org/

  6. Jamshidi, P., Pahl, C., Mendonca, N.C.: Pattern-based multi-cloud architecture migration. Softw. Pract. Exp. 47(9), 1159–1184 (2017)

    Article  Google Scholar 

  7. Jamshidi, P., Pahl, C., Mendonca, N.C., Lewis, J., Tilkov, S.: Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)

    Article  Google Scholar 

  8. Kitchenham, B., Charters, S.: Guidelines for Performing Systematic Literature Reviews in Software Engineering (2007)

    Google Scholar 

  9. Kitchenham, B., Brereton, P.: A systematic review of systematic review process research in software engineering. Inf. Softw. Technol. 55(12), 2049–2075 (2013)

    Article  Google Scholar 

  10. Lewis, J., Fowler, M.: MicroServices (2014). www.martinfowler.com/articles/microservices.html

  11. Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: International Conference on Cloud Computing and Services Science (2016)

    Google Scholar 

  12. Pahl, C., Jamshidi, P., Zimmermann, O.: Architectural principles for cloud software. ACM Trans. Internet Technol. 18(2), 17 (2018)

    Article  Google Scholar 

  13. Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M.: Systematic mapping studies in software engineering. In: EASE (2008)

    Google Scholar 

  14. Richardson, C.: Decomposing Applications for Deployability and Scalability, Microservices (2014). https://www.infoq.com/articles/microservices-intro

  15. Taibi, D., Lenarduzzi, V., Pahl, C.: Processes, motivations, and issues for migrating to microservices architectures: an empirical investigation. IEEE Cloud Comput. 4(5), 22–32 (2017)

    Article  Google Scholar 

  16. Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: International Conference on Cloud Computing and Services Science, pp. 221–232 (2018)

    Google Scholar 

  17. Taibi, D., Lenarduzzi, V.: On the definition of microservices bad architectural smells. IEEE Softw. 35(3), 56–62 (2018)

    Article  Google Scholar 

  18. Taibi, D., Systä, K.: From monolithic systems to microservices: a decomposition framework based on process mining. In: 8th International Conference on Cloud Computing and Services Science, CLOSER (2019)

    Google Scholar 

  19. Wohlin, C.: Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: EASE 2014 (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Davide Taibi , Valentina Lenarduzzi or Claus Pahl .

Editor information

Editors and Affiliations

A The Selected Studies

A The Selected Studies

  • [S1] Lewis, J. and Fowler, M. 2014. Microservices.

    http://martinfowler.com/articles/microservices.html.

  • [S2] Richardson, C. 2014. Microservice Architecture http://microservices.io.

  • [S3] Namiot, D. and Sneps-Sneppe, M. 2014. On micro-services architecture. International Journal of Open Information Technologies V.2(9).

  • [S4] Vianden, M., Lichter, H. and Steffens, A. 2014. Experience on a Microservice-Based Reference Architecture for Measurement Systems. Asia-Pacific Software Engineering Conference.

  • [S5] Anwar, A., Sailer, A., Kochut, A., Butt, A. 2015. Anatomy of Cloud Monitoring and Metering: A Case Study and Open Problems. Asia-Pacific Workshop on Systems.

  • [S6] Patanjali, S., Truninger, B., Harsh, P. and Bohnert, T. M. 2015. CYCLOPS: A micro service based approach for dynamic rating, charging & billing for cloud. Conference on Telecommunications.

  • [S7] Toffetti, G., Brunner, S., Blöchlinger, M., Dudouet, F. and Edmonds. A. 2015. Architecture for Self-managing Microservices. Int. Workshop on Automated Incident Mgmt in Cloud.

  • [S8] Chen, H.M., Kazman, R., Haziyev, S.,Kropov, V. and Chtchourov, D. 2015. Architectural Support for DevOps in a Neo-Metropolis BDaaS Platform. Symp. on Reliable Distr Syst Workshop.

  • [S9] Stubbs, J., Moreira, W. and Dooley, R. 2015. Distributed Systems of Microservices Using Docker and Serfnode. Int. Workshop on Science Gateways.

  • [S10] Abdelbaky, M., Diaz-Montes, J., Parashar, M., Unuvar, M. and Steinder, M. 2015. Docker containers across multiple clouds and data center. Utility and Cloud Computing Conference.

  • [S11] Villamizar, M., Garcas, O., Castro, H. et al. 2015. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. Computing Colombian Conference

  • [S12] Alpers, S., Becker, C., Oberweis, A. and Schuster, T. 2015. Microservice Based Tool Support for Business Process Modelling. Enterprise Distributed Object Computing Workshop.

  • [S13] Le, V.D., Neff, M.M., Stewart,R.V., Kelley, R., Fritzinger, E., Dascalu, S.M. and Harris, F.C. 2015. Microservice-based architecture for the NRDC. Industrial Informatics Conference.

  • [S14] Malavalli, D. and Sathappan, S. 2015. Scalable Microservice Based Architecture for Enabling DMTF Profiles. Int. Conf. on Network and Service Management.

  • [S15] Viennot, N., Mathias, M. Lécuyer, Bell, J., Geambasu, R. and Nieh, J. 2015. Synapse: A Microservices Architecture for Heterogeneous-database Web Applications. European Conf. on Computer Systems.

  • [S16] Versteden, A., Pauwels, E. and Papantoniou, A. 2015. An ecosystem of user-facing microservices supported by semantic models. International USEWOD Workshop.

  • [S17] Rahman, M. and Gao, J. 2015. A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development. Service-Oriented System Engineering Symp.

  • [S18] Rahman, M., Chen, Z. and Gao, J. 2015. A Service Framework for Parallel Test Execution on a Developer’s Local Development Workstation. Service-Oriented System Engineering Symp.

  • [S19] Rajagopalan, S. and Jamjoom, H. 2015. App-Bisect: Autonomous Healing for Microservice-based Apps. USENIX Conference on Hot Topics in Cloud Computing.

  • [S20] Meink, K. and Nycander, P. 2015. Learning-based testing of distributed microservice architectures: Correctness and fault injection”. Software Engineering and Formal Methods workshop.

  • [S21] Bak, P., Melamed, R., Moshkovich, D., Nardi, Y., Ship, H., Yaeli, A. 2015. Location and Context-Based Microservices for Mobile and Internet of Things Workloads. Conference Mobile Services.

  • [S22] Savchenko, D. and Rodchenko, G. 2015. Microservices validation: Methodology and implementation. Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists.

  • [S23] Gadea, C., Trifan, M., Ionescu, D., Ionescu, B. 2016. A Reference Architecture for Real-time Microservice API Consumption. Workshop on CrossCloud Infrastructures & Platforms.

  • [S24] Messina, A., Rizzo, R., Storniolo, P., Urso, A. 2016. A Simplified Database Pattern for the Microservice Architecture. Adv. in Databases, Knowledge, and Data Applications.

  • [S25] Potvin, P., Nabaee, M., Labeau, F., Nguyen, K. and Cheriet, M. 2016. Micro service cloud computing pattern for next generation networks. EAI International Summit.

  • [S26] Messina, A., Rizzo, R., Storniolo, P., Tripiciano, M. and Urso, A. 2016. The database-is-the-service pattern for microservice architectures. Information Technologies in Bio-and Medical Informatics conference.

  • [S27] Leymann, F., Fehling, C., Wagner, S., Wettinger, J. 2016. Native cloud applications why virtual machines, images and containers miss the point. Cloud Comp and Service Science conference.

  • [S28] Killalea, T. 2016. The Hidden Dividends of Microservices. Communications of the ACM. V.59(8), pp. 42-45.

  • [S29] M. Gysel, L. Kölbener, W. Giersche, O. Zimmermann. “Service cutter: A systematic approach to service decomposition”. European Confeence on Service-Oriented and Cloud Computing.

  • [S30] Guo, D., Wang, W., Zeng,G. and Wei, Z. 2016. Microservices architecture based cloudware deployment platform for service computing. Symposyum on Service-Oriented System Engineering. 2016.

  • [S31] Gabbrielli, M., Giallorenzo, S., Guidi, C., Mauro, J. and Montesi, F. 2016. Self-Reconfiguring Microservices”. Theory and Practice of Formal Methods.

  • [S32] Gadea, M., Trifan, D. Ionescu, et al. 2016. A microservices architecture for collaborative document editing enhanced with face recognition. SAC.

  • [S33] Vresk, T. and Cavrak, I. 2016. Architecture of an interoperable IoT platform based on microservices. Information and Communication Technology, Electronics and Microelectronics Conference.

  • [S34] Scarborough, W., Arnold, C. and Dahan, M. 2016. Case Study: Microservice Evolution and Software Lifecycle of the XSEDE User Portal API. Conference on Diversity, Big Data & Science at Scale.

  • [S35] Kewley, R., Keste, N. and McDonnell, J. 2016. DEVS Distributed Modeling Framework: A Parallel DEVS Implementation via Microservices. Symposium on Theory of Modeling & Simulation.

  • [S36] O’Connor, R., Elger, P., Clarke, P., Paul, M. 2016. Exploring the impact of situational context - A case study of a software development process for a microservices architecture. International Conference on Software and System Processes.

  • [S37] Jaramillo, D., Nguyen, D. V. and Smart, R. 2016. Leveraging microservices architecture by using Docker technology SoutheastCon.

  • [S38] Balalaie, A., Heydarnoori, A. and Jamshidi, P. 2015. Migrating to Cloud-Native architectures using microservices: An experience report. European Conference on Service-Oriented and Cloud Computing.

  • [S39] Lin, J. Lin, L.C. and Huang, S. 2016. Migrating web applications to clouds with microservice architectures. Conference on Applied System Innovation.

  • [S40] Xu,C., Zhu, H., Bayley, I., Lightfoot, D., Green, M. and Marshall P. 2016. CAOPLE: A programming language for microservices SaaS. Symp. on Service-Oriented System Engineering.

  • [S41] Amaral, M., Polo, J., Carrera, D., et al. 2015. Performance evaluation of microservices architectures using containers. Int. Symp. on Network Computing and Applications.

  • [S42] Heorhiadi, V., Rajagopalan, S., Jamjoom, H., Reiter, M.K., and Sekar, V. 2016. Gremlin: Systematic Resilience Testing of Microservices. International Conference on Distributed Computing Systems.

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Taibi, D., Lenarduzzi, V., Pahl, C. (2019). Continuous Architecting with Microservices and DevOps: A Systematic Mapping Study. In: Muñoz, V., Ferguson, D., Helfert, M., Pahl, C. (eds) Cloud Computing and Services Science. CLOSER 2018. Communications in Computer and Information Science, vol 1073. Springer, Cham. https://doi.org/10.1007/978-3-030-29193-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-29193-8_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-29192-1

  • Online ISBN: 978-3-030-29193-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics