Ubisoft propose une expérience de jeu multijoueur fluide et pouvant être mise à l’échelle grâce à AWS

2014

Ubisoft est l’un des principaux créateurs, éditeurs et distributeurs de divertissements et de services interactifs, avec un riche portefeuille de marques de renommée mondiale parmi lesquelles Assassin’s Creed, Just Dance, la série de jeux vidéo Tom Clancy’s, Rayman, Far Cry et Watch Dogs. Basées à Paris, en France, les équipes d’Ubisoft s’engagent à proposer sur toutes les plateformes populaires des expériences de jeu originales et mémorables, y compris des expériences multijoueurs partagées par des millions de joueurs à travers le monde.

A tv and video control room intended for student use at university.
kr_quotemark

Grâce à AWS, nous pouvons automatiquement mettre nos services à l’échelle pour prendre en charge les pics de trafic importants. Au cours des dernières vacances de Noël, nous avons répondu à l’augmentation de la demande de trafic pour Watch Dogs 2 en procédant à une augmentation verticale. Nous sommes ainsi passés à 120 serveurs relais acheminant 70 téraoctets de données en 20 jours. »

Éric Fortin
Architecte technique, Ubisoft

Une meilleure façon de gérer une plateforme de jeu multijoueur

Ubisoft crée, publie et distribue des jeux vidéo interactifs populaires pour les joueurs du monde entier. L’un des derniers jeux les plus populaires de la société est Watch Dogs, dans lequel le joueur suit les aventures d’un pirate informatique.

Alors qu’elle s’apprêtait à lancer la suite de Watch Dogs, Ubisoft avait besoin d’une meilleure plateforme pour prendre en charge Storm, sa plateforme technologique multijoueur. Avec Storm, Ubisoft donne aux joueurs la possibilité de s’affronter et d’interagir via un service de relais doté d’une capacité de mise à l’échelle massive. « La plateforme Storm utilise des serveurs pour relayer le trafic des jeux, mais nous avons rencontré quelques problèmes techniques », explique Éric Fortin, architecte technique chez Ubisoft Montréal. « Les connexions de poste à poste n’étaient pas toujours possibles et nous avons constaté de nombreux problèmes avec les adresses IP publiques des joueurs. »

Ubisoft avait également besoin d’un moyen plus simple de mettre le relais de trafic à l’échelle pour ses jeux multijoueurs. « Nous voulions mettre automatiquement à l’échelle notre service pour faire face aux fortes augmentations de trafic que nous constatons chaque année pendant les fêtes », explique M. Fortin. En outre, l’entreprise recherchait une solution de gestion facile à utiliser pour la plateforme Storm, qui est gérée et fournie via des conteneurs Docker. « Mon équipe ne compte que trois développeurs et nous voulons nous concentrer sur le développement de nouvelles fonctionnalités, et non sur la gestion des services backend. »

Le Cloud AWS comme source d’agilité et de capacité de mise à l’échelle

Ubisoft a décidé de migrer sa plateforme Storm et plusieurs jeux multijoueurs en ligne vers le cloud afin de simplifier la gestion et d’améliorer la fiabilité et la capacité de mise à l’échelle. Après une courte phase d’évaluation, Ubisoft a choisi le Cloud Amazon Web Services (AWS). « AWS offre une gamme de services impressionnante, cette décision était donc une évidence pour nous », déclare M. Fortin. En outre, d’autres secteurs d’activité d’Ubisoft utilisaient déjà AWS depuis plusieurs années pour accélérer le développement de nouveaux jeux et mettre leurs services à l’échelle en fonction de la demande. « Nous avions déjà constaté l’efficacité d’AWS en matière de capacité de mise à l’échelle et d’agilité, ce qui a clairement influencé notre décision d’opter pour AWS. »

Ubisoft a migré vers AWS les environnements de développement, de préproduction et de production de sa plateforme Storm, qui s’exécute sur 40 instances Amazon Elastic Compute Cloud (Amazon EC2). L’entreprise utilise également l’autoscaling pour la mise en service automatique des ressources de calcul et tire parti des fonctionnalités d’orchestration d’Amazon EC2 Container Service (Amazon ECS) pour gérer le service de relais Storm. « Nous devions autrefois planifier les conteneurs Docker manuellement, mais Amazon ECS s’en charge désormais pour nous », explique M. Fortin. Ubisoft utilise Amazon ElastiCache pour configurer et gérer des entrepôts de données en mémoire distribués.

La solution Storm achemine le trafic entre deux consoles via AWS. Ubisoft peut automatiquement augmenter ou réduire verticalement le service en fonction du nombre de joueurs utilisant la solution. Ubisoft a lancé sa plateforme Storm pour son jeu d’action-aventure Watch Dogs 2 fin 2016 et prévoit d’utiliser ce service pour d’autres jeux à venir.

Simplification de la gestion à l’aide de conteneurs

Ubisoft peut désormais facilement mettre Storm à l’échelle à l’aide d’AWS. « La capacité de mise à l’échelle est essentielle pour nous, car notre service de jeu s’étend à l’échelle mondiale et nous ne créons pas de nouvelles piles pour chaque jeu afin de répondre à la demande, précise M. Fortin. Grâce à AWS, nous pouvons automatiquement mettre nos services à l’échelle pour prendre en charge les pics de trafic importants. Au cours des dernières vacances de Noël, nous avons répondu à l’augmentation de la demande de trafic pour Watch Dogs 2 en procédant à une augmentation verticale. Nous sommes ainsi passés à 120 serveurs relais acheminant 70 téraoctets de données en 20 jours. »

L’entreprise peut gérer plus facilement son service de relais Storm en utilisant Amazon ECS. « Storm est désormais très facile à gérer, car nous utilisons Amazon ECS pour l’orchestration et le déploiement, explique M. Fortin. Et combiné aux groupes Auto Scaling, il devient essentiellement un modèle de conteneur en tant que service. En tant que service géré, Amazon ECS fait tout pour nous : il est toujours opérationnel et nous n’avons pas besoin de passer du temps à son entretien. » À titre d’exemple, Éric Fortin souligne la capacité de mise à l’échelle automatisée de Watch Dogs 2. « Nous pouvions gérer 120 serveurs avec une équipe de trois personnes, car nous ne devions pas consacrer du temps à la gestion du backend, déclare-t-il. Au lieu d’installer et de superviser nous-mêmes un outil de gestion et d’orchestration, ce qui nous aurait pris des semaines, nous avons configuré notre service pour qu’il puisse faire face au pic de trafic à l’aide d’Amazon ECS, ce qui ne nous a pris que quelques jours. »

Déploiement de mises à jour mondiales en quelques minutes

Ubisoft est désormais plus agile, car elle gère ses solutions dans le cloud. « En tirant parti d’AWS, nous bénéficions d’une agilité que nous n’aurions jamais eue dans un environnement informatique sur site, déclare M. Fortin. Nous pouvons ainsi procéder à des tests beaucoup plus rapidement. Par exemple, nous pouvons créer une nouvelle base de données Redis en quelques secondes à l’aide d’Amazon ElastiCache, au lieu de devoir installer et configurer la base de données nous-mêmes. »

Grâce à cette agilité, Ubisoft peut déployer de nouvelles fonctionnalités et des mises à jour plus rapidement qu’auparavant. « Nous effectuons des déploiements continus dans 3 régions en moins de 30 minutes, car nous utilisons Amazon ECS pour toutes nos mises à jour, explique M. Fortin. Grâce à AWS, nous disposons de l’autonomie nécessaire pour essayer de nouvelles choses très rapidement. Nous n’avons donc pas besoin d’étudier une nouveauté pendant des semaines pour savoir si elle fonctionnera. En fin de compte, cette rapidité et cette agilité nous rendent plus compétitifs. »


À propos d’Ubisoft

Ubisoft est l’un des principaux créateurs, éditeurs et distributeurs de divertissements et de services interactifs, avec un riche portefeuille de marques de renommée mondiale parmi lesquelles Assassin’s Creed, Just Dance, la série de jeux vidéo Tom Clancy’s, Rayman, Far Cry et Watch Dogs.

Avantages d’AWS

  • Mise à l’échelle rapide en réponse aux demandes de 80 000 joueurs
  • Déploiement de mises à jour mondiales des services de jeu en moins de 30 minutes
  • Meilleure compétitivité grâce à la rapidité et à l’agilité

Services AWS utilisés

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Destiné aux développeurs, il est conçu pour faciliter l'accès aux ressources de cloud computing à l'échelle du Web.

En savoir plus »

Amazon ECS

Amazon Elastic Container Service (Amazon ECS) est un service d’orchestration de conteneurs hautes performances doté d’une grande capacité de mise à l’échelle qui prend en charge les conteneurs Docker et vous permet d’exécuter et de mettre à l’échelle facilement des applications conteneurisées sur AWS.

En savoir plus »

Amazon ElastiCache

Amazon ElastiCache offre Redis et Memcached entièrement gérés. Déployez, exécutez et mettez à l'échelle de manière transparente les magasins de données en mémoire compatibles Open Source.

En savoir plus »

Auto Scaling

AWS Auto Scaling contrôle vos applications et ajuste automatiquement la capacité à maintenir des performances constantes et prévisibles de la manière la plus rentable possible.

En savoir plus »


Démarrer

Les entreprises de toute taille et de tous les secteurs d'activités transforment chaque jour leurs activités à l'aide d'AWS. Contactez nos spécialistes et commencez dès aujourd'hui votre transition vers le Cloud AWS.