This repository has been archived on 2021-03-01. You can view files and clone it, but cannot push or open issues or pull requests.
internship-novaquark/slides/defense.pdfpc
2014-09-04 09:48:22 +02:00

95 lines
3.8 KiB
Plaintext

[file]
defense.pdf
[duration]
25
[notes]
### 1
Bonjour tout le monde, je suis Pierre-Olivier Mercier et je vais vous présenter le stage que j'ai effectué dans le studio de jeux vidéo Novaquark.
### 2
Tout d'abord, je vais vous parler de l'entreprise Novaquark
Puis nous verrons en quoi consistait le stage
avant de détailler les travaux que j'ai effectués.
### 4
Jean-Christophe Baillie, my supervisor founded the Novaquark company at the begining of this year.
When I arrived in mid-February, there were only four employees, in a small office in a startups incubator.
Since yesterday, with the arrival of a game designer, we are now fourteen. We occupy a larger office and by the end of the month, we will move in the biggest office available in Agoranov.
### 5
The company creates a Massively Multiplayer Online Game called Dual Universe. It is a futuristic single-shared sandbox game, featuring emergent gameplay around economy, politics in a fully editable Voxel world.
Like the famous game Eve Online, players build their own game throught interactions they have together. They can freely craft the world, create structures, space ships and giving birth to empires.
All players shared the same universe which obviously has to be spread across multiple servers.
### 7
- travail avec l'équipe serveur
- bases pour adapter nb serveurs/nb joueurs => scalab
=> cloud computing
- ex: le soir quand les joueurs rentrent... puis coucher
- Pour réaliser cela => relève indicateurs : CPU, RAM, nbpl
- ex: stade critique (CPU 90%) => démarre
- pas magique : load-balancer + minimiser les flux réseau
- j'ai principalement travaillé sur l'infra, vs. maître code
- tests charge : pas sur l'archi complète : même si fixé, pas implem
### 8
### 9
- 1er projet : relever des indicateurs système => DB
- choix InfluxDB : récent, distribué, stockage de données temporelles : événements ou métriques
? CPU, RAM, BP, I/O, load, uptime <= /proc
- GitHub, Go link statique runtime ; ML en mars => PR
- Interface web visual : Grafana
### 10
Cubism (tte machin)
- serveur de jeu : nb pl, latence DB, ...
- besoin d'un lib, inexistante, dev puis soumises aux devs
- API proto HTTP => libcurl
### 11
- plein serveurs => gérer/centraliser leur conf et MAJ => failles de sécurité
- Chef/Puppet/Ansible : config/vérif ; recettes => descr
- MAJ app métier : ex migration de DB :
1. retirer du cluster
2. MAJ via scripts
3. si ok, replace dans le cluster, sinon mamuel
- nous : Ansible pour serveur cntr appl, load-tester, dev0
- invntr auto : Python ; plein de sources : libvirt, AXFR
### 12
- dev besoin VM pour tester
- actuellement : VBox + interface Curses
=> gérer les processus, voir les logs, effacer la DB
- à terme : interface web + chargmnt de scénario prédef
### 13
- Docker pr créer et exec des cntr appl.
=> Virtualisation légère : comme VBox, env complet isolé
sans émuler ni noyau. Noyau crée un espace d'exec //
- pratique pour tester avant la prod => aucun composant externe hormis les données
- Docker récent : fort engouement. Version finale qq mois
encouragent stabilité pour la prod
### 14
- install machine type : serveur de jeu
- gr nb de joueur => cloud Amazon
Ansible : crée les disque => client act alé : connexion, déplacement, pose d'élm
- première idée de la viabilité de l'architecture
=> saturé à 50 gens !!
- 1er test : bug de l'ordonnanceur de la lib
- pas d'archi complète : manque partage données
### 16
travail avec tech avnt gardiste : pb monde unique réparti
mnt en comptnce tech avenir émergente : virt légère + cntr appl
intéressé sujet récurents : cloud, déploiement, sécu
contrib libre : Ansible, InfluxDB, SBT
Finalement, travail apprécié, CDI proposé à l'issue continuer sur ces pb
Exposé termi, poser éventuelles question.