Orici here with an update about our game and voice services, more specifically the future of these services.
Over the past few months, we have been working with providers and internal staff to evaluate a new solution for hosting GameCloud.
GameCloud was first launched around 2012, when we bought all new Dell CS "cloud" servers to host publicly available game and voice hosting services. Since that time, the GameCloud system has ran on a Windows HPC Server cluster spanning multiple nodes, massive storage arrays, and external acceleration systems (at that time, the Texas Instruments RAMSAN units). We have made many changes since then including moving to a new datacenter in Miami, changing the hypervisor system from HPC to a KVM / QEMU solution, and going to single, self contained nodes. However, the OS has always stayed the same: some version of Windows Server. The issue with this is that Windows Server is a pain to run and provision. As for modern software release approaches such as DevOps based CI/CD, containerization, and infrastructure as code? On Windows? Forget about it. I personally love Windows and hypervisor based virtualization, and have been using it pretty much since NT and the first release of ESX, however I feel that it's time for us to make a change.
A lot of changes, actually.
The first major change is the software management wrapper that GameCloud is hosted on. As most people already know, we use TC Admin (a self-hosted game hosting platform) for service management and user interaction. We have had a very difficult time with TC Admin an thier support, while not as bad as some of the others we have seen, is not up the level that we are comfortable with. The product has also gotten very bulky and clunky. And most importantly, it does not support any kind of advanced deployments (simply a master -> multiple slave config).
While I am not going to name the replacement product just yet, I will say that TC Admin is getting tossed and replaced with a container based solution that will run on Kubernetes. For those that don't know: Kubernetes is a container orchestration and hosting platform typically used to run microservices and docker containers.
Containers, Kubernetes, and Service Provisioning:
We will be using this configuration for the new GameCloud platform:
- A multi-node, geo-distributed Kubernetes cluster on which the services will run on.
- When a new game or voice instance is provisioned, a pod will spawn on Kubernetes that runs the requested instance. We are still in the process of designing this part and figuring out how things will work. One thing to figure out is how we will handle Teamspeak instances on the new platform. We are currently evaluating three possible options: 1. spawning Teamspeak instances on separate pods, 2. Having one instance with vServers, or 3. having a second platform / panel for Teamspeak services.
- We are working with the vendor to design a system to connect the new hosting platform to our client area (which will also get an overhaul). We will have instant service provisioning for all game and voice servers.
- Users will have complete visibility into their service, right down to the infrastructure. One complaint we have always had about TC Admin was that it's too basic and unreliable.
During the past few months, we have not been happy with the facility that provides us with datacenter services. We have had multiple unexpected outages that were not communicated to us correctly (or sometimes at all). We have also been working in the background to establish a new entity that deals with managed hosting services. More on that later. Long story short, we are pursuing plans to migrate some of our services to a new facility on the east coast. This will be the first time we have planned to do this and it will allow us to do thing that we cannot do now. One of those things is direct network peering and having our peering platform. This will allow for better connectivity to our carriers, which translates in better connectivity to our customers.
Those are the highlights about GameCloud changes. We will have more posts soon.