Pretty Simple Games : quand le jeu vidéo utilise Amazon Web Services
L’éditeur de jeux sur Facebook, Pretty Simple Games, a choisi d’utiliser les services cloud d’AWS pour y poser une partie de son infrastructure. Pour lui, l’intérêt repose surtout sur les capacités d’optimisation réseau de CloudFront, le Content Delivery Network du n°1 du Cloud.
Créé en 2010, Pretty Simple Games est spécialisé dans le jeu sur le réseau social Facebook. Aujourd’hui, l’éditeur a une quarantaine de collaborateurs. Le dernier titre en date est Criminal Case, lancé en décembre 2012. Pas moins de 4 millions de joueurs s’y connectent quotidiennement. Amazon Web Services a été intégré à l’équation depuis la première phase de la définition de l’architecture. Explication.
« L’architecture de nos jeux repose sur deux piliers : une partie navigateur et une partie serveur. Nous proposons des jeux Flash et cela nécessite donc un client Flash installé sur le navigateur du joueur. Mais l’intelligence se situe au niveau du serveur. D’une façon générale, nous avons plusieurs types de données : des données dynamiques pour des millions de joueurs, qui sont alors hébergées chez un hébergeur américain. Et ensuite, nous disposons de gros fichiers qu’il faut associer et «descendre» sur les postes des joueurs. Cela signifie un coût sur la bande passante », commente Bastien Cazenave, le co-fondeur de Pretty Simple Games, tout en ajoutant travailler constamment à améliorer et à optimiser les jeux. « C’est un travail de tous les jours », commente Bastien Cazenave, qui insiste sur le fait que tout jeu doit pouvoir gérer «une forte montée en charge ».
De l’hébergement classique
Si la société s’est posée la question de placer l’ensemble de son architecture sur un service cloud, elle utilise principalement trois services : Amazon EC2 (instances pour les ressources machines), Amazon S3 (stockage) et Amazon Cloudfront (Content Delivery Network). « Je sais que cela fonctionne bien et que AWS est compétitif. Pour nous, la fonction clé est le serveur Amazon Cloudfront car il permet de déployer nos fichiers », précise Bastien Cazenave.
Il ajoute : «l’hébergement répond à nos exigences en matière de performances et de coûts, même avec notre forte croissance. C’est assez prévisible. Pour monter une nouvelle machine, il nous faut entre 2 et 3 heures, ce qui nous suffit», poursuit Bastien Cazenave. L’infrastructure web dynamique repose sur un serveur web classique, des bases de données SQL et NoSQL, avec une redondance des données sur différents serveurs. « Nous mesurons la moindre seconde. Beaucoup d’utilisateurs sont aux Etats-Unis. Nous faisons entre 20 et 25 millions de visiteurs uniques par mois », explique Bastien Cazenave.
CloudFront pour les données statiques
Le CDN d’Amazon, CloudFront, sert quant à lui, aux données statiques utilisées par les jeux. Ces données sont diverses : images, fichiers et dialogues. « Nous positionnons les fichiers chez notre hébergeur - les serveurs Amazon CloudFront sont présents sur différentes zones géographiques. Le service les récupère et les ramène au plus près du joueur », poursuit-il. Cette configuration permet ensuite de mettre en cache les fichiers pour optimiser la distribution et la bande passante utilisée. Le cache du navigateur est également utilisé pour accéder rapidement aux données.
Amazon CloudFront ne modifie pas le développement ou l’infrastructure. On dispose d’une URL unique changeant à chaque nouvelle version. « L’utilisateur charge uniquement les nouvelles données et les données importantes », précise Bastien Cazenave. Malgré tout, le premier lancement d’un jeu nécessite plus de temps car il faut charger l’ensemble des fichiers (notamment les fichiers Flash). « Nous réfléchissons beaucoup sur ce qu’il faut charger et quand opérer le chargement. Mais cela va beaucoup dépendre de la zone géographique et de la qualité de la connexion. Cela peut prendre une quinzaine de secondes aux Etats-Unis et de 60 à 80 secondes en Australie, » analyse le co-fondateur. En revanche, quand le joueur relance le jeu, le démarrage est quasi instantané.
« Honnêtement, on ne s’occupe de rien. On dépose les fichiers. On remplace les URL par les URL Amazon CloudFront. Et c’est tout. Nous n’avons jamais constaté de pannes qui auraient affecté notre business. Nos enjeux, aujourd’hui, sont principalement l’amélioration des montées en charge sur le NoSQ, et la tolérance aux pannes », conclut-il. Aujourd’hui, Pretty Game fait parti des 50 plus gros clients d’Amazon CloudFront.