Add defense
This commit is contained in:
parent
c3c05e2f38
commit
3dbbbe16e7
@ -21,7 +21,7 @@
|
||||
|
||||
<documents written_in="fr">
|
||||
|
||||
<slides name="slides">
|
||||
<slides name="defense">
|
||||
<date>2014-09-04T14:45</date>
|
||||
</slides>
|
||||
|
||||
|
44
slides/Makefile
Normal file
44
slides/Makefile
Normal file
@ -0,0 +1,44 @@
|
||||
DOCNAME = defense
|
||||
TARGET = defense.pdf
|
||||
|
||||
RM ?= rm -f
|
||||
MPP = perl -I../mpp ../mpp/mpp
|
||||
MPPFLAGS =
|
||||
PANDOC = pandoc
|
||||
PANDOCFLAGS = --latex-engine=xelatex --listings --toc --no-tex-ligatures --normalize --slide-level=2 -M lang=frenchb
|
||||
BUTLER = perl -I../butler/src ../butler.pl
|
||||
BUTLERFLAGS = --docname=${DOCNAME} --xml=../internship.xml
|
||||
LATEX = xelatex
|
||||
LATEXFLAGS = -halt-on-error -no-shell-escape
|
||||
|
||||
DEPS := ../internship.xml $(shell ${MPP} --list-includes ${TARGET:.pdf=.md})
|
||||
|
||||
all: ${TARGET}
|
||||
|
||||
assistant: MPPFLAGS += --assistant
|
||||
|
||||
assistant: all
|
||||
|
||||
clean:
|
||||
${RM} ${TARGET}
|
||||
|
||||
${TARGET}: ${DEPS}
|
||||
|
||||
.md.mppmd:
|
||||
${MPP} ${MPPFLAGS} $< > $@
|
||||
|
||||
.mppmd.tex:
|
||||
${PANDOC} ${PANDOCFLAGS} -t beamer --template=../templates/nemu/beamer/template.tex -o $@ $<
|
||||
|
||||
#.mppmd.maintex:
|
||||
# ${PANDOC} ${PANDOCFLAGS} -t latex -o $@ $<
|
||||
|
||||
#.maintex.tex:
|
||||
# ${BUTLER} ${BUTLERFLAGS} --main=$< > $@
|
||||
|
||||
.tex.pdf:
|
||||
${LATEX} ${LATEXFLAGS} -jobname=${@:%.pdf=%} $<
|
||||
${LATEX} ${LATEXFLAGS} -jobname=${@:%.pdf=%} $< >/dev/null
|
||||
${RM} ${@:.pdf=.aux} ${@:.pdf=.log} ${@:.pdf=.out} ${@:.pdf=.toc}
|
||||
|
||||
.SUFFIXES: .md .mppmd .maintex .tex .pdf
|
134
slides/defense.md
Normal file
134
slides/defense.md
Normal file
@ -0,0 +1,134 @@
|
||||
% 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, ...
|
@ -1,6 +1,7 @@
|
||||
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(handout)$handout,$endif$$if(beamer)$ignorenonframetext,$endif$]{$documentclass$}
|
||||
\usepackage{tikz}
|
||||
\usetheme{Darmstadt}
|
||||
\setbeamercolor{structure}{fg=black, bg=white}
|
||||
\setbeamercolor{structure}{fg=black, bg=black}
|
||||
\setbeamercovered{dynamic}
|
||||
|
||||
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
|
||||
@ -10,6 +11,23 @@
|
||||
\setbeamercolor*{section in head/foot}{parent=palette tertiary}
|
||||
\setbeamercolor*{subsection in head/foot}{parent=palette primary}
|
||||
|
||||
\pgfdeclareimage[height=\the\paperheight]{backgroundImage}{images/background}
|
||||
|
||||
\setbeamertemplate{background}{
|
||||
\begin{tikzpicture}
|
||||
\useasboundingbox (0,0) rectangle (\the\paperwidth, \the\paperheight) ;
|
||||
|
||||
\pgftext[at=\pgfpoint{-70pt}{0cm},left,base]{\pgfuseimage{backgroundImage}} ;
|
||||
|
||||
|
||||
\ifnum\thepage>0\relax%
|
||||
\fill[white, opacity=0.4] (0cm, 0cm) -- (0cm, 1.0\paperwidth) -- (1.0\paperwidth, 1.0\paperwidth) -- (1.0\paperwidth, 0cm) ;
|
||||
\fi
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
\setbeamertemplate{blocks}[rounded][shadow=false]
|
||||
|
||||
\setbeamertemplate{footline}
|
||||
{
|
||||
\leavevmode%
|
||||
@ -117,6 +135,8 @@ $if(verbatim-in-note)$
|
||||
$endif$
|
||||
$if(tables)$
|
||||
\usepackage{longtable}
|
||||
\setmainfont[Ligatures=Common]{LinBiolinum}
|
||||
|
||||
% These lines are needed to make table captions work with longtable:
|
||||
\makeatletter
|
||||
\def\fnum@table{\tablename~\thetable}
|
||||
@ -184,17 +204,17 @@ $if(title)$
|
||||
\title{$title$}
|
||||
$endif$
|
||||
$if(author)$
|
||||
\author{$for(author)$$author$$sep$ \and $endfor$}
|
||||
\author[$for(author)$$author$$sep$ \and $endfor$]{$for(author)$$author$$sep$ \and $endfor$\newline\scriptsize{sous la direction de M. Jean-Christophe Baillie}}
|
||||
$endif$
|
||||
$if(date)$
|
||||
\date{$date$}
|
||||
$endif$
|
||||
|
||||
\pgfdeclareimage[height=3.4cm]{assistant-logo}{images/assistants}
|
||||
\institute{\pgfuseimage{assistant-logo}}
|
||||
|
||||
\logo{\includegraphics[scale=0.1]{images/epita}}
|
||||
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true]
|
||||
\pgfdeclareimage[width=\textwidth]{nq-logo}{images/nq-high}
|
||||
\institute{\pgfuseimage{nq-logo}}
|
||||
|
||||
%\logo{\includegraphics[scale=0.1]{images/background}}
|
||||
|
||||
\begin{document}
|
||||
$if(title)$
|
||||
|
BIN
templates/nemu/images/background.jpg
Normal file
BIN
templates/nemu/images/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 528 KiB |
Reference in New Issue
Block a user