La technologie de Docker
Les avantages de la solution de conteneurs/docker
Dans le domaine du Web ainsi que dans le domaine de l’IT, lโutilisation de Docker possรจde plusieurs avantages. Les services IT fournissent de plus en plus de services orientรฉs web, les conteneurs pourraient รชtre un รฉlรฉment clef permettant la transitions des services IT vers le cloud.
Lรฉgรจretรฉ des conteneurs
Par opposition ร un serveur virtuel sous Linux, le conteneur nโa besoin que de quelques centaines Mo de disques. De mรชme lโempreinte mรฉmoire est rรฉduite, car nous nโavons que de la mรฉmoire employรฉe pour lโapplication (pas de couche OS). Il est ainsi avec dรฉmarrage plus rapide aussi le conteneur peut รชtre facilement dรฉplacรฉ dโune machine ร une autre.
Rapiditรฉ et facilitรฉ de dรฉploiement des applications
Aprรจs avoir rรฉcupรฉrer un template en une commande, et afin d’exรฉcuter le conteneur il nous suffit une autre commande, celui-ci dรฉmarre en quelques secondes. Lors du dรฉmarrage, des paramรจtres peuvent รชtre ajoutรฉs en les transmettant au conteneur. Par exemple, la spรฉcification de lโaccรจs ร la base de donnรฉes ou dโautres paramรจtres dโautomatisation.
Lโidรฉal consiste ร mettre en place une gestion de configuration, grรขce ร elle, les conteneurs deviennent autonomes. Ces conteneurs seront gรฉrรฉs comme un package logiciel. Cette facilitรฉ aide le dรฉveloppeur ร provisionner les environnements qui sont dรฉployรฉs en production par exemple sans connaissance particuliรจre dโinfrastructures ou dโadministration systรจme.
Portabilitรฉ et multicloud
Il y a peu de formats dโenveloppes virtuelles qui soient nativement multi-Cloud. Il est toujours compliquรฉ de rรฉcupรฉrer sur sa ferme VMware son POC fait sur AWS, ou encore migrer sa machine virtuelle Open stack sur une Ressource Group Azure.
Les Facteurs et les conceptsย
ย Les facteurs
Code base โข Un logiciel de suivi de version (git, mercurial, …) gรจre les code. โข Une application = code source
Dependencies
โข Prรฉciser clairement toutes les dรฉpendances. โข Le systรจme cible n’est pas censรฉ inclure de programme prรฉ-installรฉ. โข absence de dรฉpendances implicites.
Config
โข On considรจre une configuration, tout ce qui diffรจre d’un environnement ร l’autre (dev, qualif, prod, autre site). โข les รฉlรฉment de configuration doivent รชtre passรฉ par des variables d’environnement. โข Aucune rรฉfรฉrence ne figure ร la configuration dans le code.
Backing Services
โข Il s’agit d’ une ressource externe au conteneur (base mysql, smtp, activemq, memcache, …). โข L’accรจs ร ces ressources se fait en paramรจtre. Pas de diffรฉrence entre les services locaux et distants.
Build, release, run
โข L’application et l’environnement sont recrรฉรฉs avant tout dรฉploiement d’une nouvelle version. โข On apporte aucune modification sur l’application dรฉployรฉe. โข A chaque version dรฉployรฉe on accorde un numรฉro de version unique (timestamp, numero de commit, …).
Crรฉation de conteneurs (Build)
โข Notion d’image qui permet une construction multicouche des conteneurs
โข Il est possible de crรฉer une nouvelle image tout en modifiant une image existante
Dรฉpรดts de conteneurs (Ship)
Search Rechercher d’images sur le Docker Hub
pull, push Rรฉcupรฉrer / envoyer d’image depuis / sur un dรฉpรดt (par dรฉfaut le Docker Hub)โข Plusieurs images officielles (gcc, python, ruby, java, golang, , haskell, centos, perl, , debian, fedora, ubuntu, โฆ)
โข Plusieurs images publiques d’utilisateurs ou d’organisations
โข Versionnage des images
Build Gรฉnรฉration automatisรฉe d’images avec langage de script spรฉcialisรฉ dans un Docker file, exemple : FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay
Commit Crรฉation d’une image ร partir des modifications lors de l’exรฉcution d’un conteneur
History Affichage de l’historique d’une image (couches avec possibilitรฉ de dรฉpiler)
save, load, export, import
โขSauvegarde et rechargement d’images et de conteneurs
โข Possibilitรฉ d’employer son propre dรฉpรดt avec Docker Registry, notamment disponible sous forme d’image Docker officielle.
Exรฉcution et supervision de conteneurs (Run)
Daemon Lancer la partie serveur (dรฉmon) de l’architecture client/serveur de Docker
Run Lancer une commande dans un nouveau conteneur construit ร partir d’une image
start, stop, restart, pause, unpause, kill
Contrรดler l’exรฉcution des conteneurs
ps, logs, top, stats Surveiller des conteneurs
โข Plusieurs conteneurs se lient via des liens rรฉseau
โข Le partage et la persistance de donnรฉes se font en utilisant de volumes pour
โข Coordonner l’exรฉcution de multiples conteneurs (Docker Compose) est possible
i. Processus
โข L’application est effectuรฉe dans l’environnement d’exรฉcution en tant qu’un ou plusieurs processus. โข Stockage de toutes les donnรฉes dans une ressource externe (base de donnรฉes). โข Le non stockage local des variables de sessions utilisateurs.
Port binding
L’application donne un service qui รฉcoute sur un port.
Concurency
โข Possibilitรฉ de mettre ร l’echelle chaque application. Pour rรฉpartir la charge, les conteneurs peuvent รชtre lancรฉs x fois. โข Le programme dans le conteneur ne peut pas รชtre lancรฉ en tรขche de fond.
โข L’arrรชt du conteneur suite ร l’arrรชt du programme.
Disposability โข Le conteneur doit รชtre ร usage unique. โข Il peut รชtre lancรฉ trรจs rapidement. โข Un arrรชt inopportun ne doit pas dรฉtรฉriorer les donnรฉes.
Dev/prod parity
โข dรฉs qu’il finit la saisie du code le dรฉveloppeur doit pouvoir le dรฉployer rapidement. โข Le responsable du dรฉvรฉloppement doit รชtre plus proche du dรฉploiement (DevOps).
โข Maintenir la production et le dรฉveloppement aussi semblables que possible en utilisant les mรชmes outils. Pour limiter les surprises en production, รฉviter de prendre des backends diffรฉrents en prod et en dev (ex: base de donnรฉes, …)
Logs
โข Pour la visualisation et l’archivage ร long terme, les applications doivent externaliser leurs journaux โข Posibilitรฉ d’afficher les journaux dans la sortie standard de l’application, mais pas dans un fichier du conteneur. o. Admin process โข Les commandes d’administration doivent รชtre saisies dans un environnement semblables aux autres processus d’exploitation. โข Mรชmes variables d’environnement, mรชme conteneur, mais en mode conversationnel
Guide du mรฉmoire de fin d’รฉtudes avec la catรฉgorie Architecture MVC |
รtudiant en universitรฉ, dans une รฉcole supรฉrieur ou dโingรฉnieur, et que vous cherchez des ressources pรฉdagogiques entiรจrement gratuites, il est jamais trop tard pour commencer ร apprendre et consulter une liste des projets proposรฉes cette annรฉe, vous trouverez ici des centaines de rapports pfe spรฉcialement conรงu pour vous aider ร rรฉdiger votre rapport de stage, vous prouvez les tรฉlรฉcharger librement en divers formats (DOC, RAR, PDF).. Tout ce que vous devez faire est de tรฉlรฉcharger le pfe et ouvrir le fichier PDF ou DOC. Ce rapport complet, pour aider les autres รฉtudiants dans leurs propres travaux, est classรฉ dans la catรฉgorie Les avantages de la solution de conteneurs/dockerย oรน vous pouvez trouver aussi quelques autres mรฉmoires de fin d’รฉtudes similaires.
|
Table des matiรจres
Introduction gรฉnรฉrale
Chapitre 1 : Etude de l’existant
Introduction
I. Prรฉsentation de la sociรฉtรฉ Devercipe
II. Critique de l’existant
III. Solution proposรฉe
Conclusion
Chapitre 2: Etat de l’art
Introduction
I. La technologie de Docker
II. Comparaison entre virtualisation classique et Docker
III. Les avantages de la solution de conteneurs/docker
IV. Les Facteurs et les concepts
Conclusion
Chapitre 3: Analyse et spรฉcification de besoin
Introduction
I. Analyse de besoin
II. diagramme de cas d’utilisation
Conclusion
Chapitre 4 : Conception
Introduction
I. Description des diagrammes
II. Architecture MVC
Conclusion
Chapitre 5 : Rรฉalisation
Introduction
I. Environnement de travail
II. Captures d’รฉcran
Conclusion
Conclusion gรฉnerale
Tรฉlรฉcharger le rapport complet