Please visit our donations page for more details.
As written earlier, one of the main reasons why we chose to use VMware to virtualize our machines is that we can give each game its own OS/platform which allows for easier access/privilege management for the various people in SpA taking care of the games.
The other major reason is scalability. As everyone knows with games, the arrive, they become popular and after a while they slowly die out again. Because of this we had great difficulties dividing our available resources across the machines. Games are tied to the IP address they run on, and if we wanted to move game X to machine Y we’d had to move its IP as well. However, most of the time the same IP was used for other game servers as well, posing a problem.
With VMware now we gave each OS its own IP address. Per VM we can assign an amount of resources that machine could use. Due to this, if a game suddenly becomes more popular than we expected we can easily assign more CPU cores, memory and hard drive space to a VM. Likewise we can remove resources from a VM when the player count of the game in question goes downwards again.
Because the servers are virtualized now it makes it very easy to move VM’s between the 2 hardware platforms. Games becoming less popular and requiring less resources can be moved off to the older MrWhite. Games that require a lot of resources and handle a lot of players can be moved to newer more powerful machine MrBlonde. This all can be done with minimal downtime and in a matter of minutes.
Another upside of VMware is that we can login to the console of the operating systems, as if you were sitting at the datacenter with a mouse, keyboard and monitor attached. This way if we somehow mess up something at a machine, let’s say a bugged kernel or broken windows update, we don’t need to drive over to the datacenter to fix it. We can now simply login to the VMware console and remotely take over the screen and other input devices and fix any OS problems we encounter.
At SpA we’re known to mess stuff up every now and then. By limiting the resources per VM we can mess up as much as we want and only affect the game platform we’re working on at that moment. All the other games won’t notice a thing of the problems, where in the past if we had an issue, all games on the machine would notice that.
In part 5 we’ll take a trip past all the new VM’s, their names and specifications as well as the services they run.