Современные информационные технологии и IT-образование (Apr 2019)
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.
Keywords