Это довольно распространенное явление в корпоративной разработке и фактически стандартный способ ведения дел.
Как правило, разработчик работает локально. Как только он / она доволен их изменениями, они проверят это в системе контроля версий.
С этого момента есть несколько вариантов, начиная от автоматического построения и заканчивая тем, чтобы кто-то нажал кнопку, чтобы вызвать удаленную сборку.
Как только сборка будет завершена, появится множество вариантов развертывания приложения на одном или нескольких других серверах. И еще другие варианты запуска автоматических тестовых наборов.
Что касается удаленной отладки, вы можете сделать это независимо от того, используете ли вы сборку / развертывание / автоматическое тестирование. Это просто вопрос установки и настройки нужного материала (см. Ответ ho1 для ссылки).
При всем этом я настоятельно рекомендую никогда включать удаленную отладку на рабочем сервере. Некоторые люди могут не согласиться со мной, но я лично считаю, что это опасно по соображениям безопасности и, безусловно, может привести к отключению сайта.
Наконец, единственная причина, по которой вам нужна виртуальная машина, - это то, что серверы недоступны или если вы просто хотите поместить в песочницу все.