FACEIT: Reaching the top of its game with Google Kubernetes Engine
About FACEIT
FACEIT is a leading competitive platform for online multiplayer games and allows players to easily play in tournaments and leagues for virtual and real-world prizes through automated tournament management and competitive gaming technology.
Tell us your challenge. We're here to help.
Contact usAbout Jetstack
Jetstack helps enterprises on their path to modern cloud-native infrastructure using Kubernetes.
FACEIT refactored its architecture using Kubernetes Engine, resulting in a scalable, more stable gaming platform for its millions of users.
Google Cloud results
- Reduces management overhead and minimizes errors with managed services in Kubernetes Engine
- Simplifies and speeds up deployment, enabling multiple releases every day instead of once a week
- Enables developers to adopt best practices, leading to increased microservices with reduced costs
Cut costs by 25% while tripling its microservices
The line between gaming, live entertainment, and broadcast media is becoming increasingly blurred as esports go from strength to strength. Combining multiplayer gaming with live events streamed to hundreds of thousands of fans around the world, the esports economy will be worth an estimated $900 million for the year 2018, according to games industry analysts Newzoo.
Playing a leading role in the growth of esports is FACEIT, an independent online competitive gaming platform that enables players to create communities and compete in tournaments, leagues, and matches as quickly and smoothly as possible. FACEIT integrates with leading games such as PlayerUnknown's Battlegrounds or Counter-Strike to automate match statistics and rankings for its users, allowing them to concentrate on their gaming experience. In addition, the company has agreements with partners like YouTube that allow players to watch livestream events and accrue points that can be traded for in-game or real-world rewards.
"When we used Kubernetes with our previous cloud provider, we had to do everything manually. We couldn't make the platform work in the way we wanted. With Google Cloud, we saw an opportunity to reduce our management overhead and rebuild our infrastructure from scratch."
—Emanuele Massara, VP of Engineering, FACEITWith 10 million users and 12 million gaming sessions every month, FACEIT has grown rapidly since first launching in 2012. "This is an agile, fast-paced industry with young, passionate customers. We have to iterate quickly," says Emanuele Massara, VP of Engineering at FACEIT. Over time, the company had to add to its infrastructure to cope with the rise in traffic, shifting towards a microservices-based architecture with containers and Kubernetes. By 2017, FACEIT was reaching the limits of its existing cloud infrastructure and decided to look for a new kind of architecture. It turned to Google Cloud.
"When we used Kubernetes with our previous cloud provider, we had to do everything manually. We couldn't make the platform work in the way we wanted," says Emanuele. "With Google Cloud, we saw an opportunity to reduce our management overhead and rebuild our infrastructure from scratch."
Maximum flexibility, minimal fuss with Google Kubernetes Engine
Since it launched, FACEIT has had to move fast, building out whatever capabilities it needs as quickly as possible to keep up with demand. "Our architecture was basically a monolith, and then we started adding microservices on top," says Bradley Wilson-Hunt, DevOps and Service Delivery Manager at FACEIT. While that satisfied the immediate demands of scale, it led to complicated deployment procedures and big delays when anything went wrong. As FACEIT began to use Kubernetes for its microservices, it ran up against usage limits set by its existing cloud provider, leading to more delays and complications.
In the summer of 2017, FACEIT's team attended a series of workshops managed by Google and run by Jetstack, a leading Kubernetes focused Google Cloud partner. After gaining a new understanding of how microservices could benefit the business, FACEIT engaged Jetstack to help refactor its cloud infrastructure on Google Cloud, to get the most out of Kubernetes.
Jetstack took time and effort to understand FACEIT's goals and advise the company on how best to achieve them. "We went through the cluster from top to bottom, looking for areas to optimize," says Matt Barker, co-founder of Jetstack. "The goal was to build out architecture that followed best practice, confirm a migration plan, and empower FACEIT to implement this with our assistance. The team came away from the engagement with more confidence and knowledge."
"With Kubernetes Engine, we just don't have to worry about the infrastructure. By the time we've got our laptops out, any problems have already been resolved automatically and our job is to go through the logs and diagnose what went wrong."
—Emanuele Massara, VP of Engineering, FACEITFACEIT spent time planning its transition to Google Cloud so as not to incur any unnecessary downtime. With Jetstack's help, the company migrated its infrastructure within two months, with no disruption to its users. The core of FACEIT's new architecture was Kubernetes Engine, to simplify the creation and management of Kubernetes clusters.
"With Kubernetes Engine, we just don't have to worry about the infrastructure," says Emanuele. "By the time we've got our laptops out, any problems have already been resolved automatically and our job is to go through the logs and diagnose what went wrong."
The company used Container Registry to store and manage its container images and Cloud Storage to hold and help secure static assets such as images and configuration files. Google Stackdriver gave FACEIT the ability to monitor its system in depth. Separately, the stateful services that FACEIT needed ran on Compute Engine instances which are scaled up and down automatically when needed.
With the migration complete, FACEIT has found the new way of deploying much easier than before, when everything had to be set up manually. "We had to log in to the UI and manually copy over settings between browser windows for new releases, hoping that we hadn't made any mistakes," says Bradley. "Now we have a single config file for each service. We can just modify that, version it, and it works without having to go anywhere near the UI."
This model of infrastructure as code has made deployment far less prone to mistakes, and if there are ever any problems, they are now much easier to fix. According to Bradley, this has led to a much more stable platform with happier customers and partners. "We don't get woken up in the middle of the night anymore!" he says.
FACEIT found not only its infrastructure transformed, but also its way of working. Speed of deployment is much faster with the new architecture than it was previously, according to Emanuele. The old procedure was so tricky that the company made its developers release all updates on specially designated "Release Days Tuesdays", but that has all changed. "It used to take around an hour to deploy changes, and we concentrated releases in one day of the week," says Emanuele. "Now developers are deploying multiple times per day and can do so within 5 to 10 minutes, or faster, with no impact to customers."
"All the time and cost savings flow from looking for and adopting best practices. Having that opportunity to start from the ground up with Google Cloud translates to us iterating much more quickly with less downtime and fewer mistakes."
—Bradley Wilson-Hunt, DevOps and Service Delivery Manager, FACEITMeanwhile, managed services with Kubernetes Engine has meant that FACEIT has been able to dramatically increase its workload without increasing costs. In fact, according to Emanuele, it has even made significant savings on its infrastructure costs. "We've cut our costs by around 25 percent on our infrastructure with Google Cloud," he says. "On top of that, we've actually more than tripled the number of microservices we have from 30 to nearly 100."
Perhaps the most fundamental change that FACEIT has seen is in its own engineers and developers. The refactoring of the company's architecture has enabled workers to quickly and easily adopt best practices, which has had an effect on every area of their work.
"All the time and cost savings flow from looking for and adopting best practices," says Bradley. "Having that opportunity to start from the ground up with Google Cloud translates to us iterating much more quickly with less downtime and fewer mistakes."
A stable solution for today, a solid foundation for tomorrow
After the move to Google Cloud, FACEIT has continued to grow and grow, with season 6 of its biannual esports Championship Series (ECS), the most popular Counter-Strike: Global Offensive league in the world, being broadcast to 250,000 viewers exclusively on YouTube. The aftermath of an event like that shows off the scaling capabilities of the new infrastructure, as keen gamers log in to play the games they've just been watching causing large spikes in traffic.
FACEIT's quest for newer and better ways of working has not stopped. FACEIT is currently exploring BigQuery and Cloud Dataflow to optimize its data pipelining processes as well as Cloud Pub/Sub to replace its existing messaging service. For Emanuele, all this is possible because of the new atmosphere created by the move to Google Cloud.
"We're looking to make things even faster and reduce the complexity of the code even further," he says. "It comes down to having a solid foundation from which to build. If we hadn't reconfigured the infrastructure and adopted best practices, we couldn't think about doing any of this."
Tell us your challenge. We're here to help.
Contact usAbout FACEIT
FACEIT is a leading competitive platform for online multiplayer games and allows players to easily play in tournaments and leagues for virtual and real-world prizes through automated tournament management and competitive gaming technology.
About Jetstack
Jetstack helps enterprises on their path to modern cloud-native infrastructure using Kubernetes.