[HN Gopher] Thundernetes makes it easy to run your game servers ... ___________________________________________________________________ Thundernetes makes it easy to run your game servers on Kubernetes Author : pjmlp Score : 25 points Date : 2022-03-26 14:01 UTC (1 days ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | amannm wrote: | Don't game servers need to run on bare metal to minimize latency? | somebodythere wrote: | Not really. Minecraft server notoriously ran in JVM for most of | it's existence. Container virtualization is unlikely to add | more than a few microseconds of latency. | dijit wrote: | This is my field, so even though I'm literally titled | "expert"[0]- take what I say with a pinch of salt. | | When it comes to gameserver performance what tends to be the | biggest issue is _predictable_ performance. So, kubernetes is | not inherently antithetical to running game servers as long as | you don't share the cpu core(s) with anything. | | In fact there is a project that (while I was not a part of) was | spearheaded by ubisoft in collaboration with Google for running | game servers on Kubernetes (called Agones)[1]. | | Ubisoft also used "Thunderhead" (which this project seems to be | a variant of) on Azure with rainbow 6 siege. So it's definitely | not considered a show-stopping problem. | | When it comes to containers/VMs the biggest hit in terms of | performance is in this order: disk/network/memory access/CPU ;; | when talking about game servers the most important things go in | the reverse of that order, which means that the biggest | performance losses are not as important. Network latency might | seem like a big deal but you're limited to frame times in the | best case and geographical differentiations will eat much more | than the combined weight of frames and Kubernetes networking. | | Agones itself bypasses a lot of the Kubernetes networking | latency additions, though, not all. | | [0]: https://www.linkedin.com/in/jharasym | | [1]: https://agones.dev/site/ | remram wrote: | Using container technology doesn't necessarily mean adding | virtual network devices/proxying/forwarding. In practical | terms, you can run in "host" networking mode (no separate | network namespace) on Docker or Kubernetes, and most people | would still consider those "containers". | | In this case they seem to be NAT'ing packets from a host port | on the correct Kubernetes node (the one running the container) | to a port in the container, which can be done fast enough with | iptables (or similar mechanism used by Kubernetes). | milesward wrote: | What about Agones? Earlier, I know of more folks using it... | https://agones.dev/site/ | kodah wrote: | Very cool project, but I wonder about the economics about using | public cloud providers as a gaming host where compute and network | are cornerstones to their profitability. | remram wrote: | You can always run Kubernetes on bare metal. This seems easy in | this case because you don't need persistent storage or load | balancing to use Thundernetes, and you gain the ability to use | the generic Kubernetes tools for self-healing, scaling, rolling | deployments, etc. | imbriaco wrote: | The vast majority of game servers are hosted on public cloud | providers. They turn out to be a pretty perfect example of an | ideal cloud workload: | | - Very elastic demand curve | | - Generally ephemeral with any necessary persistent state | stored off-host | | - Benefit from geographic distribution of cloud regions because | they're generally quite latency sensitive | BaconPackets wrote: | It might be more expensive to run but you have savings in terms | of time to deployment, orchestration and the overall maturity | of the cloud itself. | | Managing bare metal at scale is challenging. | dijit wrote: | This is very true. But never underestimate the cost of | running gameservers in cloud. For us (with really good | discounts and a fantastic custom made predictive auto-scaler) | it was still more than double the cost than using our | previously used bare-metal outsourcing provider. | alias_neo wrote: | I guess it makes sense for Microsoft to be able to put Xbox | game servers in Azure but also game devs can benefit from the | scalability of Kubernetes. If have is low tire not paying for | hardware you aren't using and vice versa. ___________________________________________________________________ (page generated 2022-03-27 23:00 UTC)