Académique Documents
Professionnel Documents
Culture Documents
Introduction à la
conteneurisation,
microservice et cloud native
Session : Novembre 2022
2
Qu’est qu’un conteneur ?
3
Qu’est qu’un conteneur ?
4
Qu’est qu’un conteneur ?
5
Qu’est-ce que la conteneurisation en
informatique ?
La conteneurisation informatique permet de packager tous les
services, scripts, API, librairies dont une application a besoin.
6
Qu’est-ce que la conteneurisation en
informatique ?
Elle permet de ne pas occuper autant de ressources
que réclamerait une machine virtuelle (ou Virtual
machine, VM), qui emporte son propre système
d’exploitation et bloque des ressources à son lancement.
7
Qu’est qu’un conteneur ?
8
Qu’est qu’un conteneur ?
9
Qu’est qu’un conteneur ?
Le logiciel ou l'application dans le conteneur peut ainsi être
déplacé et exécuté de façon cohérente dans tous les
environnements et sur toutes les infrastructures,
indépendamment de leur système d'exploitation. Le
conteneur fonctionne comme une sorte de bulle, ou comme un
environnement de calcul qui enveloppe l'application et l'isole de
son entourage. C'est en fait un environnement de calcul portable
complet.
10
Le principe de la conteneurisation
informatique
Il s’agit d’un type de virtualisation utilisé au niveau des applications. Le
principe repose sur la création de plusieurs espaces utilisateurs
isolés les uns des autres sur un noyau commun. On utilise alors le
terme de « conteneur » pour désigner une telle instance.
11
Le principe de la conteneurisation
informatique
ils hébergent un univers standard et commun à tous contenant le
code, l’environnement d’exécution, le paramétrage, les systèmes
de fichiers réseau et autres bibliothèques nécessaires à leur bon
fonctionnement.
12
Avantages d’un conteneur ?
Vous pouvez fournir immédiatement des applications
conteneurisées aux utilisateurs dans un espace de travail
numérique. La conteneurisation offre des avantages
considérables aux développeurs de logiciels et aux équipes
de développement, allant d'une agilité et d'une portabilité
supérieures à un contrôle des coûts amélioré. En voici la
liste :
13
Avantages d’un conteneur ?
Portabilité : Un conteneur d'application crée un progiciel
exécutable qui est isolé par rapport au système
d'exploitation hôte. Ainsi, il ne dépend pas du système
d'exploitation hôte et n'est pas lié à celui-ci, ce qui le rend
portable et lui permet de s'exécuter de manière cohérente et
uniforme sur n'importe quelle plate-forme ou cloud.
14
Avantages d’un conteneur ?
Vitesse : Elle réduit également le temps de lancement, car il n'y a pas de
système d'exploitation à démarrer.
Évolutivité: Un conteneur d'application peut gérer des charges de travail
croissantes en reconfigurant l'architecture existante afin d'activer les
ressources à l'aide d'une conception d'application orientée vers les services.
15
Avantages d’un conteneur ?
Agilité Les développeurs peuvent donc continuer à utiliser les
outils et les processus DevOps pour accélérer le développement et
l'amélioration des applications.
Efficacité : les conteneurs ont une capacité intrinsèquement plus
petite que les machines virtuelles. Leur temps de démarrage est
réduit, ce qui permet aux développeurs d'exécuter plus de
conteneurs sur la même capacité de calcul qu'une machine
virtuelle unique.
16
Avantages d’un conteneur ?
17
Quels sont les inconvénients de la
conteneurisation ?
Les conteneurs ne sont pas parfaits et ont leurs inconvénients et
leurs limites.
Sécurité: vous devez sécuriser l'application conteneurisée ainsi
que le registre, le daemon Docker et le système d'exploitation hôte.
Orchestration : lorsqu'il s'agit de conteneurs, vous devez choisir
parmi différents outils d'orchestration comme Kubernetes, Mesos ou
Swarm.
18
Inconvénient d’un conteneur ?
19
Qu'est-ce que la conteneurisation
Docker ?
Le moteur Docker est peut-être la technologie la plus connue et la
plus utilisée dans le monde en matière de moteur de conteneur.
20
Qu'est-ce que la conteneurisation
Docker ?
Les développeurs créent des conteneurs à partir d'images Docker.
Malgré leur statut de lecture seule, le Docker crée un conteneur en
ajoutant un système de fichiers en lecture/écriture. Il lance une
interface réseau pour permettre la communication entre le
conteneur et un hôte local. Ensuite, il ajoute une adresse IP et
exécute le processus indiqué. Chaque conteneur contient les
éléments nécessaires à l'exécution d'un programme (fichiers,
redondances et bibliothèques).
21
Qu'est-ce que la conteneurisation
Docker ?
Le logiciel Docker permet créer, déployer et exécuter des conteneurs
de manière efficace. Un conteneur enveloppe l’application d’un logiciel
dans une boîte invisible avec tout ce dont il a besoin pour s’exécuter.
Les conteneurs Docker sont construits à partir des images Docker. Ils
sont légers, portables et permettent aux développeurs de créer,
déployer et exécuter efficacement des applications distribuées.
22
Qu'est-ce que la conteneurisation
Docker ?
Docker permet à une application d’être empaquetée et déplacée
facilement, augmentant ainsi la simplicité d'une infrastructure.
23
Qu'est-ce que la conteneurisation
Docker ?
24
Qu'est-ce que la conteneurisation
Docker ?
Nous avons donc l’infrastructure physique du matériel, le système
d’exploitation hôte fonctionnant au-dessus de l’infrastructure physique, le
moteur Docker qui est l’hyperviseur du conteneur dans ce cas, et finalement
les conteneurs docker qui contiennent les applications et les dépendances.
25
Comparaison entre VM et
Conteneurs
Les conteneurs et les machines virtuelles sont des technologies
de virtualisation des ressources très similaires.
26
Comparaison entre VM et
Conteneurs
27
Comparaison entre VM et
Conteneurs
28
Comparaison entre VM et
Conteneurs
29
Comparaison entre VM et
Conteneurs
30
Comparaison entre VM et
Conteneurs
31
32
Qu'est-ce que l'architecture de
microservices ?
L'architecture de microservices (ou microservices) désigne un
style d'architecture utilisé dans le développement d'applications.
Elle permet de décomposer une application volumineuse en
composants indépendants, chaque élément ayant ses propres
responsabilités. Pour diffuser la requête d'un utilisateur unique,
une application basée sur des microservices peut appeler
plusieurs microservices internes pour composer sa réponse.
33
Qu'est-ce que l'architecture de
microservices ?
les microservices sont une méthode développement logiciel utilisée
pour concevoir une application comme un ensemble de services
modulaires. Chaque module répond à un objectif métier spécifique et
communique avec les autres modules.
34
Qu'est-ce que l'architecture de
microservices ?
35
Qu'est-ce que l'architecture de
microservices ?
36
Comment fonctionne l'informatique
sans serveur ?
L'informatique sans serveur est une architecture dans laquelle un
fournisseur assure les services backend au fur et à mesure des
besoins.
37
Une application cloud-native, qu'est-
ce que c'est ?
Les technologies natives Cloud permettent aux organisations
de créer et d’exécuter des applications évolutives dans des
environnements modernes et dynamiques tels que des clouds
publics, privés et hybrides. Les conteneurs, les maillages de
service, les microservices, l’infrastructure immuable et les API
déclaratives illustrent cette approche.
38
Les piliers du natif Cloud
39
Les piliers du natif Cloud
40
Une application cloud-native, qu'est-
ce que c'est ?
41