Google et Ubisoft s'unissent pour développer une architecture serveurs dédiée aux jeux vidéo,
qui s'appuie sur Kubernetes
Google s’est associé à l’éditeur français Ubisoft pour concevoir une plateforme cloud destinée à améliorer les performances des jeux en ligne massivement multijoueurs (MMO).
Baptisé Agones, du grec « concours » ou « rassemblement », le projet s’appuie sur le conteneur Kubernetes comme outil de base pour orchestrer et mettre à l'échelle une flotte de serveurs de jeux multijoueurs. Lorsque vous jouez à votre jeu multijoueur favori, ce sont les serveurs de jeu qui permettent aux utilisateurs de se voir par exemple lorsqu'ils traversent une rue. Ce sont parfois sur eux que sont déployés les logiciels pour identifier les tricheurs.
Il s’agit donc d’une solution open source qui entend se substituer aux environnements propriétaires auxquels recourent traditionnellement les éditeurs spécialisés pour gérer leurs fermes de serveurs consacrés aux jeux vidéo en ligne.
« Notre objectif est de trouver continuellement de nouveaux moyens de fournir à nos joueurs des services de la plus haute qualité et de la plus grande transparence afin qu'ils puissent se concentrer sur leurs jeux », a commenté le directeur du développement d'Ubisoft, Carl Dionne. « Agones nous aide en nous offrant la flexibilité nécessaire pour gérer des serveurs de jeux dédiés dans des centres de données optimaux, et en donnant à nos équipes plus de contrôle sur les ressources dont elles ont besoin. Cette collaboration permet de combiner l'expertise de Google dans le déploiement de Kubernetes à l'échelle avec notre connaissance approfondie des pipelines et des technologies de développement de jeux. »
Pour tenter de montrer une différence entre une architecture classique et l’architecture proposée par le projet, Google a donné un exemple d’une configuration d’un serveur de jeu dédié typique :
- Les joueurs se connectent à une sorte de service de mise en relation (matchmaker), qui les regroupe (souvent par niveau de compétence) pour jouer un match ;
- Une fois que les joueurs sont associés à une session de jeu, le service demande à un gestionnaire de serveurs de jeu de fournir un processus de serveur de jeu dédié sur un cluster de machines ;
- Le gestionnaire de serveurs de jeu crée une nouvelle instance d'un processus de serveur de jeu dédié qui s'exécute sur l'une des machines du cluster ;
- Le gestionnaire de serveurs de jeu détermine l'adresse IP et le port sur lesquels s'exécute le processus de serveurs de jeu dédié, puis le renvoie au service de matchmaker ;
- Le service de matchmaker transmet l'adresse IP et le port aux clients des joueurs ;
- Les joueurs se connectent directement au processus du serveur de jeu dédié et jouent le jeu multijoueur l'un contre l'autre.
Agones remplace la solution de gestion des clusters et de mise à l'échelle des serveurs de jeu par un cluster Kubernetes qui inclut un contrôleur Kubernetes personnalisé et des définitions de ressources personnalisées GameServer correspondantes.
Google explique « Qu’avec Agones, Kubernetes obtient des capacités natives pour créer, exécuter, gérer et mettre à l'échelle des processus de serveur de jeu dédiés au sein des clusters Kubernetes en utilisant des outils et des API Kubernetes standard. Ce modèle permet également à n'importe quel entremetteur d'interagir directement avec Agones via l'API Kubernetes pour provisionner un serveur de jeu dédié. »
Kubernetes simplifie également les opérations. Google rappelle les jeux multijoueurs ne se limitent pas simplement à des serveurs de jeu dédiés puisqu’il y a également des services de support, de gestion de compte, d'inventaire, de marketplaces, etc. Aussi, l’entreprise estime « Qu’avoir Kubernetes en tant que plateforme unique capable de gérer à la fois vos services de support et vos serveurs dédiés, permet de réduire sensiblement les connaissances opérationnelles et la complexité requises pour l'équipe de développement de support. »
Enfin, Google précise que les personnes derrière Agones ne sont pas seulement un groupe de personnes qui construisent une plateforme de serveur de jeu isolément. Agones, et les développeurs qui l'utilisent tirent parti du travail de centaines de contributeurs de Kubernetes et de l'écosystème diversifié des outils qui ont été construits autour de la plateforme Kubernetes.
En déposant la solution sur GitHub, Google entend aussi s’appuyer sur la communauté des développeurs pour la faire évoluer et l’enrichir. Une feuille de route est disponible et inclut notamment le support de macOS et de Windows.
Source : Google, GitHub (projet Agones, feuille de route)
Et vous ?
Que pensez-vous de ce projet ?
Partager