Add some illustrations

This commit is contained in:
nemunaire 2014-07-28 15:47:17 +02:00
parent 6e4a1c2e5a
commit 09500875d5
4 changed files with 39 additions and 4 deletions

View File

@ -7,7 +7,7 @@ rachetée par Aldebaran en 2012.
L'équipe se concentre sur la conception d'un jeu vidéo en ligne massivement
multijoueurs dans un monde unique partagé par tous les joueurs : \Dual.
%%fimage(img/nq.png, 0.5, "Le logo sigle de l'entreprise")
%%fimage(img/nq.png, 0.15, "Le logo sigle de l'entreprise")
### Contexte concurentiel
@ -26,7 +26,7 @@ partageant des idées innovantes de \Dual :
jeu Eve Online (plus de 500000 joueurs), tout en permettant aux joueurs
d'évoluer dans un monde éditable (à la manière de Minecraft).
%%fimage(img/dual-dark.png, 0.5, "Le logo du jeu")
%%fimage(img/dual-dark.png, 0.4, "Le logo du jeu")
### Organisation de l'équipe
@ -119,7 +119,7 @@ L'entreprise est établie dans l'incubateur Agoranov ; une pièce nous y a été
attribuée. Nous nous y retrouvons tous pour travailler, il est donc facile de
parler à n'importe qui puisque l'on se trouve dans le même espace.
%%fimage(img/tinyplanet.jpg, 0.8, "Notre espace de travail")
%%fimage(img/tinyplanet.jpg, 0.6, "Notre espace de travail")
Dès le premier jour, une machine dotée de composants de pointe m'a été
attribuée ; il m'a été laissé le choix du système d'exploitation. Au milieu de

View File

@ -25,7 +25,7 @@ métier du studio, cette solution a d'emblée été écartée.
### Propositions retenues
Les fournisseurs de service d'hébergement dans les nuages retenus sont :
Les fournisseurs de service d'hébergement en nuage retenus sont :
* Amazon Web Services Elastic Cloud 2 ;
* Digital Ocean ;
@ -51,6 +51,7 @@ support dont nous bénéficions en tant que start-up en développement.
Vous trouverez en annexe le tableau de résultat comparatif effectué
dans le cadre de cette analyse.
\newpage
## Analyse des outils de déploiement automatique
@ -98,6 +99,8 @@ Vous trouverez en annexe le tableau comparatif effectué dans le cadre
de cette analyse.
\newpage
## Analyse des solutions de virtualisation
### Objectifs
@ -151,6 +154,8 @@ solution. LXC reste dans la course pour tout ce qui nécessite une configuration
avancée que ne permettrait pas de faire Docker.
\newpage
## Recherche d'une solution de gestion de chat ingame
### Objectifs
@ -184,6 +189,8 @@ transparente, comparé aux autres implémentations et des autres
protocoles.
\newpage
## Recherche d'une solution de gestion de l'authentification
### Objectifs
@ -233,6 +240,8 @@ l'échange de tickets permet de s'affranchir de trop nombreuses
authentifications.
\newpage
## Conception d'un programme de relevé de métriques système
### Objectifs
@ -279,6 +288,11 @@ en permettant plus facilement de comparer sur le long terme l'utilisation des
ressources sur les machines en les corrélant avec les événements survenus dans
le jeu.
%%fimage(img/cubism.png, 0.77, "Tableau de bord réalisé avec Cubism")
%%fimage(img/grafana-monitor0.png, 1, "Tableau de bord réalisé avec Graphana")
\newpage
## Conception de recettes de déploiement automatique de serveurs
@ -320,16 +334,22 @@ Les recettes qu'il a été nécessaire de développer sont les suivantes :
un serveur icinga (clone de nagios). Le conteneur est préconfiguré pour
superviser les serveurs connus au moment de sa construction.
\vspace{1em}
Pour chaque recette, un certain nombre d'actions communes sont effectuées comme
la mise à jour des paquets et la sécurisation générale (comme la restriction de
l'authentification par SSH, des règles de pare-feu sommaires et diverses règles
permettant de prévenir diverses attaques comme le DNS et l'ARP-poisoning).
\vspace{1em}
Certaines machines disposeront de deux interfaces réseau : une publique et une
interne. Un plugin pour Ansible a donc été développé afin de gérer la présence
de ces deux cartes, permettant d'adapter automatique les configurations des
logiciels en fonction de leur besoin (usage interne ou externe au cluster).
\vspace{1em}
De nombreux modules Ansible existent afin de configurer des bases de
données. Malheureusement, InfluxDB étant encore relativement récente, aucun
module n'était disponible. Pour nos besoins, nous avons donc du développer un
@ -338,6 +358,8 @@ bibliothèques, nous évitant ainsi d'avoir des prérequis sur les machines). Un
demande de fusion de branche a été passé auprès de l'équipe d'Ansible afin de
permettre l'exécution de programme natifs (précédemment limité aux scripts).
\vspace{1em}
Les premières versions du serveur de jeu utilisaient le programme de
compilation `sbt-native-packager`, cela générait les scripts
d'initialisation. Lors de la mise en place des recettes de déploiement pour
@ -345,6 +367,8 @@ cette version du serveur, nous avons observé un bug dans le script
d'initialisation à destination des systèmes Debian. Nous avons donc corrigé le
problème et soumis le correctif au mainteneur du la solution.
\vspace{1em}
Un peu plus tard, afin d'enregistrer les actions effectuées par le programme de
déploiement, il a été nécessaire de développer un nouveau module pour Ansible
afin qu'il enregistrer les actions qu'il fait et les éventuelles erreurs qu'il
@ -352,6 +376,8 @@ rencontre. Cela permet d'avoir une traçabilité des déploiements et des mises
jour effectuées sur l'ensemble du cluster.
\newpage
## Mise en place d'un processus de livraison du serveur à destination des développeurs du client
### Objectifs
@ -422,6 +448,8 @@ virtuelles et de leur permettre de contrôler certain aspects préenregistrés
les journaux du serveurs.
\newpage
## Conception de l'architecture de test de monté en charge
### Objectifs
@ -452,6 +480,8 @@ d'acteurs. La nouvelle monté en charge a permis d'atteindre cette fois plus de
et il n'en résultat pas de plantage du serveur.
\newpage
## Intégration de métriques dans le serveur
### Objectifs
@ -483,6 +513,8 @@ code du serveur une série de macros envoyant à chaque événement intéressant
message vers la base de données.
\newpage
## Déploiement du site web commercial du jeu
### Objectifs
@ -511,6 +543,9 @@ spécifique afin de répondre à la demande fluctuante, selon des critères
préétablis. Après ce test, compte-tenu du coût de la solution, il a été décidé
d'attendre d'en avoir vraiment l'utilité.
%%fimage(img/siteweb.png, 0.95, "Page d'accueil du site web")
\newpage
## Conception de l'architecture des serveurs

BIN
report/img/cubism.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
report/img/siteweb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB