Ce guide aide les développeurs à tester, visualiser et optimiser leurs jeux multijoueurs à l'aide de la gamme de tests Amazon GameLift. Grâce à celle-ci, les développeurs peuvent dépanner, déboguer et régler leur infrastructure Amazon GameLift. Le présent guide propose une fonctionnalité optionnelle permettant d'utiliser des joueurs virtuels qui exécutent le même code que les joueurs réels. Les développeurs peuvent ainsi tester l'efficacité de leur jeu avant son lancement en production.

Diagramme d'architecture

Télécharger le diagramme d'architecture PDF 

Piliers AWS Well-Architected

Le cadre AWS Well-Architected vous permet de comprendre les avantages et les inconvénients des décisions que vous prenez lors de la création de systèmes dans le cloud. Les six piliers du cadre vous permettent d'apprendre les bonnes pratiques architecturales pour concevoir et exploiter des systèmes fiables, sécurisés, efficaces, rentables et durables. Grâce à l'outil AWS Well-Architected Tool, disponible gratuitement dans la console de gestion AWS, vous pouvez examiner vos charges de travail par rapport à ces bonnes pratiques en répondant à une série de questions pour chaque pilier.

Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.

  • La boîte à outils et l'exemple de jeu sont tous deux entièrement déployés grâce à l'infrastructure en tant que code. Ainsi, les erreurs causées par les processus manuels et l'effort nécessaire pour déployer des modifications sont réduits.

    Lire le livre blanc sur l'excellence opérationnelle 
  • L'API de console Web sans serveur d'API Gateway est protégée par une authentification basée sur la gestion des identités et des accès AWS (AWS IAM) contre un groupe d'utilisateurs Amazon Cognito.  

    L'exemple de backend de jeu sans serveur d'API Gateway est protégé par une authentification basée sur IAM pour une validation sécurisée de l'identité d'invité du joueur.

    Les serveurs de jeu de GameLift autorisent uniquement l'accès aux ports utilisés pour la communication client-serveur. Les fonctions Lambda du backend n'ont accès qu'aux services dont elles ont besoin.

    Lire le livre blanc sur la sécurité 
  • Les données sont stockées dans des tables DynamoDB, utilisant l'allocation de capacité à la demande pour se mettre à l'échelle automatiquement en fonction de l'évolution de la demande.  

    Les services backend de la solution utilisent Lambda, qui met automatiquement les instances à l'échelle.  

    L'exemple de backend de jeu prend en charge la mise à l'échelle automatique GameLift basée sur la cible pour gérer l'évolution de la demande.

    Lire le livre blanc sur la fiabilité 
  • En tirant parti de technologies gérées et sans serveur comme API Gateway, Lambda, DynamoDB et Fargate, vous ne payez que pour les ressources que vous utilisez et réduisez ainsi les efforts opérationnels nécessaires à la maintenance de votre solution.  

    La solution peut être déployée dans la région de votre choix et utilise CloudFront pour réduire la latence pour l'utilisateur final de la console Web.

    Lire le livre blanc sur l'efficacité des performances 
  • Les tâches de joueur virtuel peuvent être lancées avec Fargate Spot pour réduire le coût des tests.

    La console Web et les exemples de backends de jeux utilisent des technologies sans serveur afin que vous ne payiez que pour les ressources que vous utilisez.  

    Le backend de la console Web utilise les fonctionnalités de mise à l'échelle natives de Lambda et d’API Gateway, les tables DynamoDB utilisant l'allocation de capacité à la demande pour garantir que les ressources correspondent à la demande.

    L'exemple de backend de jeu prend en charge la mise à l'échelle automatique GameLift basée sur la cible afin de limiter les ressources nécessaires.

    Lire le livre blanc sur l'optimisation des coûts 
  • Le guide fait largement appel aux services gérés, ce qui confère à AWS la responsabilité de maintenir un taux d'utilisation moyen élevé.

    L'exemple de backend de jeu prend en charge la mise à l'échelle automatique GameLift basée sur la cible afin de limiter les ressources nécessaires. En regroupant les sessions de jeu sur un nombre minimal d'instances de serveur, l'utilisation des ressources est maintenue à un niveau constamment élevé.

    En utilisant largement les services gérés, le guide réduit votre impact individuel sur l'environnement.  

    Vous pouvez réduire davantage l'impact sur la durabilité des ressources inutilisées en lançant des serveurs de jeu sur les parcs d'instance Spot et en lançant des tâches de joueur virtuel sur Fargate Spot.

    Lire le livre blanc sur le développement durable 

Ressources d'implémentation

L'exemple de code est un point de départ. Il s'agit d'un document validé par l'industrie, prescriptif mais non définitif, et d'un aperçu pour vous aider à commencer.

Architecture AWS
Blog

Titre

Sous-titre
Texte
 
Cet article montre comment...
Lire l'intégralité de l'article de blog 
Architecture AWS
Blog

Titre

Sous-titre
Texte
 
Cet article montre comment...
Lire l'intégralité de l'article de blog 

Clause de non-responsabilité

Les exemples de code, les bibliothèques de logiciels, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe (y compris tout ce qui précède qui est fourni par notre personnel) vous sont fournis en tant que contenu AWS en vertu du contrat client AWS ou de l'accord écrit pertinent entre vous et AWS (selon le cas). Vous ne devez pas utiliser ce contenu AWS dans vos comptes de production, ni sur des données de production ou autres données critiques. Vous êtes responsable des tests, de la sécurisation et de l'optimisation du contenu AWS, tel que les exemples de code, comme il convient pour une utilisation en production, en fonction de vos pratiques et normes de contrôle de qualité spécifiques. Le déploiement de contenu AWS peut entraîner des frais AWS pour la création ou l'utilisation de ressources payantes AWS, telles que l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.