16+
DOI: 10.18413/2518-1092-2024-9-3-0-5

ПОСТРОЕНИЕ МОДЕЛИ РАСЧЕТА ВРЕМЕНИ ВЫПУСКА ДОРАБОТОК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОСЛЕ ВНЕДРЕНИЯ СИСТЕМЫ УПРАВЛЕНИЯ РЕЛИЗНЫМ ЦИКЛОМ

Aннотация

В работе предложена математическая модель по расчету времени выпуска нового релиза ПО. Данная модель позволяет оценить разницу до внедрения автоматизированной системы релизного цикла и после. Актуальность предложенной методики обусловлена возможностью ее применения к задаче оценки эффективности информационного комплекса, автоматизируемого процесс релизного цикла.

Объектом исследования является информационный департамент банка, предметом автоматизации – процесс оценки времени выпуска доработок программного обеспечения.

Целью работы является построение модели расчета времени выпуска программных доработок после внедрения системы управления релизным циклом, обеспечивающей регулярное, быстрое и стабильное внедрение новых версий программного обеспечения. Для достижения поставленной цели в рамках работы спроектировано архитектурное решение системы, автоматизирующей процесс релизного цикла; смоделирован новый процесс взаимодействия персонала после внедрения системы релизного цикла; разработан конвейер автоматической доставки ПО в промышленную среду и процесс автоматической упаковки ПО в контейнеры; построена математическая модель расчета времени выпуска доработок программного обеспечения после системы управления релизным циклом.

Для решения перечисленных задач использовалась система Gitlab класса CI/CD, предоставляющая возможность автоматически собирать контейнеры и деплоить их в окружения, и система Deckhouse для оркестровки контейнеров.


К сожалению, текст статьи доступен только на Английском

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)

Список литературы

  1. Баранов С.Н. Метрическое обеспечение программных разработок / С.Н. Баранов, А.М. Тележкин // Труды СПИИРАН. – 2014. – № 5(36). – С. 5-27. – EDN TELOAV.
  2. Голицына О. Л. Информационные системы: учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. — 2-e изд. — Москва: ФОРУМ: ИНФРА-М, 2022. — 448 с.: ил. — (Высшее образование).
  3. Григорьев Д.Ю. Автоматизация разработки программного обеспечения при помощи методологии CI/CD / Д.Ю. Григорьев, Н.В. Гайдук // Информационное общество: современное состояние и перспективы развития: Сборник материалов XIV международного форума, Краснодар, 12–17 июля 2021 года. – Краснодар: Кубанский государственный аграрный университет имени И.Т. Трубилина, 2021. – С. 110-113. – EDN LWXQPX.
  4. Игорихина Е.В. Гибкие методологии разработки программного обеспечения / Е.В. Игорихина, О.В. Михайлова // Ломоносовские чтения на Алтае: фундаментальные проблемы науки и образования: избранные труды международной конференции, Барнаул, 14–17 ноября 2017 года / Алтайский государственный университет. Том Часть 1. – Барнаул: Алтайский государственный университет, 2017. – С. 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. Осипова Е.Е. Проблемы внедрения гибких методологий разработки в ИТ-компанию / Е.Е. Осипова, В.В. Жуков // Естествознание и технические науки: глобальные вызовы, тренды, возможности: сборник научных трудов по материалам Международной научно-практической конференции, Белгород, 30 мая 2019 года / Агентство перспективных научных исследований (АПНИ). – Белгород: Общество с ограниченной ответственностью "Агентство перспективных научных исследований", 2019. – С. 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. Херинг М. DevOps для современного предприятия: методическое пособие / М. Херинг; пер. с анг. М. А. Райтмана. - Москва: ДМК Пресс, 2020. - 232 с.
  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 p.
  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 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 Manajemen, Teknik Informatika dan Rekayasa Komputer. – 2022. – Vol. 22, No. 1. – P. 201-214. – DOI 10.30812/matrik.v22i1.2471. – EDN UXLFWV.
  13. Косенков В.В. Сравнительный анализ инфраструктурных инструментов Infrastructure As Code / В.В. Косенков, А.В. Елфимов // Современные стратегии и цифровые трансформации устойчивого развития общества, образования и науки: Сборник материалов VI Международной научно-практической конференции, Москва, 10 февраля 2023 года. – Москва: Общество с ограниченной ответственностью "Издательство АЛЕФ", 2023. – С. 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. Свидетельство о государственной регистрации программы для ЭВМ № 2022661210 Российская Федерация. Deckhouse Kubernetes Platform: № 2022612892: заявл. 04.03.2022: опубл. 17.06.2022 / Д.О. Столяров, П.С. Головин, А.Г. Кладов [и др.]; заявитель Акционерное общество "Флант". – EDN JPVZDR.
  19. Сальков А.А. Сравнение Kubernetes-платформы Deckhouse с Vanilla Kubernetes / А.А. Сальков, Н.Н. Лытнев, А.М. Кумратова // Информационное общество: современное состояние и перспективы развития: Сборник материалов XV международного форума, Краснодар, 10–14 июля 2023 года. – Краснодар: Кубанский государственный аграрный университет имени И.Т. Трубилина, 2023. – С. 268-270. – EDN ITYFMR.
  20. Сергеева А.С. Управление релизами при доработке IT-продуктов / А.С. Сергеева, Л.Г. Ахметшина // Самоуправление. – 2020. – № 4(121). – С. 458-461. – EDN NKDVGW.
  21. Big O notation: [сайт]. URL: https://en.wikipedia.org/wiki/Big_O_notation