Update defense

This commit is contained in:
nemunaire 2014-09-03 15:29:06 +02:00
parent 53cae331b5
commit 7da19d2be6
5 changed files with 75 additions and 31 deletions

View File

@ -1,3 +1,10 @@
%%define putpic($x , $y , $width , $path)
return "\\begin{tikzpicture}[remember picture,overlay]" .
"\\node at ($x,$y) {" .
"\\includegraphics[width=$width]{$path}};" .
"\\end{tikzpicture}"
=end
% Soutenance de stage de fin d'études
% Pierre-Olivier Mercier
% Jeudi 4 septembre 2014
@ -15,11 +22,11 @@
## \textsc{Dual}
\vspace*{-0.5cm}
\vspace*{-0.8cm}
%%image(../templates/nemu/images/game.png, 0.7)
\vspace*{-0.7cm}
\vspace*{-0.9cm}
* Jeu-vidéo MMO ;
* monde unique, éditable, rendu par *Voxels* ;
@ -47,29 +54,50 @@
%%image(../report/img/grafana-monitor0.png)
## Conception de recettes de déploiement
## Déploiement centralisé
### Via Ansible
* Serveur de monitoring ;
* serveur de jeu ;
* serveur de conteneurs génériques.
### Recettes Ansible
### via Docker
* Serveurs de conteneurs applicatifs (LXC, Docker) ;
* machines pour les tests de montée en charge ;
* machines virtuelles pour les développeurs.
%%putpic(98mm, 10mm, 2cm, ../templates/nemu/images/ansible)
### Inventaire automatique
Qualification des machines à partir d'une nomenclarure prédéfinie.
## Interface de gestion
%%image(../report/img/ncurses-dev.png)
## Virtualisation légère
### Conteneurs applicatifs
* Site web du jeu ;
* forum ;
* supervision ;
* LDAP.
* serveur LDAP.
%%putpic(95mm, 13mm, 4cm, ../templates/nemu/images/docker)
## Tests de montée en charge
### Sur un serveur OVH
* Déploiement d'un serveur de jeu ;
* relevé de métriques système ;
* profiling du code 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.
* Construction du disque virtuel par recette Ansible ;
* lancement progressif des machines virtuelles via l'API.
# Conclusion

View File

@ -114,9 +114,9 @@ code aux développeurs du projet qui l'ont rapidement accepté.
La base de données expose une API fonctionnant au dessus du protocole HTTP, la
bibliothèque que j'ai réalisé utilise donc allégrement la `libcurl`.
## Conception de recettes de déploiement
## Déploiement centralisé
### Ansible
### Recettes Ansible
Avec de nombreux serveurs, on a parfois du mal à gérer et centraliser leur
configurations et la mise à jour de l'application pour laquelle ils sont
@ -142,14 +142,26 @@ virtuelles pour les environnements où l'on ne peut pas utiliser la
virtualisation légère : les machines virtuelles à destination des développeurs
ainsi que les machines client pour les tests de montée en charge.
### Inventaire automatique
L'inventaire des machines est réalisé par un script écrit en Python, respectant
les spécifications attendues par Ansible. Il peut récupérer depuis différentes
sources (liste des machines de la `libvirt` pour un environnement local de
test, requête AXFR sur un sous-domaine) la liste des machines ainsi que leur IP
et qualifie ensuite, à partir d'une nomenclature précise, chaque machine et
applique ensuite la recette qui doit être appliquée.
## Interface de gestion
Pour le moment, les interactions avec le serveur sont encore relativement
limitées, donc tous les développeurs n'ont pas encore besoin de cette machine
virtuelle, mais à terme, elle permettra de charger différents scénarios de
tests adapté à chaque développeur, via une interface simplifiée : aujourd'hui
c'est une interface sommaire réalisée avec Curses, mais lorsque la demande sera
plus forte, une interface web offrira les mêmes possibilités.
virtuelle et se contente d'un serveur commun, mais à terme, elle permettra de
charger différents scénarios de tests adapté à chaque développeur, via une
interface simplifiée : aujourd'hui c'est une interface sommaire réalisée avec
Curses, mais lorsque la demande sera plus forte, une interface web offrira les
mêmes possibilités.
### Docker
## Virtualisation légère
On utilise Docker pour créer et exécuter des conteneurs applicatifs. Il s'agit
de virtualisation légère : un environnement complet est embarqué, de la même
@ -167,7 +179,7 @@ Docker est un projet récent, qui sussite un très fort engouement depuis sa
création ; la première version finale est sortie il y a deux mois, ce qui
permet de rassurer quant à sa stabilité pour les environnements de production.
### Tests de montée en charge
## Tests de montée en charge
On a fait les tests de montée en charge en installant sur une machine type un
serveur de jeu.

View File

@ -1,9 +1,17 @@
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$]{$documentclass$}
\usepackage{tikz}
\usetheme{Darmstadt}
%\usetheme{Darmstadt}
\usetheme{Frankfurt}
\setbeamercolor{structure}{fg=black, bg=black}
\setbeamercovered{dynamic}
\pgfdeclarelayer{foreground}
\pgfsetlayers{main,foreground}
\definecolor{secinhead}{RGB}{255,102,0}
\setbeamercolor{frametitle}{fg=secinhead}
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
\setbeamercolor*{title in head/foot}{parent=palette secondary}
\setbeamercolor*{date in head/foot}{parent=palette primary}
@ -11,6 +19,10 @@
\setbeamercolor*{section in head/foot}{parent=palette tertiary}
\setbeamercolor*{subsection in head/foot}{parent=palette primary}
\useinnertheme{circles}
%\usepackage{wasysym}
%\setbeamertemplate{itemize items}{\hexagon}
\pgfdeclareimage[height=\the\paperheight]{backgroundImage}{images/background}
\setbeamertemplate{background}{
@ -22,6 +34,7 @@
\ifnum\thepage>0\relax%
\fill[white, opacity=0.6] (0cm, 0cm) -- (0cm, 1.0\paperwidth) -- (1.0\paperwidth, 1.0\paperwidth) -- (1.0\paperwidth, 0cm) ;
\fill[black, opacity=0.05] (0cm, 0cm) -- (0cm, 1.0\paperwidth) -- (1.0\paperwidth, 1.0\paperwidth) -- (1.0\paperwidth, 0cm) ;
\fi
\end{tikzpicture}
}
@ -45,15 +58,6 @@
\vskip0pt%
}
\setbeamertemplate{subsection page}
{
\begin{centering}
\begin{beamercolorbox}[sep=8pt,center,rounded=true]{part title}
\usebeamerfont{subsection title}\insertsubsection\par
\end{beamercolorbox}
\end{centering}
}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
@ -214,7 +218,7 @@ $endif$
\pgfdeclareimage[width=\textwidth]{nq-logo}{images/nq-high}
\institute{\pgfuseimage{nq-logo}}
\logo{\includegraphics[scale=0.25]{images/nq}\includegraphics[scale=0.09]{images/epita}}
\logo{\ifnum\thepage>1\includegraphics[scale=0.03]{images/nq-high}\hspace{7.55cm}\fi\includegraphics[scale=0.09]{images/epita}}
\begin{document}
$if(title)$

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB