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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
References
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
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
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
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
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
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
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)
Bucena, I., Kirikova, M.: Simplifying the DevOps adoption process. In: BIR Workshops (2017). https://api.semanticscholar.org/CorpusID:10430574
Buchanan, I.: History of DevOps. https://www.atlassian.com/devops/what-is-devops/history-of-devops. Accessed 11 Mar 2024
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
Copei, S., Kosiol, J.: Research Protocol for “DevOps Patterns: A Systematic Literature Review”, December 2023. https://doi.org/10.5281/zenodo.10224501
Debois, P.: Patrick Debois – Speaker Bio. https://www.jedi.be/bio/. Accessed 11 Mar 2024
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
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
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)
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
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
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
Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering (2007). https://www.elsevier.com/__data/promis_misc/525444systematicreviewsguide.pdf
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
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
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
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
Meszaros, G.: A pattern language for pattern writing. https://hillside.net/index.php/a-pattern-language-for-pattern-writing. Accessed 11 Mar 2024
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
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
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)
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
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
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
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
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)
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)
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
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
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
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)