[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)