Découvrez les coulisses avec notre équipe responsable de l'infrastructure !
Les coulisses
Vous avez sans doute remarqué les annonces de maintenance dans nos articles des actualités. Vous expliquer les détails la maintenance de l'infrastructure chez Jagex nous a donc semblé une bonne idée.
Étant donné le sujet, vous risquez de rencontrer du vocabulaire technique dans cet article, mais nous essaierons de ne pas le rendre trop complexe. Allez, c'est parti !
Qu'est-ce que la maintenance de l'infrastructure et pourquoi est-elle importante ?
La maintenance de l'infrastructure est selon nous la cousine injustement dénigrée des mises à jour du jeu. Elle regroupe l'entretien, la correction, l'optimisation et la mise à l'échelle des fondations techniques qui font tourner les serveurs de Giélinor !
La maintenance de l'infrastructure inclut des activités comme :
- Le bon fonctionnement des serveurs : la maintenance matérielle et logicielle nous permet de remplacer l'équipement vieillissant, de corriger les vulnérabilités ou de déplacer les services vers des configurations plus modernes et adaptables.
- La protection de vos objets : nous paramétrons nos bases de données pour garantir un stockage sûr et une récupération de vos objets comme la cape du grand maître.
- L'efficacité des clics : grâce à la maintenance du réseau, vos clics de souris frénétiques nous arrivent efficacement et sans encombres.
- La détection et la résolution des problèmes : les améliorations apportées à la surveillance et à l'automatisation garantissent la détection et la résolution de problèmes avant même que vous ne les remarquiez.
- Le nourrissage des hamsters : cela évite qu'ils ne nous mangent les yeux !
Nous ne répéterons pas la phrase de Dan Simmons sur l'entropie, mais en gros, tous les systèmes finissent par décliner, peu importe qu'ils soient bien construits. Comme pour les travaux publics, un entretien continu est nécessaire pour que nos infrastructures restent fonctionnelles. Grâce à notre travail, nos jeux restent stables, rapides, sécurisés, et idéalement sans que vous ne vous en rendiez compte.
De quelle façon la maintenance de l'infrastructure profite-t-elle aux joueurs ?
Nous souhaitons vous exposer des situations spécifiques durant lesquelles vous avez profité de la maintenance de l'infrastructure.
Vous vous souvenez très certainement de ce gros problème de connexion d'il y a quelques années. Empêcher autant que possible ce genre de situations est très important pour nous. C'est pourquoi l'un des points clés sur lequel nous concentrons nos efforts est l'amélioration de la sauvegarde des données et des fonctionnalités de protection de données continue. Cela contribuera à réduire le risque qu'une telle situation ne se reproduise.
Voici d'autres exemples :
- Réduction du besoin d'une maintenance hors ligne : oui, nos serveurs de jeu étaient des machines physiques. Nous sommes passés à des machines virtuelles pour profiter de la migration en temps réel et moins avoir à mettre le jeu hors ligne.
- Performances de cycles élevées : nous avons amélioré notre matériel pour des serveurs optimisés pour des cycles précis.
- Amélioration de la stabilité: les serveurs de jeu ont un modèle d'exécution proche du temps réel. Nous sommes passés à un ramasse-miettes continu (si si, ça existe) via des machines virtuelles sous Java qui nous aide à obtenir des performances de cycles fluides.
- Fiabilité améliorée avec les comptes Jagex : même s'il s'agit d'un système assez récent, nous avons déjà apporté des améliorations en déployant une infrastructure Amazon Web Services EKS (Elastic Kubernetes Service) / RDS (Relational Database Service) moderne et évolutive.
- Cela nous permet de facilement déployer, gérer et faire évoluer des applications conteneurisées sans la complexité d'une gestion de l'infrastructure sous-jacente, ce qui aide énormément.
- Réduction des interruptions : nous sommes récemment passés d'un centre de données vieillissant à un nouveau de catégorie 3 qui nous donne une fiabilité supplémentaire et aide à atténuer les risques d'incidents d'alimentation.
Nous pensons constamment au futur de nos infrastructures et tirons des enseignements en toute circonstance. Par exemple, l'équipe qui travaillait sur le désormais annulé projet Zanaris a effectué un travail remarquable qui nous aidera à moderniser plus de systèmes et à les migrer vers AWS, réduisant ainsi le besoin d'une maintenance hors ligne.
Comme mentionné précédemment, les cycles sont rois ici, nous essayons donc de changer notre plateforme de virtualisation des serveurs de jeu pour passer d'un ordonnanceur de CPU en co-planification (ESXi) à un ordonnanceur asynchrone (Linux CFS/PreemptRT sous KVM). Si l'on met de côté tout ce vocabulaire technique, l'idée principale est que tout cela nous aidera à réduire les cycles de jeu manqués dans des conditions de chargements intensifs.
Plaintes communes
Les interruptions sont pratiques pour nous occuper des corvées et avancer dans notre travail, mais nous savons que vous préféreriez pouvoir jouer. Si notre travail est important pour la santé du jeu sur le long terme, nous voulons être transparents avec vous à propos des problèmes les plus souvent signalés lorsque le jeu est hors ligne.
Pourquoi la maintenance de l'infrastructure requiert-elle une interruption ?
Cela vous surprendra peut-être, mais ce n'est pas le cas en général. La plupart de nos activités de maintenance de l'infrastructure sont réalisées sans aucune interruption.
Cependant, certaines activités (trop à notre goût) ne peuvent pas être accomplies si le jeu est en ligne. C'est partiellement la nature du travail sur des jeux fantastiques forts de 24 ans d'histoire ; certains composants logiciels sont avec nous depuis longtemps et ne sont pas aussi adaptables ou dynamiques que nous le souhaiterions.
Dans certains cas, cela exclut des approches comme le déploiement bleu/vert (un passage fluide d'une version à l'autre) ou des mises à jour d'un système, élément après élément.
Cela ne veut pas dire que les interruptions nous plaisent. Nous tentons de toujours faire en sorte que les mises à jour et les changements impactent le moins de personnes possibles et ce, pendant le plus court laps de temps.
Pourquoi est-ce siiiiii long ? Je veux jouer !
Nous voulons tous que mamie sorte de sa cage au plus vite (vous vous souvenez de ce meme ?).
Lorsque nous planifions une maintenance de infrastructure, notre travail sur la persistance des données nous empêche souvent de le faire en coulisses pendant que le jeu tourne. Les grands deux responsables sont la facturation et les sauvegardes des joueurs.
Lorsque Jagex effectue des travaux significatifs sur ces systèmes (certains de ces systèmes stockent les données dans des formats propriétaires de Jagex), le plus important pour nous n'est pas la vitesse mais la précision. Une grande partie de la durée de la maintenance est dédiée à vérifier que les sauvegardes des joueurs et que l'état du jeu sont corrects avant de réouvrir le jeu aux joueurs.
Personne n'aime les réinitialisations et si une interruption peut durer si longtemps, c'est en partie pour éviter de devoir recourir à une réinitialisation à cause du travail sur l'infrastructure.
Dans tous les cas, après chaque partie de maintenance essentielle que nous effectuons, surtout lorsqu'une interruption est impliquée, l'équipe se réunit toujours à la recherche de ce qui peut être amélioré la prochaine fois !
Pourquoi l'interruption lors d'une maintenance d'infrastructure est habituellement mondiale ? Pourquoi les activités de maintenances ne sont pas planifiées à l'échelle locale ?
La non-répartition des joueurs en fonction de leur localisation est une particularité plutôt spécifique à RuneScape et OSRS. L'une des conséquences est que l'état du jeu ou les autres services liés à la backend sont des constructions globales. Lorsque nous effectuons une maintenance perturbant ces services de backend globaux, une interruption globale est requise.
Une grande partie des maintenances à l'échelle locale est déjà transparente pour les joueurs. Nous prévoyons de faire plus de choses limitées à une région géographique lorsque cela est possible.
Les maintenances ont généralement lieu entre 8 h et 14 h UTC, ce qui correspond à nos horaires de travail au Royaume-Uni. Nous savons que cela peut-être frustrant si vous vous trouvez dans un fuseau horaire éloigné, mais le but est d'avoir toute l'équipe à disposition en cas d'urgence.
Nous avons étudié d'autres créneaux pour occasionnellement déplacer l'impact selon les régions, mais cela demande plus de discussions.
Conclusion
C'est tout pour nous ! Comme toujours, vous pouvez vous tenir au courant des maintenances prévues via l'article des actus, nos réseaux sociaux, les pages du service clientèle ou celle sur le statut du jeu.
Nous espérons que cela vous aura donné un meilleur aperçu de nos efforts constants pour améliorer votre expérience et de la raison pour laquelle nous devons parfois mettre le jeu hors ligne. Si vous aimez ce genre d'article, dites-le-nous ! L'équipe vous rédigera d'autres articles sur le sujet avec plaisir !
Nous vous remercions d'avoir pris le temps de lire ce blog. Que les forces de l'aléatoire soient avec vous !
- Les J-Mods de l'infrastructure
Mods Kraken, Vxp, Bash, Maniac, Vallcore, Haydon, Maniac, Cky, Qwert, Drax, M0iqp, Ibex, Adad, Roman ... et 🐹