2.8 KiB
2.8 KiB
% Soutenance de stage de fin d'études % Pierre-Olivier Mercier % Jeudi 4 septembre 2014
Novaquark
L'entreprise
- Startup fondée en janvier 2014 ;
- fondée par Jean-Christophe Baillie ;
- de 4 collaborateurs à 14 aujourd'hui ;
- actuellement dans l'incubateur Agoranov.
%%image(../templates/nemu/images/nq-high.png)
L'objet
%%image(../report/img/dual-dark.png, 0.5)
- Jeu-vidéo MMO ;
- monde unique, éditable, rendu par Voxel ;
- économie, gameplay émergent : où les joueurs construisent leur propre jeu via leurs interactions.
Visuel du jeu
TODO image voxel + visuel du jeu
Le stage
Présentation du sujet
- Travail avec l'équipe en charge du serveur ;
- mise en place des bases de l'infrastructure de mise à l'échelle :
- virtualisation, cloud computing ;
- relevé de métriques,
- déploiement centralisé,
- sécurité du cluster ;
- tests de montée en charge du serveur :
- déploiement automatique,
- dans les nuages.
Travail effectué
États de l'art
Plates-formes d'infrastructure en tant que service (IaaS)
- Amazon Web Services Elastic Cloud 2 ;
- Google Compute Engine.
Outils de déploiement automatique
- Ansible, Chef, Puppet ;
- Capistrano, Fabric, ...
Solutions de virtualisation
- Linux Containers (LXC), Docker ;
- Oracle VirtualBox, Linux KVM.
Réponses à des problématiques
Chat en jeu
- XMPP : jabberd*, ejabberd, prosody, ...
- IRC, Zephyr, ...
Authentification centralisée
- LDAP : centralisation ;
- Kerberos : jeu/serveurs et services en jeu (chat, ...).
Utilisation du serveur par les développeurs
- Machine virtuelle personnelle ;
- interface de gestion simplifiée.
Conception de recettes de déploiement
Via Ansible
- Serveur de monitoring ;
- serveur de jeu ;
- serveur de conteneurs génériques.
via Docker
- Site web du jeu ;
- forum ;
- supervision ;
- LDAP.
Programme de relevé de métriques système
sysinfo_influxdb
- Projet libre sous licence CC0 ;
- disponible sur GitHub ;
- écrit en Go (linkage statique) ;
- utilise la base de données InfluxDB.
Métriques relevées
- Utilisation du CPU ;
- mémoire disponible ;
- bande passante utilisée ;
- entrées/sorties disques ;
- charge, uptime.
Tests de montée en charge
Sur Amazon Web Services EC2
- Déploiement de machines virtuelles ;
- analyse des résultats : métriques, goulots d'étranglements ;
- profiling du code en charge.
Conclusion
Conclusion
J'ai pu travailler:
- avec des notions avant-gardistes : problèmatiques d'un monde unique réparti ;
- sur des technologies d'avenir émergentes : virtualisation légère, conteneurs applicatifs ;
- sur des sujets récurents : cloud computing, déploiement, sécurité ;
- pour et avec des projets libres : Ansible, InfluxDB, SBT, ...