BUILDING A MODEL FOR CALCULATING THE RELEASE TIME OF SOFTWARE IMPROVEMENTS AFTER THE IMPLEMENTATION OF THE RELEASE CYCLE MANAGEMENT SYSTEM
Abstract
The paper proposes a mathematical model for calculating the release time of a new software release. This model allows you to evaluate the difference between the operation of a production system during the release cycle and after it. The relevance of the proposed methodology determines the need for its application to the problem of assessing the effectiveness of an information complex and an automated release process cycle.
The object of the study is the information department of the bank, ensuring automation - the process of estimating the release time of software improvements.
The goal of the work is to build a model for calculating the release time of software improvements after the implementation of a release cycle management system, ensuring regular, fast and stable implementation of new software versions. To achieve this goal, within the framework of the work, an architectural solution for a system that automates the release cycle process was designed; a new process of personnel interaction was modeled after the implementation of the release cycle system; a pipeline for automatic delivery of software to an industrial environment and a process for automatic packaging of software into containers have been developed; a mathematical model was built to calculate the release time of software improvements after the release cycle management system.
To solve these problems, we used the Gitlab CI/CD class system, which provides the ability to automatically assemble containers and deploy them into environments, and the Deckhouse system for container orchestration.
Keywords: agile development methodologies, DevOps, Infrastructure as Code (IaC), automatic release cycle, software reproducibility, software release timing, software release cycle management
Table 1
List of key problems of a typical architecture (compiled by the author)
№ | Problematic | Suggestions for troubleshooting the problem | Advantages of the proposed solution |
1 | Developers have to spend their time setting up the environment for a new software release: connect to the servers provided to them, transfer code from the repository, build it, and install dependencies [14]. | Closer interaction between the development and administration teams. Creating a single pipeline for assembly | Cost reduction for the development team. On-line change tracking for the admin team |
2 | When configuring an industrial environment, it may be found that the settings for the health of the release from the test environments have not been documented [12], [13]. | Using IaC (Infrastructure as code), a single declarative description of the desired state of the system | Centralized management and modification of server configurations, obtaining the same result on all systems |
3 | The difference between test and industrial server environments, which creates difficulties in administration and the assembly of software images for each architecture [16]. | Using containerization technologies [17]. | Reduction of the number of assembly packages, accelerated image delivery. |
4 | The complexity of managing interconnected software components [15]. | Using container orchestration technologies. | Description of the interrelationships of components as IaC. Managing system deployment through configuration |
Table 2
Comparative analysis of container orchestration systems (compiled by the author)
№ | Criteria | Docker Swarm | Openshift | Deckhouse | K8s [19] |
1. | Easy to install | Corresponds | Частично соответствует | Corresponds | Does not correspond |
2. | Интуитивно понятный пользовательский интерфейс | Частично соответствует | Частично соответствует | Corresponds | Does not correspond |
3. | Easy maintenance | Partially corresponds | Corresponds | Partially corresponds | Partially corresponds |
4. | Bare metal. The ability to install directly on the hardware platform. | Corresponds | Corresponds | Corresponds | Corresponds |
5. | Automatic load balancing | Does not correspond | Corresponds | Corresponds | Corresponds |
6. | The ability to configure centralized auditing in third-party systems | Partially corresponds | Corresponds | Corresponds | Partially corresponds |
7. | Automatic software updates in the cluster and the availability of version control | Does not correspond | Corresponds | Corresponds | Corresponds |
8. | Support for Russian operating systems | Does not correspond | Does not correspond | Corresponds | Does not correspond |
9. | Integration with CI/CD solutions | Partially corresponds | Corresponds | Corresponds | Corresponds |
Table 3
Comparative analysis of CI/CD systems (compiled by the author)
№ | Criteria | Gitlab | Jenkins | TeamCity | Bamboo |
1. | Easy to install | Corresponds | Partially corresponds | Corresponds | Corresponds |
2. | Intuitive user interface | Corresponds | Partially corresponds | Corresponds | Does not correspond |
3. | Easy maintenance | Partially corresponds | Does not correspond | Partially corresponds | Corresponds |
4. | Automatic load balancing | Partially corresponds | Partially corresponds | Partially corresponds | Partially corresponds |
5. | The ability to configure centralized auditing in third-party systems | Corresponds | Corresponds | Corresponds | Partially corresponds |
6. | Support for Russian operating systems | Does not correspond | Does not correspond | Corresponds | Does not correspond |
7. | Integration with versioning solutions | Corresponds | Partially corresponds | Partially corresponds | Partially corresponds |
Fig. 1. Conceptual design of the system (compiled by the author)
Fig. 2. The scheme of Deckhouse operation (compiled by the author)
Fig. 3. Product development speed chart before and after system installation. (compiled by the author)
Reference lists
1. Baranov S.N. Metric support of software developments / S.N. Baranov, A.M. Telezhkin // Proceedings of SPIIRAS. - 2014. - No. 5 (36). - P. 5-27. - EDN TELOAV.
2. Golitsyna O.L. Information systems: a tutorial / O.L. Golitsyna, N.V. Maksimov, I.I. Popov. - 2nd ed. - Moscow: FORUM: INFRA-M, 2022. - 448 p.: ill. - (Higher education).
3. Grigoriev D.Yu. Automation of software development using the CI/CD methodology / D.Yu. Grigoriev, N.V. Gaiduk // Information society: current state and development prospects: Collection of materials of the XIV international forum, Krasnodar, July 12-17, 2021. - Krasnodar: Kuban State Agrarian University named after I.T. Trubilin, 2021. - P. 110-113. - EDN LWXQPX.
4. Igorikhina E.V. Flexible methodologies for software development / E.V. Igorikhina, O.V. Mikhailova // Lomonosov readings in Altai: fundamental problems of science and education: selected proceedings of the international conference, Barnaul, November 14-17, 2017 / Altai State University. Volume Part 1. – Barnaul: Altai State University, 2017. – P. 232-237. – EDN YPTRBL.
5. Quattrocchi G. Infrastructure as Code / G. Quattrocchi, D.A. Tamburri // IEEE Software. – 2023. – Vol. 40, No. 1. – P. 37-40. – DOI 10.1109/ms.2022.3212034. – EDN YRDJTS.
6. Osipova E.E. Problems of implementing flexible development methodologies in an IT company / E.E. Osipova, V.V. Zhukov // Natural Science and Engineering: Global Challenges, Trends, Opportunities: Collection of Scientific Papers Based on the Materials of the International Scientific and Practical Conference, Belgorod, May 30, 2019 / Agency for Advanced Scientific Research (APNI). – Belgorod: Limited Liability Company "Agency for Advanced Scientific Research", 2019. – P. 90-93. – EDN ICXVFD.
7. Artac M., Borovssak T., Di Nitto E., Guerriero M. Tamburri, D. ‘DevOps: Introducing Infrastructure-As-Code’. 2017 IEEE/ACM 39Th International Conference On Software Engineering Companion (ICSE-C).
8. Hering M. DevOps for the Modern Enterprise: A Methodological Handbook / M. Hering; trans. from English by M. A. Reitman. - Moscow: DMK Press, 2020. - 232 p.
9. Forsgren N. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations / IT Revolution Press; 1st edition (March 27, 2018) - 288 pages.
10. Rahman A., Parnin C., Williams L. ‘The Seven Sins: Security Smells in Infrastructure as Code Scripts’. IEEE/ACM 41st International Conference On Software Engineering (ICSE), 2019.
11. Jóźwiak I.J. Current infrastructure as a code automation trends in the context of cloud agnostic resource provisioning / I.J. Jóźwiak, P.P. Jóźwiak, K. Zatwarnicki // Scientific Papers of Silesian University of Technology Organization and Management Series. – 2023. – Vol. 2023, No. 186. – P. 167-183. – DOI 10.29119/1641-3466.2023.186.13. – EDN TLMVAE.
12. Infrastructure as Code for Security Automation and Network Infrastructure Monitoring / W.R.A. Putra, A.R.A. Nurwa, D.F. Priambodo, M. Hasbi // MATRIK: Jurnal Management, Teknik Informatika dan Rekayasa Komputer. – 2022. – Vol. 22, No. 1. – P. 201-214. – DOI 10.30812/matrik.v22i1.2471. – EDN UXLFWV.
13. Kosenkov V.V. Comparative analysis of Infrastructure As Code infrastructure tools / V.V. Kosenkov, A.V. Elfimov // Modern strategies and digital transformations of sustainable development of society, education and science: Collection of materials of the VI International scientific and practical conference, Moscow, February 10, 2023. – Moscow: Limited Liability Company "Izdatelstvo ALEF", 2023. – P. 81-86. – EDN CSIPEK.
14. Integration of Security Standards in DevOps Pipelines: An Industry Case Study / F. Moyón, R. Soares, M. Pinto-Albuquerque [et al.] // Lecture Notes in Computer Science. – 2020. – Vol. 12562 LNCS. – P. 434-452. – DOI 10.1007/978-3-030-64148-1_27. – EDN GQTKYQ.
15. Deployment and communication patterns in microservice architectures: A systematic literature review / I. Karabey Aksakalli, T. Çelik, A.B. Can, B. Teki Nerdoğan // Journal of Systems and Software. – 2021. – Vol. 180. – P. 111014. – DOI 10.1016/j.jss.2021.111014. – EDN XKZDNS.
16. Multi-objective microservice deployment optimization via a knowledge-driven evolutionary algorithm / W. Ma, R. Wang, Yu. Gu [et al.] // Complex and Intelligent Systems. – 2021. – Vol. 7, No. 3. – P. 1153-1171. – DOI 10.1007/s40747-020-00180-1. – EDN CLUAOB.
17. A container deployment strategy for server clusters with different resource types / M. Ouyang, J. Xi, W. Bai, K. Li // Concurrency Computation Practice and Experience. – 2023. – Vol. 35, No. 10. – DOI 10.1002/cpe.7665. – EDN THCQSF.
18. Certificate of state registration of computer program No. 2022661210 Russian Federation. Deckhouse Kubernetes Platform: No. 2022612892: declared 03/04/2022: published 06/17/2022 / D.O. Stolyarov, P.S. Golovin, A.G. Kladov [et al.]; applicant Joint-Stock Company "Flant". – EDN JPVZDR.
19. Salkov A.A. Comparison of the Deckhouse Kubernetes Platform with Vanilla Kubernetes / A.A. Salkov, N.N. Lytnev, A.M. Kumratova // Information Society: Current State and Development Prospects: Collection of Materials of the XV International Forum, Krasnodar, July 10-14, 2023. - Krasnodar: Kuban State Agrarian University named after I. T. Trubilin, 2023. - Pp. 268-270. - EDN ITYFMR.
20. Sergeeva A.S. Release Management in the Finalization of IT Products / A.S. Sergeeva, L.G. Akhmetshina // Self-Government. - 2020. - No. 4 (121). - Pp. 458-461. - EDN NKDVGW.
21. Big O notation: [website]. URL: https://en.wikipedia.org/wiki/Big_O_notation