Founded in France in 1986, Ubisoft is a truly international company. Present in five continents, the company owns more than 40 development studios across the world and works in 55 spoken languages. It is proud to have built the gaming industry’s most prominent in-house creative force, with more than 80 percent of its teams dedicated to content creation.
Like many companies, Ubisoft didn’t start life in containers but, over the years, Kubernetes has taken its place within the strategic solution set. Setting its sights on global growth, Ubisoft has put Rancher Labs at the heart of its central KaaS hub, Ubisoft Kubernetes Service (UKS). With Kubernetes and Rancher, the technology team at Ubisoft is accelerating the journey toward a cloud-native, microservices-centric future. The aim? To gain a competitive edge through innovation and, critically, to drive serious management efficiencies.
Global growth fueled by innovation and technical agility has long been Ubisoft’s North Star. It was with this in mind that Ubisoft put Rancher Labs at the heart of its central KaaS hub, Ubisoft Kubernetes Service (UKS). The purpose of this is to gain a competitive edge through innovation and, critically, to drive serious management efficiencies.
The Journey to Containers
Boosting innovation and driving technical agility have always been Ubisoft’s primary goals. Kubernetes, therefore, has become increasingly essential in achieving these technical goals. Before the creation of UKS, the infrastructure team was already an early adopter of containers. This makes sense when you consider Ubisoft operates in almost every global territory and has a complex hybrid cloud and on-premise architecture. The team knew in 2016 that a cloud-native, container-centric approach would drive greater agility and help prepare the business for the future. They also knew Kubernetes was a flexible, open and agile way to get there.
When Team Lead Gregory Gstalder joined the team, he realized, like many others at Ubisoft, the challenges of running applications locally. His team began spinning up Docker instances to containerize selected services — sharing the initial results among development teams. Encouraged by the results, different teams started to share their experience with containers. Soon, a group of developers created the Cloud Native Committee — a group dedicated to sharing ideas and community solutions around the business. In 2017, having seen industry momentum building in several sectors, an IT team initiative lead by Alexandre McLean, a Technical Architect, decided to standardize on Kubernetes and the creation of UKS followed soon after.
Given the freedom to innovate with Kubernetes, Ubisoft’s teams of developers were galvanized. New container deployments began to spring up all over the business. While not required to work in Kubernetes, developers started to test it, creating new services and applications quickly. They soon began to see benefits in being able to introduce new features quickly, and with no impact on the overall experience.
Then the inevitable happened — cluster sprawl — a natural byproduct of the outpouring of excitement and innovation that was taking place everywhere. With some teams working in AWS ECS, some in Docker Swarm, developing for a mix of cloud environments, the estate grew, and a formal orchestration strategy became essential. Docker was already being successfully used by different teams and projects in the company, so the team formally evaluated Docker Swarm. The team realized, however, the infrastructure abstractions and constructs provided by Kubernetes were superior, and that it would be far easier to extend the technology if they ever needed to customize a few things for their on-premise integration. Ubisoft evaluated several options but wanted to have something that sat closer to the upstream Kubernetes community to benefit from its dynamism. Then in May 2018, after a successful PoC, Ubisoft started working with Rancher Labs to underpin UKS.
Every technology decision is designed to make the experiences of players more satisfying. It’s not just the quality of the games, it’s how we create the responsive, rewarding and engaging services that surround them. Rancher is essential to this.
Pioneering a Cloud-Native Approach: Ubisoft Kubernetes Service (UKS)
Kubernetes orchestration became critical as Ubisoft’s hybrid cloud strategy accelerated. The reasons for nurturing a hybrid environment were apparent. There would always be some secure systems that needed private cloud protection (e.g. customer data management), but Ubisoft also wanted to access all the benefits of the public cloud.
Development teams were encouraged to develop cloud-native microservices in Kubernetes and, before long, innovative new projects proliferated across the business. Because some teams were developing for Ubisoft’s private cloud and some were developing for the public cloud, the UKS team wanted to provide a unified and consistent development methodology. The UKS team wanted Ubisoft’s developers to have the freedom to develop in their own way and, in most cases, developers were starting from scratch with Kubernetes. The goal was to optimize workflows as best as possible and save them time by not having to reinvent the wheel with every new deployment — develop their own script, manually manage the basic processes — RBAC (role-based access control), monitoring and accessing the Application Catalog, for example.
The vision for the infrastructure team was to build a central Kubernetes provisioning platform within Ubisoft that would automate many of these processes. The vision became a reality when the Ubisoft Kubernetes Service was born. This self-service Kubernetes platform, based on Rancher, gives thousands of developers the ability to spin up new Kubernetes clusters in an instant in a controllable, centrally managed way.
By using UKS and Rancher, developers would still have the freedom to develop for any cloud environment but wouldn’t have to manage many of the basic deployment processes manually. The automation of all those basic functions has been one of the biggest reasons for bringing Rancher into Ubisoft and has greatly simplified the development lifecycle.
From an efficiency point of view, UKS has made the work of Ubisoft developers much easier. Development velocity has increased and management time reduced, compared to the old, manual way of working. Historically, it would take several days to gain access to a cluster. In Rancher, it takes in average of ten minutes to provision a cluster and host it on-premise. Most importantly, the entire Kubernetes estate is now managed through one pane of glass.
Boosting Gaming Services and Player Support
At Ubisoft, player enjoyment and loyalty are as much about the additional features, support and services that surround every game as they are the games themselves. More and more services are moving to Kubernetes and Rancher.
There is a legion of tools found in Ubisoft’s Kubernetes clusters. For example, Ubisoft runs its internal video platform here, its shopping toolbox, alongside a host of game administration tools that help teams plan discount and loyalty programs. In-game notifications are developed, managed, and updated here — all the things that create rewarding gaming experiences.
A critical service is Ubisoft’s gaming support tool — a user-facing service that uses machine learning to help support specialist to answer players. Historically, it took time to mine the vast swathes of existing data to categorize and honor requests accurately. The application running on UKS uses machine learning to totally remove one step that would usually take the support team one day each week. This equates to a 20 percent reduction in support ticket resolution time.
What’s next for Ubisoft
UKS has now been in place for a couple of years, with a solid team of experts who have the improvement of Ubisoft’s cloud-native approach at heart. As demand for Kubernetes grows within the company, the team is looking to expand its ranks with new specialists that will help move this ambition forward. Ubisoft is now looking to the future with the intention to deepen its relationship with Rancher Labs. Scale is the primary goal; having reached 200 clusters in March 2020, the upward trend will continue as more teams use Kubernetes. Ongoing, the focus will be to create a managed solution that optimizes infrastructure usage, provides multi-tenant clusters and reduces the operational burden.
Ubisoft is looking at concrete use cases for its games workloads to directly benefit from UKS. This will mark a significant shift for the team for whom the biggest cluster running through UKS has 44 nodes — a tiny fraction of the video game workload.
Moving production gaming clusters into UKS is a priority for the team. At the same time, maintaining perfect, zero-downtime performance is the real goal and the main preoccupation. More importantly, it can affect the gaming experience and so, by working collaboratively with Rancher Support, the Ubisoft team can drive better resilience and maintain performance for millions of gaming fans.