1. Architecture
2. Fonctionnement
3. Limitations
Problèmes de performances
Soucis de stabilité
SPOF (Single Point of Failure)
* Enterprise Application Integration
Mieux que l'EAI
Plus complexe (SOAP, WS-*...)
Manque de réel conception des entités métier
* Services Oriented Architecture
SOA v2
Au revoir SOAP, Bonjour REST
Des protocoles qui se standardisent
Besoin de services 100% étanches
"Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n'importe quel serveur Linux"
Portail Web
API
Base
de
données
Machine physique
Système d'exploitation "hôte"
Hyperviseur
Système d'exploitation invité 1
Système d'exploitation invité 2
Système d'exploitation invité 3
Dependances
Dependances
Dependances
Portail Web
API
Base de données
Machine physique
Système d'exploitation "hôte"
Docker
Dependances
Portail Web
API
Base de données
Optimisation des ressources
Plus d'espace pour les applications
Moins de ressources "redondantes"
Docker Client
Windows Server
Linux
Docker Engine
(daemon)
Docker Engine
(daemon)
Windows Server
Container Support
Linux Container
Support (XLC)
API d'accès aux containers
Plus de dépendance à LXC
Implémentation sous Docker 0.9
thanks
"On Premise" ou sur un cloud
Exemple Azure
Créer une machine CoreOS
ou Windows Server 2016
docker -version
docker run hello-world
Docker Hub est un service cloud qui permet de centraliser les images Docker. Il permet de trouver des images officielles, issues de la communauté ou des images privées
docker search ubuntu
docker pull ubuntu
docker run --name bibuntu -t - i ubuntu /bin/bash
docker start bibuntu
docker exec -it bibuntu bash
Couche modifications
Image d'origine
docker run --name bib-mysql -e MYSQL_ROOT_PASSWORD=test -e MYSQL_DATABASE=bib-dev -e MYSQL_USER=bib -e MYSQL_PASSWORD=test -p 3306:3306 -d mysql:5.6
docker rmi ubuntu
(si pas utilisé évidemment)
Sécurité
Performances
Supervision
Jeunesse de la solution