ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ВИРТУАЛЬНОГО РАБОЧЕГО ОКРУЖЕНИЯ РАСПРЕДЕЛЕННОЙ РАЗРАБОТКИ ПРОГРАММ

Аннотация

Для распределенной разработки программных систем широко применяются виртуальные рабочие окружения, которые позволяют использовать технологии виртуализации для создания модели создаваемого проекта и автоматизации процессов синхронизации и интеграции компонентов. Виртуальное рабочее окружение позволяет избежать различий между локальными рабочими окружениями разработчиков, а также конечной платформой, и значительно упростить установку и настройку окружений при внедрении систем в эксплуатацию. В статье рассмотрена система организации виртуальных рабочих окружений Vagrant. В качестве альтернативы была рассмотрена технология Docker. На примере проекта по разработке открытой цифровой платформы массовых психологических исследований проведены оценки параметров и предложены механизмы и технологии повышения эффективности функционирования облачного виртуального окружения. Определен набор основных критериев оценки эффективности конфигурации рабочего окружения: быстрое развёртывание; увеличение быстродействия и уменьшение объема используемых ресурсов; повышение скорости обмена данными между хост-машиной и виртуальной машиной. Приведены результаты экспериментальных оценок параметров, определяющих сформулированные критерии эффективности: задействованные ресурсы процессора (процент); объём задействованной оперативной памяти (ГБ); время запуска виртуальных машин (секунды); время выполнения полной сборки компонента Build и повторной сборки Watch (секунды). Для повышения эффективности рассмотрен драйвер доступа к файловой системе на основе протокола NFS. По результатам экспериментальных оценок выявлен значительный рост производительности и скорости работы при использовании единой виртуальной машины и драйвера на основе NFS. Таким образом, определен набор критериев, методов оценивания и предложены механизмы повышения эффективности виртуального рабочего окружения при распределенной разработке больших программных систем.

Сведения об авторах

Pavel Vladimirovich Kolyasnikov, Российская академия образования

аналитик, лаборатория мониторинга эффективности и качества научных исследований информационно-аналитического центра

Ilya Nikolaevich Silakov, МИРЭА – Российский технологический университет

магистрант, кафедра автоматизированных систем управления

Dmitry Yurevich Ilin, МИРЭА – Российский технологический университет

аспирант, кафедра управления и моделирования систем

Alexander Alexeyevich Gusev, Кубанский государственный университет

аспирант, кафедра прикладной математики

Evgeny Vitalievich Nikulchev, МИРЭА – Российский технологический университет

доктор технический наук, профессор, профессор кафедры управления и моделирования систем

Литература

[1] Caballer M., Blanquer I., Moltó G., de Alfonso C. Dynamic management of virtual infrastructures. Journal of Grid Computing. 2015; 13(1):53-70. (In Eng.) DOI: 10.1007/s10723-014-9296-5
[2] Giannakopoulos I., Konstantinou I., Tsoumakos D., Koziris N. Cloud application deployment with transient failure recovery. Journal of Cloud Computing. 2018; 7(1):11. (In Eng.) DOI: 10.1186/s13677-018-0112-9
[3] Spanaki P., Sklavos N. Cloud Computing: Security Issues and Establishing Virtual Cloud Environment via Vagrant to Secure Cloud Hosts. In: Daimi K. (eds) Computer and Network Security Essentials. Springer, Cham, 2018, pp. 539-553. (In Eng.) DOI: 10.1007/978-3-319-58424-9_31
[4] Hashimoto M. Vagrant: Up and Running: Create and Manage Virtualized Development Environments. O'Reilly Media Inc., 2013. 156 pp. (In Eng.)
[5] Nam Pham Nguyen Xuan, Sungmin Lim, and Souhwan Jung. 2017. Centralized management solution for vagrant in development environment. Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication (IMCOM '17). ACM, New York, NY, USA, 2017. Article 37, 6 pp. (In Eng.) DOI: https://doi.org/10.1145/3022227.3022263
[6] Thompson C. Vagrant Virtual Development Environment Cookbook. Packt Publishing Ltd., 2015. 250 pp. (In Eng.)
[7] Mouat A. Using Docker: Developing and Deploying Software with Containers. O'Reilly Media Inc., 2016. 358 pp. (In Eng.)
[8] Sammons G. Learning Vagrant: Fast Programming Guide. CreateSpace Independent Publishing Platform, 2016. 68 pp. (In Eng.)
[9] Peacock M. Creating Development Environments with Vagrant. Packt Publishing Ltd., 2015. 153 pp. (In Eng.)
[10] Iuhasz G., Pop D., Dragan I. Architecture of a Scalable Platform for Monitoring Multiple Big Data Frameworks. Scalable Computing: Practice and Experience. 2016; 17(4):313-321. (In Eng.) DOI: 10.12694/scpe.v17i4.1203
[11] Nikulchev E., Ilin D., Kolyasnikov P., Belov V., Zakharov I., Malykh S. Programming Technologies for the Development of Web-Based Platform for Digital Psychological Tools. International Journal of Advanced Computer Science and Applications. 2018; 9(8):34-45. (In Eng.) DOI: 10.14569/IJACSA.2018.090806
[12] Kashyap S., Min C., Kim T. Opportunistic spinlocks: Achieving virtual machine scalability in the clouds. ACM SIGOPS Operating Systems Review. 2016; 50(1):9-16. (In Eng.) DOI: 10.1145/2903267.2903271
[13] Saikrishna P.S., Pasumarthy R., Bhatt N.P. Identification and Multivariable Gain-Scheduling Control for Cloud Computing Systems. IEEE Transactions on Control Systems Technology. 2017; 25(3):792-807. (In Eng.) DOI: 10.1109/TCST.2016.2580659
[14] Li J., Xue S., Zhang W., Ma R., Qi Z., Guan H. When I/O Interrupt Becomes System Bottleneck: Efficiency and Scalability Enhancement for SR-IOV Network Virtualization. IEEE Transactions on Cloud Computing. 2017. pp. 1-1. (In Eng.) DOI: 10.1109/TCC.2017.2712686
[15] Zabell S.L. On Student's 1908 Article “The Probable Error of a Mean”. Journal of the American Statistical Association. 2008; 103(481):1-7. (In Eng.) DOI: 10.1198/016214508000000030
[16] Chen M., Bangera G.B., Hildebrand D., Jalia F., Kuenning G., Nelson H., Zadok E. vNFS: Maximizing NFS Performance with Compounds and Vectorized I/O. ACM Transactions on Storage. 2017; 13(3):21. (In Eng.) DOI: 10.1145/3116213
[17] Kane S.P., Matthias K. Docker: Up & Running: Shipping Reliable Containers in Production. O'Reilly Media Inc, 2018. 352 pp. (In Eng.)
[18] Peinl R., Holzschuher F., Pfitzer F. Docker Cluster Management for the Cloud - Survey Results and Own Solution. Journal of Grid Computing. 2016; 14(2):265-282. (In Eng.) DOI: 10.1007/s10723-016-9366-y
[19] Krieger M.T., Torreno O., Trelles O., Kranzlmüller D. Building an open source cloud environment with auto-scaling resources for executing bioinformatics and biomedical workflows. Future Generation Computer Systems. 2017; 67:329-340. (In Eng.) DOI: 10.1016/j.future.2016.02.008
[20] Dani A.S. JavaScript by Example. Packt Publishing, 2017. 334 pp. (In Eng.)
Опубликована
2019-04-19
Как цитировать
KOLYASNIKOV, Pavel Vladimirovich et al. ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ВИРТУАЛЬНОГО РАБОЧЕГО ОКРУЖЕНИЯ РАСПРЕДЕЛЕННОЙ РАЗРАБОТКИ ПРОГРАММ. Современные информационные технологии и ИТ-образование, [S.l.], v. 15, n. 1, p. 72-80, apr. 2019. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/500>. Дата доступа: 25 apr. 2024 doi: https://doi.org/10.25559/SITITO.15.201901.72-80.
Раздел
Параллельное и распределенное программирование, грид-технологии