SEATTLE — Game developers have high-performance requirements for their application server infrastructure. Those requirements are even higher for Epic Games, owner and operator of Fortnite, which is one of the most popular games in the world today.
In a media and analyst session at the KubeCon + CloudNativeCon NA 18 conference, Paul Sharpe, principal cloud engineering developer at Epic Games, provides some insight into how Epic Games is starting to use Kubernetes to help keep Fortnite's millions of fans happy.
Kubernetes is a container orchestration system at its core that enables organizations to deploy, manage and scale application workloads across distributed physical and virtual server environments (want to learn more about Kubernetes? Check out ServerWatch's What Is Kubernetes? article.)
"This is my first time in the gaming industry; I didn't know what to expect when I joined, but it turns out that scaling a video game is just like scaling any other successful product," Sharpe said. "Modern game development is actually a whole lot of microservices and other types of technology that are used outside of the gaming industry."
Sharpe said Epic Games is already heavily invested in AWS (Amazon Web Services) and has been using Docker containers. He added that moving to Kubernetes is a natural evolution of Epic Games' work, which is all about trying to improve developers' lives.
"Right now, our developers have to do a lot manually with load balancers and EC2 instances themselves," he said. "Kubernetes lets us provide abstractions to remove their responsibility from dealing with that directly, to basically let them just focus on solving the problems they need to solve."
In addition to Kubernetes, Sharpe said Epic Games is interested in the open-source OpenTracing projects, including the Jaeger project, and is in the process of figuring out the right tools to deploy to production. Sharpe added Epic Games is working on customizations around how it can integrate the Kubernetes workflows into its environment in a way that's not disruptive to developers.
The core backend services for the Fortnite game run on Linux servers.
"In terms of the stack itself, we're a big Linux shop," Sharpe said. "We have a set of microservices, written in various languages including Java and Scala; some services are RESTful, and we obviously have C++ clients."
For monitoring and metrics, Epic Games is using the open-source Prometheus, FluentD, InfluxData and Telegraf projects. He added that Epic Games is currently on the EKS (EC2 Kubernetes Service) that runs on AWS.
"We're a big game company, but we're small in the sense of the amount of resources we have to manage these kind of things, so stuff like Kubernetes is very helpful," he said.
Sean Michael Kerner is a senior editor at ServerWatch and InternetNews.com. Follow him on Twitter @TechJournalist.