INCREASING THE EFFICIENCY OF THE VIRTUAL DEVELOPMENT ENVIRONMENT FOR DISTRIBUTED SOFTWARE DEVELOPMENT

Abstract

Virtual distributed environments are widely used for distributed development of software systems, which enable the use of virtualization technologies to create a model of project and to automate processes of synchronization and integration of its components. The virtual development environment allows us to avoid the differences between the local environments of developers and between the local environments and the final platform, and greatly simplifies the installation and configuration of environments during the implementation of systems in operation. The article studies the system of organization of virtual development environments in Vagrant. Alternatively, Docker technology was considered. Using the example of a project aimed at developing an open digital platform for mass psychological research, parameter estimates were made and mechanisms and technologies to improve the efficiency of the cloud virtual environment were proposed. A set of basic criteria for evaluating the effectiveness of the configuration of the development environment has been defined to be: rapid deployment; increase in speed and decrease in the volume of resources used; increase in the speed of data exchange between the host machine and the virtual machine. The results of experimental estimates of the parameters that define the formulated efficiency criteria are given as: processor utilization involved (percentage); the amount of RAM involved (GB); virtual machine startup time (seconds); the time to complete the building of the Build component and to reassemble the Watch component (seconds). To improve the efficiency, a file system access driver based on the NFS protocol is considered. According to the results of experimental assessments, a significant increase in productivity and speed of operation was revealed when using a single virtual machine and the driver based on the NFS. Thus, the set of criteria and estimation methods has been defined and the mechanisms have been proposed for increasing the efficiency of the virtual development environment in the distributed development of large software systems.

Author Biographies

Pavel Vladimirovich Kolyasnikov, Russian Academy of Education

Analyst of the Laboratory for Monitoring the Efficiency and Quality of Scientific Research of the Information and Analytical Center

Ilya Nikolaevich Silakov, MIREA – Russian Technological University

Master's student, Department of Automated Control Systems

Dmitry Yurevich Ilin, MIREA – Russian Technological University

Postgraduate Student, Department Control and System Modeling

Alexander Alexeyevich Gusev, Kuban State University

Postgraduate Student, Department of Applied Mathematics

Evgeny Vitalievich Nikulchev, MIREA – Russian Technological University

Professor, Department Control and System Modeling, Dr.Sci. (Engineering)

References

[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.)
Published
2019-04-19
How to Cite
KOLYASNIKOV, Pavel Vladimirovich et al. INCREASING THE EFFICIENCY OF THE VIRTUAL DEVELOPMENT ENVIRONMENT FOR DISTRIBUTED SOFTWARE DEVELOPMENT. Modern Information Technologies and IT-Education, [S.l.], v. 15, n. 1, p. 72-80, apr. 2019. ISSN 2411-1473. Available at: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/500>. Date accessed: 16 sep. 2025. doi: https://doi.org/10.25559/SITITO.15.201901.72-80.
Section
Parallel and distributed programming, grid technologies, programming on GPUs