Partez à la conquête du web
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/1217732/theodo.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934598/fab.jpeg)
Fabrice Bernhard
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934626/maximet.png)
Maxime Thoonsen
"It's Not the Big That Eat the Small...It's the Fast That Eat the Slow"
-- Laurence Haughton
Disruption
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007651/air-bnb.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007652/uber.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007665/slack-1024x1024.png)
On est là
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007693/human-progress-time-exponential-ai.png)
Loi de Moore
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007741/lara-croft.png)
Loi de Moore
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007744/product-faster-moore-law.png)
Donner confiance
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007758/google.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931827/DevOpsDays.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934008/leanstartupbook.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934005/scrumenaction.png)
3 piliers de Theodo
Livrer les fonctionnalités toujours plus rapidement
Résoudre les problèmes toujours plus rapidement
Communication
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/758469/WallOfConfusion.png)
Sysadmins/développeur
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/758465/arton1856.jpg)
Sysadmins/développeur
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1281726/cerveau-_change.jpg)
Amélioration continue
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283607/buildmeasurelearn.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007826/pizza_team.png)
Automatisation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/933981/travis.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1943712/circleci.png)
Intégration continue
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1933868/velocity-code-quality.png)
Intégration continue
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1933667/codecoverage.png)
Couverture de code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1933915/Continuous_Delivery_Continuous_Deployment.jpg)
Livraison continue
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931877/capistrano.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1933935/shipit.png)
Livraison continue
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1934021/sysadmin2.png)
Opérations continues
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1933980/works-on-my-machine.jpg)
ISO PROD
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1960168/virtualbox-logo.png)
Virtualbox
PROD
PREPROD
STAGING
LOCAL
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1960168/virtualbox-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283632/ubuntu-logo32.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283632/ubuntu-logo32.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283632/ubuntu-logo32.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283632/ubuntu-logo32.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
ISO PROD
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/758764/machines.jpg)
PROD + PREPROD + STAGING + DEV =
PROD
PREPROD
STAGING
LOCAL
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1960168/virtualbox-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283642/rackspace.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/772102/ansible.png)
Provisioning automatisé
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931839/Vagrant.png)
Vagrant
Pour développer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1960168/virtualbox-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931839/Vagrant.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963527/ubuntu-logo32-transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/772663/ansible.png)
Mettre en production
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963527/ubuntu-logo32-transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/931985/nodejs-1024x768.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/772663/ansible.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283649/512px-Logo_ovh.svg.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/772650/CapistranoLogo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283681/puppet-labs-logo.png)
2014
Prod = 8 heures
5 projets
github.com/fansible
2014-2015
Simple and pédagogique
Adaptable
Plus rapide
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/772663/ansible.png)
2015
1 heure avec tywin
C'est parti !
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1331274/docker_small_v-dark.png)
2016
Prod = 10 mins ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/2007906/exponential-growth.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1960316/large_v-dark-trans.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1959173/containers-vs-VM.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283634/symfony_black_031.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1331268/docker_small_v.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963493/data.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963507/nginx.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963634/php-logo.gif)
Containers
Image Docker
$ sudo docker pull nginx
Télécharger une image
$ docker build --tag="monprojet/api" .
Créer une image
$ docker run -d --name mynginx nginx
Créer un container
$ docker exec -it mynginx bash
Accéder un container
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1946267/docker-compose.png)
db:
image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=piwik
- MYSQL_DATABASE=piwik
- MYSQL_USER=piwik
- MYSQL_PASSWORD=piwik
piwik:
image: cbeer/piwik
ports:
- 8080:80
links:
- db
Docker-compose.yml
$ docker-compose up -d
Creating piwik_db_1...
Creating piwik_piwik_1...
Create the containers
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1331268/docker_small_v.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1936301/docker-compose.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1283634/symfony_black_031.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963493/data.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963507/nginx.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/201766/images/1963634/php-logo.gif)
Containers
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934598/fab.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/maximethoonsen/images/934626/maximet.png)
joinus@theodo.fr
fabriceb@theodo.fr
maximet@theodo.fr
Ensimag 2015 - Partez à la conquête du web
By Maxime Thoonsen
Ensimag 2015 - Partez à la conquête du web
- 2,365