Docker.

16
@willylambert Human Talks Angers - mars 2015

Transcript of Docker.

@willylambert

Human Talks Angers - mars 2015

HTML / JS / JSON

C++

.html

.png

.js

.css

HTML / JS / JSON

C++

.html

.png

.js

.css

jasmine

selenium

Grunt

.min.js

.min.cssBower

gccC++

Dev #1, #2

BOWERGRUNTJASMINESELENIUM

OutilsLibs Js & Css

Serveurs

C++ GccCoinOR, jsonCpp, …

Dev #3 Dev #4

Test Prod

Dev #1, #2

BOWERGRUNTJASMINESELENIUM

OutilsLibs Js & Css

Serveurs

C++ GccCoinOR, jsonCpp, …

Dev #3 Dev #4

Test Prod

Approche n°1

Reproduire localement l’environnement de production

Approche n°2

Développer en « live » sur unserveur de développement

One VM to rule them all

Approche n°3

D’une approche monolithique

Serveur Web

Serveur Base de Données

Compilateur

Générateur PDF

Gestionnaire de Librairies

Grunt

Tests unitaires

Tests d’intégration

OS Hôte

Machine Virtuelle

• Serveur Web• Base de données• Outil de génération PDF• Compilateur• Frameworks de tests unitaires• Tests d’intégration• Build• Gestionnaire de librairies (Bower, NPM)

D’une approche monolithique

Serveur Web

Serveur Base de Données

Compilateur

Générateur PDF

Gestionnaire de Librairies

Grunt

Tests unitaires

Tests d’intégration

OS Hôte

Production Développement

...vers les micro-services

BOWERGRUNTJASMINESELENIUM

OutilsLibs Js & Css

Serveurs

C++ GccCoinOR, jsonCpp, …

BOWERGRUNTJASMINESELENIUM

OutilsLibs Js & Css

Serveurs

C++ GccCoinOR, jsonCpp, …

Apache + PHP

Postgres

Bower

Grunt

Jasmine (Karma)

Selenium (Protractor)

Gcc + lib c++

Hôte

Kernel

Fichiers

1 conteneur = Un fichier texte.Une image de base

Des paquets logiciels

D’autres paquets

Modification de la configuration

1 conteneur = Un service.

Un environnement = X conteneurs

BOWERGRUNTJASMINESELENIUM

OutilsLibs Js & Css

Serveurs

C++ GccCoinOR, jsonCpp, …

#$> git clone https://...#$> docker-compose up

Bilan

• En production depuis 40 jours• 1 à 2 releases par semaine• Dev => Test => Prod

• Hébergement• Open Source

+ -• Développement sous Windows• Manque de Bonnes Pratiques

Développeur

Sys Admin

@willylambert

Merci !