Если совсем бесплатно, можно посмотреть в сторону
codenvy.com.
Твой код (workspace) + docker + runner.
Количество workspace с твоими программами не ограничено.
Можешь запускать свой код на машинах с любой конфигурацией.
Количество конфигураций не ограниченно.
Можешь запустить одновременно несколько машин. При этом они могут быть одинаковыми или разными, и код на них может совпадать или различаться.
Один экземпляр запущенной машины - один runner. Можно запустить несколько копий одной машины. Ограничение одно - 20 гигабайт-часов в месяц (с недавнего времени). Т.е. можно запустить 5 машин с 4Гб ОЗУ и истратить всё за час или запустить 1 машину с 512 Мб на 40 часов.
Codenvy - это инструмент разработчика, поэтому предполагается, что компьютеры будут отключены, когда разработка не ведётся.
Для большого числа машин рекомендую поставить минимальный лимит на длительность работы машины. На случай если забудешь отключить сам вручную, они выключатся и сэкономят драгоценные гигабайт-часы.
Вторая проблема в том, что домен и порт руннеру присваиваются динамически, но их легко узнать через api codenvy.
Если лимит всё-таки будет исчерпан, то не составит проблем скопировать машины на другой логин:
habrahabr.ru/post/195190