Advertisement

Continuous Architecting with Microservices and DevOps: A Systematic Mapping Study

  • Davide TaibiEmail author
  • Valentina LenarduzziEmail author
  • Claus PahlEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1073)

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.

Keywords

Cloud-native Microservice DevOps Migration Orchestration 

References

  1. 1.
  2. 2.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)CrossRefGoogle Scholar
  3. 3.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architects Perspective, 1st edn. Addison-Wesley Professional, Boston (2015)Google Scholar
  4. 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_28CrossRefGoogle Scholar
  5. 5.
    ISO/IEC/IEEE 29119 Software Testing (2014). http://www.softwaretestingstandard.org/
  6. 6.
    Jamshidi, P., Pahl, C., Mendonca, N.C.: Pattern-based multi-cloud architecture migration. Softw. Pract. Exp. 47(9), 1159–1184 (2017) CrossRefGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 8.
    Kitchenham, B., Charters, S.: Guidelines for Performing Systematic Literature Reviews in Software Engineering (2007)Google Scholar
  9. 9.
    Kitchenham, B., Brereton, P.: A systematic review of systematic review process research in software engineering. Inf. Softw. Technol. 55(12), 2049–2075 (2013)CrossRefGoogle Scholar
  10. 10.
    Lewis, J., Fowler, M.: MicroServices (2014). www.martinfowler.com/articles/microservices.html
  11. 11.
    Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: International Conference on Cloud Computing and Services Science (2016)Google Scholar
  12. 12.
    Pahl, C., Jamshidi, P., Zimmermann, O.: Architectural principles for cloud software. ACM Trans. Internet Technol. 18(2), 17 (2018)CrossRefGoogle Scholar
  13. 13.
    Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M.: Systematic mapping studies in software engineering. In: EASE (2008)Google Scholar
  14. 14.
    Richardson, C.: Decomposing Applications for Deployability and Scalability, Microservices (2014). https://www.infoq.com/articles/microservices-intro
  15. 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)CrossRefGoogle Scholar
  16. 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. 17.
    Taibi, D., Lenarduzzi, V.: On the definition of microservices bad architectural smells. IEEE Softw. 35(3), 56–62 (2018)CrossRefGoogle Scholar
  18. 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. 19.
    Wohlin, C.: Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: EASE 2014 (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Tampere UniversityTampereFinland
  2. 2.Free University of Bozen-BolzanoBolzanoItaly

Personalised recommendations