Непрерывная интеграция функционального наполнения распределенных пакетов прикладных программ в Orlando Tools
https://doi.org/10.15514/ISPRAS-2019-31(2)-7
Аннотация
В статье представлен новый подход к решению важных практических проблем комплексной отладки, совместного тестирования и анализа времени выполнения версий программных модулей в распределенной вычислительной среде. Эти проблемы возникают в процессе поддержки непрерывной интеграции функционального наполнения (прикладного программного обеспечения) распределенных пакетов прикладных программ (научных приложений). Исследование ориентировано на пакеты, которые используются для проведения крупномасштабных экспериментов, осуществляемых в рамках междисциплинарных исследований, в гетерогенных распределенных вычислительных средах, интегрирующих Grid и облачные вычисления. Научная новизна предложенного подхода заключается в объединении методологии создания распределенных пакетов прикладных программ с современной практикой разработки программного обеспечения на основе его непрерывной интеграции с использованием знаний о специфике решаемых задач. Средства непрерывной интеграции, разрабатываемые в рамках предложенного подхода, существенно расширяют спектр ее возможностей применительно к процессам создания и использования таких пакетов в сравнении с известными инструментами. Фундаментальной основой их функционирования является концептуальная модель, в рамках которой осуществляется спецификация, планирование и выполнение процессов непрерывной интеграции прикладного программного обеспечения с привязкой к конкретным предметным данным и решаемым задачам. Использование разрабатываемых средств на практике ведет к снижению числа ошибок и сбоев прикладного программного обеспечения при разработке и применении пакетов, что, в свою очередь, существенно сокращает время проведения крупномасштабных вычислительных экспериментов и повышает эффективность использования ресурсов гетерогенной распределенной вычислительной среды. Результаты практических экспериментов по применению прототипа системы непрерывной интеграции прикладного программного обеспечения показывают его высокую эффективность.
Ключевые слова
Об авторах
Александр Геннадьевич ФеоктистовРоссия
Кандидат технических наук, доцент, ведущий научный сотрудник лаборатории параллельных и распределенных вычислительных систем
Сергей Алексеевич Горский
Россия
Кандидат технических наук, научный сотрудник Института динамики систем и теории управления
Иван Александрович Сидоров
Россия
Кандидат технических наук, научный сотрудник Института динамики систем и теории управления
Роман Олегович Костромин
Россия
Евгений Сергеевич Фереферов
Россия
Кандидат технических наук, учёный секретарь
Игорь Вячеславович Бычков
Россия
Доктор наук, профессор, академик РАН, директор
Список литературы
1. Il’in V.P., Skopin I.N. About performance and intellectuality of supercomputer modeling. Programming and Computer Software, vol. 42, no. 1, 2016, pp. 5-16.
2. Massobrio R., Nesmachnow S., Tchernykh A., Avetisyan A., Radchenko G. Towards a Cloud Computing Paradigm for Big Data Analysis in Smart Cities. Programming and Computer Software, vol. 44, no. 3, 2018, pp. 181-189.
3. Deelman E., Peterka T., Altintas I., Carothers C.D., van Dam K.K., Moreland K., Parashar M., Ramakrishnan L., Taufer M., Vetter J. The future of scientific workflows. The International Journal of High Performance Computing Applications, vol. 32, no. 1, 2018, pp. 159 175.
4. Krol M., Rene S., Ascigil O., Psaras I. ChainSoft: Collaborative Software Development using Smart Contracts. In Proc. of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems, 2018, pp. 1-6.
5. Sochat V. Containershare: Open Source Registry to build, test, deploy with CircleCI. The Journal of Open Source Software, vol. 3, no. 28, 2018, pp. 1-3.
6. Soni M., Berg A.M. Jenkins 2.x Continuous Integration Cookbook. Packt Publishing, 2017, 438 p.
7. Machiraju S., Gaurav S. Deployment via TeamCity and Octopus Deploy. In S. Machiraju, S. Gaurav. DevOps for Azure Applications. Apress, 2018, pp. 11-38.
8. Beller M., Gousios G., Zaidman A. Oops, My Tests Broke the Build: An Explorative Analysis of Travis CI with GitHub. In Proc, of the 14th International Conference on Mining Software Repositories, 2017, pp. 356-367.
9. Gruver G. Start and Scaling Devops in the Enterprise. BookBaby, 2016, 100 p.
10. Shahin M., Babar M.A., Zhu L. Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE Access, 2017, pp. 3909-3943.
11. Wolff E. A Practical Guide to Continuous Delivery. Addison-Wesley, 2017, 265 p.
12. CruiseControl.NET (online). Available at: http://sourceforge.net/projects/ccnet, accessed 10.12.2018.
13. Apache Gump (online). Available at: https://gump.apache.org, accessed 10.12.2018.
14. Conan C/C++ package manager (online). Available at: https://www.conan.io, accessed 10.12.2018.
15. BuildMaster (online). Available at: https://inedo.com/buildmaster, accessed 10.12.2018.
16. Heckel T. (2015) Meet Travis CI: Open Source Continuous Integration, InfoQ (online). Available at: https://www.infoq.com/news/2013/02/travis-ci, accessed 10.12.2018.
17. Chacon S., Straub B. Pro git. Apress, 2014, 419 p.
18. Barrett D., Silverman R., Byrnes R. SSH: The Secure Shell. O'Reilly, 2005, 672 p.
19. Blum R. Linux Command Line and Shell Scripting Bible, Wiley, 2017, 816 p.
20. Colvin H. VirtualBox: An Ultimate Guide Book on Virtualization with VirtualBox. CreateSpace Independent Publishing Platform, 2015, 70 p.
21. Крупин A. Обзор пакета Parallels Remote Application Server для виртуализации рабочих мест: все включено. 3DNews – Daily Digital Digest (online). Доступно по ссылке: https://3dnews.ru/931400, дата обращения 10.12.2018 / Krupin A. Overview of the Package Parallels Remote Application Server for Workplace Virtualization: All-inclusive, 3DNews – Daily Digital Digest, 2016. Available at: https://3dnews.ru/931400, accessed 10.12.2018 (In Russian).
22. Smith R. Docker Orchestration. Packt Publishing – ebooks Account, 2017, 284 p.
23. Luksa M. Kubernetes in Action. Manning Publications, 2018, 624 p.
24. Varlamov M.I., Turdakov D.Y. A survey of methods for the extraction of information from Web resources. Programming and Computer Software, vol. 42, no. 5, 2016, pp. 279 291.
25. Feoktistov A., Kostromin R., Sidorov I.A., Gorsky S.A. Development of Distributed Subject-Oriented Applications for Cloud Computing through the Integration of Conceptual and Modular Programming. In Proc. of the 41st International Convention on Information and Communication Technology, Electronics and Microelectronics, 2018, pp. 256-261.
26. JFrog Artifactory (online). Available at: https://jfrog.com/artifactory, accessed 10.12.2018.
27. Debian Package Tracking System – Advanced Packaging Tool (online). Available at: https://packages.qa.debian.org/a/apt.html, accessed 10.12.2018.
28. Yum Package Manager (online). Available at: http://yum.baseurl.org, accessed 10.12.2018.
29. Bychkov I.V., Oparin G.A., Tchernykh A.N., Feoktistov A.G., Gorsky S.A., Rivera-Rodriguez R. Scalable Application for Searching Global Minimum of Multiextremal Functions. Optoelectronics, Instrumentation and Data Processing, vol. 54, no. 1, 2018, pp. 83-89.
30. Tannenbaum T., Wright D., Miller K., Livny M. Condor – A Distributed Job Scheduler. In Beowulf Cluster Computing with Linux, The MIT Press, 2002, pp. 307-350.
31. Иркутский суперкомпьютерный центр СО РАН (online). Доступно по ссылке: http://hpc.icc.ru, дата обращения 10.12.2018 / Irkutsk Supercomputer center of SB RAS. Available at: http://hpc.icc.ru, accessed 10.12.2018.
Рецензия
Для цитирования:
Феоктистов А.Г., Горский С.А., Сидоров И.А., Костромин Р.О., Фереферов Е.С., Бычков И.В. Непрерывная интеграция функционального наполнения распределенных пакетов прикладных программ в Orlando Tools. Труды Института системного программирования РАН. 2019;31(2):83-96. https://doi.org/10.15514/ISPRAS-2019-31(2)-7
For citation:
Feoktistov A.G., Gorsky S.A., Sidorov I.S., Kostromin R.O., Fereferov E.S., Bychkov I.V. Continuous integrating modules of distributed applied software packages in Orlando Tools. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2019;31(2):83-96. (In Russ.) https://doi.org/10.15514/ISPRAS-2019-31(2)-7