Nothing Special   »   [go: up one dir, main page]

Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14590))

Included in the following conference series:

  • 207 Accesses

Abstract

The DevOps tool and technology landscape is large and complex. According to the CNCF Landscape, there are about 1196 Tools grouped into five categories, and 20 sub-categories. While CNCF also provides guidelines for each main category, patterns for DevOps are not covered. In this Rapid Review, we collect patterns that can be used for DevOps and map them onto the phases of the DevOps cycle for a better overview of when to use which pattern. In our primary search, we initially identified 193 papers, out of which we eventually selected eight for pattern extraction. We detected 52 patterns, which we grouped into seven categories. Moreover, we mapped these categories onto the phases of the DevOps cycle. We find that in each phase, at least one category maps. Furthermore, there is a near even distribution from patterns onto the phases except for one phase, to which only a single pattern could be mapped. Finally, we investigate whether the patterns can be flawlessly combined and which patterns are needed to provide a minimal technology stack to support the usage of DevOps. We also introduce a concrete sample stack for a simple scenario.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.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

Notes

  1. 1.

    https://landscape.cncf.io/.

  2. 2.

    https://arxiv.org/.

References

  1. Agrawal, P., Rawat, N.: DevOps, a new approach to cloud development & testing. In: 2019 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), vol. 1, pp. 1–4 (2019). https://doi.org/10.1109/ICICT46931.2019.8977662

  2. Akbar, M.A., Rafi, S., Alsanad, A.A.-A., Qadri, S.F., Alsanad, A., Alothaim, A.: Toward successful DevOps: a decision-making framework. IEEE Access 10, 51343–51362 (2022). https://doi.org/10.1109/ACCESS.2022.3174094

  3. Amaro, R., Pereira, R., da Silva, M.M.: Capabilities and practices in devops: a multivocal literature review. IEEE Trans. Softw. Eng. 49(2), 883–901 (2023). https://doi.org/10.1109/TSE.2022.3166626

  4. Azad, N., Hyrynsalmi, S.: DevOps critical success factors – a systematic literature review. Inf. Softw. Technol. 157, 107150 (2023). https://doi.org/10.1016/j.infsof.2023.107150

  5. Badshah, S., Khan, A.A., Khan, B.: Towards process improvement in DevOps: a systematic literature review. In: Li, J., Jaccheri, L., Dingsøyr, T., Chitchyan, R. (eds.) EASE ’20: Evaluation and Assessment in Software Engineering, Trondheim, Norway, 15–17 April 2020, pp. 427–433. ACM (2020). https://doi.org/10.1145/3383219.3383280

  6. Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D.A., Lynn, T.: Microservices migration patterns. Softw. Pract. Exp. 48(11), 2019–2042 (2018). https://doi.org/10.1002/spe.2608

  7. Brown, K., Woolf, B.: Implementation patterns for microservices architectures. In: Proceedings of the 23rd Conference on Pattern Languages of Programs. PLoP ’16. The Hillside Group, USA (2016)

    Google Scholar 

  8. Bucena, I., Kirikova, M.: Simplifying the DevOps adoption process. In: BIR Workshops (2017). https://api.semanticscholar.org/CorpusID:10430574

  9. Buchanan, I.: History of DevOps. https://www.atlassian.com/devops/what-is-devops/history-of-devops. Accessed 11 Mar 2024

  10. Cartaxo, B., Pinto, G., Soares, S.: Rapid reviews in software engineering. In: Felderer, M., Travassos, G.H. (eds.) Contemporary Empirical Methods in Software Engineering, pp. 357–384. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-32489-6_13

    Chapter  Google Scholar 

  11. Copei, S., Kosiol, J.: Research Protocol for “DevOps Patterns: A Systematic Literature Review”, December 2023. https://doi.org/10.5281/zenodo.10224501

  12. Debois, P.: Patrick Debois – Speaker Bio. https://www.jedi.be/bio/. Accessed 11 Mar 2024

  13. Erich, F.M.A., Amrit, C., Daneva, M.: A qualitative study of DevOps usage in practice. J. Softw. Evol. Process. 29(6), e1885 (2017). https://doi.org/10.1002/smr.1885

  14. Faustino, J.P., Adriano, D., Amaro, R., Pereira, R., da Silva, M.M.: DevOps benefits: a systematic literature review. Softw. Pract. Exp. 52(9), 1905–1926 (2022). https://doi.org/10.1002/spe.3096

  15. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)

    Google Scholar 

  16. Gokarna, M., Singh, R.: DevOps: a historical review and future works. In: 2021 International Conference on Computing, Communication, and Intelligent Systems (ICCCIS), pp. 366–371 (2021). https://doi.org/10.1109/ICCCIS51004.2021.9397235

  17. Jabbari, R., bin Ali, N., Petersen, K., Tanveer, B.: What is DevOps? A systematic mapping study on definitions and practices. In: Proceedings of the Scientific Workshop Proceedings of XP2016. XP ’16 Workshops, New York, NY, USA. Association for Computing Machinery (2016). https://doi.org/10.1145/2962695.2962707

  18. Khan, M.S., Khan, A.W., Khan, F., Khan, M.A., Whangbo, T.K.: Critical challenges to adopt DevOps culture in software organizations: a systematic review. IEEE Access 10, 14339–14349 (2022). https://doi.org/10.1109/ACCESS.2022.3145970

  19. Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering (2007). https://www.elsevier.com/__data/promis_misc/525444systematicreviewsguide.pdf

  20. Lazuardi, M., Raharjo, T., Hardian, B., Simanungkalit, T.: Perceived benefits of DevOps implementation in organization: a systematic literature review. In: ICSIE 2021: 10th International Conference on Software and Information Engineering, Cairo, Egypt, 12–14 November 2021, pp. 10–16. ACM (2021). https://doi.org/10.1145/3512716.3512718

  21. Leite, L.A.F., Rocha, C., Kon, F., Milojicic, D.S., Meirelles, P.: A survey of DevOps concepts and challenges. ACM Comput. Surv. 52(6), 127:1–127:35 (2020). https://doi.org/10.1145/3359981

  22. Leppänen, T., Honkaranta, A., Costin, A.: Trends for the DevOps security. A systematic literature review. In: Shishkov, B. (ed.) BMSD 2022. LNBIP, vol. 453, pp. 200–217. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-11510-3_12

    Chapter  Google Scholar 

  23. Lie, M.F., Sánchez-Gordón, M., Palacios, R.C.: DevOps in an ISO 13485 regulated environment: a multivocal literature review. In: Baldassarre, M.T., Lanubile, F., Kalinowski, M., Sarro, F. (eds.) ESEM ’20: ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Bari, Italy, 5–7 October 2020, pp. 9:1–9:11. ACM (2020). https://doi.org/10.1145/3382494.3410679

  24. Meszaros, G.: A pattern language for pattern writing. https://hillside.net/index.php/a-pattern-language-for-pattern-writing. Accessed 11 Mar 2024

  25. Márquez, G., Astudillo, H.: Actual use of architectural patterns in microservices-based open source projects. In: 2018 25th Asia-Pacific Software Engineering Conference (APSEC), pp. 31–40 (2018). https://doi.org/10.1109/APSEC.2018.00017

  26. Odazie, D., Iheanacho, A.: A Brief History of DevOps and Its Impact on Software Development (2023). https://everythingdevops.dev/a-brief-history-of-devops-and-its-impact-on-software-development/. Accessed 11 Mar 2024

  27. Pavlenko, A., Askarbekuly, N., Megha, S., Mazzara, M.: Micro-frontends: application of microservices to web front-ends. J. Internet Serv. Inf. Secur. 10(2), 49–66 (2020)

    Google Scholar 

  28. Plant, O.H., van Hillegersberg, J., Aldea, A.: How DevOps capabilities leverage firm competitive advantage: a systematic review of empirical evidence. In: Almeida, J.P.A., Bork, D., Guizzardi, G., Montali, M., Proper, H.A., Sales, T.P. (eds.) 23rd IEEE Conference on Business Informatics. CBI 2021, Bolzano, Italy, 1–3 September 2021, vol. 1, pp. 141–150. IEEE (2021). https://doi.org/10.1109/CBI52690.2021.00025

  29. Rafi, S., Wu, Y., Akbar, M.A.: RMDevOps: a road map for improvement in DevOps activities in context of software organizations. In: Li, J., Jaccheri, L., Dingsøyr, T., Chitchyan, R. (eds.) EASE ’20: Evaluation and Assessment in Software Engineering, Trondheim, Norway, 15–17 April 2020, pp. 413–418. ACM (2020). https://doi.org/10.1145/3383219.3383278

  30. Rosilier, A., Demir, M.A., Prevost, J.J.: Automated consulting for cloud native architectures. In: 2022 17th Annual System of Systems Engineering Conference (SOSE), pp. 472–477 (2022). https://doi.org/10.1109/SOSE55472.2022.9812695

  31. Rzig, D.E., Hassan, F., Kessentini, M.: An empirical study on ML DevOps adoption trends, efforts, and benefits analysis. Inf. Softw. Technol. 152, 107037 (2022). https://doi.org/10.1016/j.infsof.2022.107037

  32. Sousa, T.B., Correia, F.F., Ferreira, H.S.: Patterns for software orchestration on the cloud. In: Proceedings of the 22nd Conference on Pattern Languages of Programs. PLoP ’15. The Hillside Group, USA (2015)

    Google Scholar 

  33. Sousa, T.B., Ferreira, H.S., Correia, F.F.: Overview of a pattern language for engineering software for the cloud. In: Proceedings of the 25th Conference on Pattern Languages of Programs. PLoP ’18. The Hillside Group, USA (2020)

    Google Scholar 

  34. Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: Muñoz, V.M., Ferguson, D., Helfert, M., Pahl, C. (eds.) Proceedings of the 8th International Conference on Cloud Computing and Services Science. CLOSER 2018, Funchal, Madeira, Portugal, 19–21 March 2018, pp. 221–232. SciTePress (2018). https://doi.org/10.5220/0006798302210232

  35. Theunissen, T., Van Heesch, U.: Specification in continuous software development. In: Proceedings of the 22nd European Conference on Pattern Languages of Programs. EuroPLoP ’17. Association for Computing Machinery, New York, NY, USA (2017). https://doi.org/10.1145/3147704.3147709

  36. Waseem, M., Liang, P., Shahin, M.: A systematic mapping study on microservices architecture in DevOps. J. Syst. Softw. 170, 110798 (2020). https://doi.org/10.1016/j.jss.2020.110798

  37. Wellhausen, T., Fiesser, A.: How to write a pattern? A rough guide for first-time pattern authors. In: Proceedings of the 16th European Conference on Pattern Languages of Programs. EuroPLoP ’11. Association for Computing Machinery, New York, NY, USA (2011). https://doi.org/10.1145/2396716.2396721

  38. Zhang, C., Budgen, D.: What do we know about the effectiveness of software design patterns? IEEE Trans. Softw. Eng. 38(5), 1213–1231 (2012). https://doi.org/10.1109/TSE.2011.79

Download references

Acknowledgements

We are very thankful for the constructive criticism of the anonymous reviewers that helped us to considerably improve the presentation of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sebastian Copei .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Copei, S., Kosiol, J. (2024). DevOps Patterns: A Rapid Review. In: Tekinerdoğan, B., Spalazzese, R., Sözer, H., Bonfanti, S., Weyns, D. (eds) Software Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium. ECSA 2023. Lecture Notes in Computer Science, vol 14590. Springer, Cham. https://doi.org/10.1007/978-3-031-66326-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-66326-0_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-66325-3

  • Online ISBN: 978-3-031-66326-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics