
Я создаю этот небольшой облачный игровой сервис (подражатель GeForceNow), который работает на Windows 10 Pro и VMWware. Все остальные аспекты уже учтены, например, потоковая передача, сжатие данных и т. д. С другой стороны, у меня есть около 50 инди-игр, которые не требуют больших ресурсов, в среднем 1 ГБ графики, 4 ГБ ОЗУ и в среднем 5 ГБ хранилища на игру. Есть еще один раздел с 20 играми AAA и очень большими ресурсами, такими как 4 ГБ GPU, 12 ГБ ОЗУ и 50 ГБ хранилища на игру, и категория игр растет (медленно, но планирую 100 инди-игр и 50 AAA-игр в середине 2021 года). Также я ожидаю 100000 пользователей в общей сложности с ~2000 одновременно играющих
Как мне управлять установкой этих игр, чтобы сэкономить максимальное количество мощности GPU и CPU и SSD-накопителя? Стоит ли мне выделить сервер, способный вместить больше пользователей, со всеми инди-играми и пару больших серверов, каждый из которых будет содержать все AAA? Или есть способ разместить все это на одном сервере и просто управлять состояниями пользователей и прогрессом? Как реальные и работающие облачные игровые сервисы справляются с этим?
Я думал о переходе на docker с VMWare, чтобы использовать оборудование более динамично, но я думаю, что запуск тяжелых игр в docker и потоковая передача в браузер не очень хороши для качества и производительности. Плюс в docker нужны тонны оптимизаций и конфигураций.
решение1
Это немного нетрадиционная настройка, но если вы хотите максимально эффективно использовать пространство нескольких экземпляров одного и того же образа, вам нужно будет перейти на VMware Horizon или какое-то другое решение VDI, где у вас могут быть базовые образы для ОС, а также образы приложений для различных приложений, которые пользователи хотят запускать. Затем Horizon может объединить базовый образ ОС с необходимым хранилищем приложений и хранилищем пользователя и создать временную виртуальную машину с необходимыми приложениями во время входа в систему, которая затем уничтожается при выходе из системы, так что вы сохраняете ОС только один раз, даже если у вас могут быть сотни клиентов.
Имейте в виду, что то, что вы описываете, также похоже на сущий ад с точки зрения лицензирования, и вам, вероятно, понадобится какое-то соглашение о лицензировании поставщика услуг, по крайней мере с Microsoft, для используемых вами экземпляров Windows 10.