I am creating this small cloud gaming service (GeforceNow wannabe) which is powered by windows 10 Pro and VMWware. All other aspect of it is taken care of, Like streaming and data compression and etc. On the other side i have like 50 indie game which are not resource heavy with an average of 1GB of graphic, 4GB RAM and average of 5GB Storage per game. There is another section with 20 AAA games and very resource heavy like 4GB GPU, 12GB RAM and 50GB Storage per game and the category of games are growing (slowly but planning for 100 indie and 50 AAA in mid 2021). Also i am expecting 100000 total users with ~2000 playing concurrently
How can i manage the installation of this games to save the maximum amount of GPU and CPU power and SSD storage? Should i dedicate a server capable of more users with all indie games and couple bigger servers with each one contain all AAA's? Or is there a way to put all of those in one server and just manage user states and progress? How the real and working cloud gaming services manage this?
I was thinking about moving to docker from VMWare to use hardware more dynamically but i think running heavy games in docker and steaming to browser is not good for quality and performance sake. Plus tons of optimiztions and configurations are necessary in docker.