Повышение эффективности виртуального рабочего окружения распределенной разработки программ

P.V. Kolyasnikov, I.N. Silakov, D.Yu. Ilin, A.A. Gusev, E.V. Nikulchev
2019 Sovremennye Informacionnye Tehnologii i IT-obrazovanie  
Для распределенной разработки программных систем широко применяются виртуальные рабочие окружения, которые позволяют использовать технологии виртуализации для создания модели создаваемого проекта и автоматизации процессов синхронизации и интеграции компонентов. Виртуальное рабочее окружение позволяет избежать различий между локальными рабочими окружениями разработчиков, а также конечной платформой, и значительно упростить установку и настройку окружений при внедрении систем в эксплуатацию. В
more » ... тье рассмотрена система организации виртуальных рабочих окружений Vagrant. В качестве альтернативы была рассмотрена технология Docker. На примере проекта по разработке открытой цифровой платформы массовых психологических исследований проведены оценки параметров и предложены механизмы и технологии повышения эффективности функционирования облачного виртуального окружения. Определен набор основных критериев оценки эффективности конфигурации рабочего окружения: быстрое развёртывание; увеличение быстродействия и уменьшение объема используемых ресурсов; повышение скорости обмена данными между хост-машиной и виртуальной машиной. Приведены результаты экспериментальных оценок параметров, определяющих сформулированные критерии эффективности: задействованные ресурсы процессора (процент); объём задействованной оперативной памяти (ГБ); время запуска виртуальных машин (секунды); время выполнения полной сборки компонента Build и повторной сборки Watch (секунды). Для повышения эффективности рассмотрен драйвер доступа к файловой системе на основе протокола NFS. По результатам экспериментальных оценок выявлен значительный рост производительности и скорости работы при использовании единой виртуальной машины и драйвера на основе NFS. Таким образом, определен набор критериев, методов оценивания и предложены механизмы повышения эффективности виртуального рабочего окружения при распределенной разработке больших программных систем.
doi:10.25559/sitito.15.201901.72-80 fatcat:ah4lbol3x5evpnltpjpyu4hexi