Vous êtes sur la page 1sur 50

Introduction

Un peux d’histoire !
Virtualisation La naissance:
&
Cloud Computing • Les systèmes distribués ont parcouru un long chemin depuis leur
création.
• Au tout début, un ordinateur ne pouvait effectuer qu'une tâche à la
fois.
• Si plusieurs tâches doivent être effectuées en parallèle, plusieurs
ordinateurs doivent fonctionner en parallèle.
• Mais leur exécution en parallèle ne suffisait pas pour construire un
Leila GHORBEL système véritablement distribué, car elle nécessite un mécanisme
pour communiquer entre différents ordinateurs (ou programmes
Département Niveau Spécialité
exécutés sur ces ordinateurs).
Informatique Licence 3 Génie Logiciel et Systèmes d’Information

2023-2024

1 2

Introduction Introduction
Un peux d’histoire ! Un peux d’histoire !

Les architectures orientées service SOA:


La communication:
• L’invention des OS multitâches, tels que Windows et Unix, a
• Cette nécessité d’échanger (partager) des données sur
permis aux développeurs de créer et d’exécuter des
plusieurs ordinateurs a suscité l'idée d'une
systèmes distribués complets .
communication orientée message, dans laquelle deux
• Cela a conduit à l'architecture SOA, dans laquelle chaque
ordinateurs partagent des données a l'aide d'un message
système distribué pourrait être construit en intégrant un
qui les encapsule.
ensemble de services exécutés sur un ou plusieurs
• Il y avait peu d'autres mécanismes comme le partage de
ordinateurs .
fichiers et le partage de base de données.
• Les interfaces de service ont été correctement définies via
un WSDL (pour SOAP) ou un WADL (pour REST) et les
consommateurs de service ont utilisé ces interfaces pour
leurs implémentations côté client.

3 4
Introduction Introduction
Un peux d’histoire ! Un peux d’histoire !

La popularité des APIs REST : Les machines virtuelles :


• Avec la popularité d'Internet et la simplicité du modèle, la
communication basée sur REST est devenue plus • Puis vient le grand moment des systèmes distribués
populaire que le modèle de communication basé sur • L’importance des entreprises basées sur Internet telles
SOAP . que Facebook, Google, Amazon, Netflix, LinkedIn et
• Cela a conduit a l‘évolution de la communication basée Twitter est suite à ce qu’elles voulaient créer des
sur l'interface de programmation d'application (API) sur le systèmes distribués couvrant plusieurs zones
modèle REST. géographiques et plusieurs centres de données.
• Vous pouvez vous représenter une API comme un • Les ingénieurs ont commencé à réfléchir au concept
médiateur entre les utilisateurs ou clients et les d'un seul ordinateur .
ressources ou services web auxquels ils souhaitent • Au lieu de considérer un ordinateur comme un
accéder. ordinateur unique, ils réfléchissent à un moyen de créer
• Pour une entreprise, c'est aussi une solution pour plusieurs ordinateurs virtuels sur le même ordinateur .
partager des ressources et des informations, tout en • Cela conduit a l'idée de machines virtuelles ou un
maintenant un certain niveau de sécurité même ordinateur peut agir comme plusieurs
5
ordinateurs et les exécuter tous en parallèle. 6

Introduction Introduction
Un peux d’histoire ! Un peux d’histoire !

Le cloud computing :

• La technologie de virtualisation rend possible le cloud Vue sur un datacenter


computing. Amazon
• Les fournisseurs de cloud computing mettent en place
et entretiennent leurs propres datacenters.
• Ils créent différents environnements virtuels qui utilisent
les ressources matérielles de base.
• Vous pouvez ensuite programmer votre système pour
qu'il accède à ces ressources en cloud à l'aide des
APIs.
Déploiement des datacenters
de google dans le monde

7 8
Introduction Introduction
Retour en arrière sur le fonctionnement d’un ordinateur Retour en arrière sur le fonctionnement d’un ordinateur

9 10

Introduction Introduction
Retour en arrière sur le fonctionnement d’un ordinateur: Hardware Retour en arrière sur le fonctionnement d’un ordinateur: Software (Logiciel)

Logiciel système:
Processeur: • sert d'interface entre le logiciel d'application et le matériel de l'ordinateur.
• CPU (Computer Processing Unit), le processeur est la partie de l'ordinateur qui exécute les programmes logiciels • est conçu pour gérer les ressources système et fournit également une plate-forme à l'exécution du logiciel d'application
Logiciel d'application:
en effectuant des opérations mathématiques, logiques et d'entrée/sortie. • constitue une interface entre l'utilisateur et le logiciel système.
• C'est la partie du matériel informatique qui résout les problèmes • conçu pour que les utilisateurs puissent effectuer leurs tâches spécifiques
Base de comparaison Logiciel système Logiciel d'application
RAM (Random Access Memory):
Contient les programmes à exécuter et les données actuellement utilisées par le processeur. gère les ressources système et fournit une plate-forme pour l'exécution exécute des tâches spécifiques pour lesquelles ils
De base
du logiciel d'application. ont été conçus.

est écrit dans un langage de bas niveau, c'est-à-dire un langage est écrit dans un langage évolué tel que Java, C ++,
ROM (Read Only Memory): La langue
d'assemblage. .net, VB, etc.
• Il s'agit d'un type de mémoire non volatile qui stocke un logiciel appelé BIOS
commence à s'exécuter lorsque le système est allumé et s'exécute jusqu'à s'exécute au fur et à mesure des demandes de
• Ce type de logiciel est responsable au démarrage du matériel Exécution
ce que le système soit arrêté. l'utilisateur.
• La ROM ne s'efface jamais lorsque vous éteignez l'ordinateur
n'est même pas nécessaire pour exécuter le
Exigence Un système ne peut pas fonctionner sans logiciel système.
Carte mère: système; c'est spécifique à l'utilisateur.
PCB (Printed Circuit Board) qui contient le processeur, la RAM, la ROM, le réseau et les ports I/O (Input/Output),
Objectif est polyvalent. est spécifique.
ainsi que d'autres composants.
Microsoft Office, Photoshop, logiciel d'animation,
Exemples Système d’exploitation.
Stockage: etc.
Un dispositif de stockage persistant (non volatile) tel qu'un disque dur (HDD) ou un disque SSD (Solid State Drive).
11 12
Introduction Introduction
Qu’est ce qu’un serveur? Qu’est ce qu’un serveur?

De nos jours, les utilisateurs (tel que les entreprises) investissent beaucoup plus dans leurs Serveur physique:
infrastructures informatiques afin d'améliorer leur efficacité et fiabilité. très similaire à un ordinateur conventionnel, possède une mémoire, un processeur, une connexion réseau et
Il existe des solutions traditionnelles et virtuelles un disque dur ainsi qu'un système d'exploitation (OS) pour exécuter des programmes et des applications.
ü serveurs physiques représentent les puissants déploiements de centres de données traditionnels est mis à disposition d'un seul client (ex. accessible que par les membres d’une entreprise)
ü serveurs virtuels offrent aux entreprises des services innovants, centrés sur le cloud computing, il existe différents types de serveurs physiques qui varient en fonction de leur rôle dans le réseau :
adaptés aux besoins du futur.
ü Serveur Web : utilisé pour enregistrer des contenus Web et assurer l'accessibilité aux utilisateurs de
manière sûre.
ü Serveur Proxy : utilisé comme une interface de communication dans des réseaux d’ordinateurs pour
filtrer les communications et contrôler la bande passante.
ü Serveur de fichiers : utilisé pour le stockage de fichiers de données pour plusieurs clients.
ü Serveur de bases de données : fonctionne comme un programme informatique permettant à
d’autres programmes d'accéder à un ou plusieurs systèmes de bases de données sur un réseau.
ü Serveur d'impression : plusieurs ordinateurs peuvent être connectés à distance à ce type de serveur
pour imprimer des fichiers.
ü Serveur email : utilisé pour recevoir et expédier des courriers électroniques.

13 14

Introduction Introduction
Qu’est ce qu’un serveur? Qu’est ce qu’un serveur?

Serveur physique: Serveur physique:


La puissance de calcul, la capacité de stockage et la performance d'un serveur dépend de nombreux
critères y compris le format : tour, rack, ou lame

15 16
Introduction Introduction
Qu’est ce qu’un serveur? Qu’est ce qu’un serveur?

Serveur physique: Serveur physique:


ü Format tour : ü Format rack
− ressemble de près à une unité centrale d'ordinateur fixe. est conçu pour être disposé dans des baies, c'est à dire des armoires équipées pour installer les
− il peut être installé dans n'importe quelle pièce de l'entreprise, contrairement aux serveurs différents matériels informatiques.
racks ou lames, qui nécessitent une baie pour fonctionner.

17 18

Format lame

Introduction Introduction
Qu’est ce qu’un serveur? Qu’est ce qu’un serveur?

Serveur physique: Serveur virtuel:


ü Format lame (ou blade)
ne fonctionne pas sur un ordinateur physique mais sur un logiciel spécialisé, également appelé hyperviseur.
sont les derniers nés des formats de serveur. Compact, et mince... comme une lame, ils se est un système permettant de convertir un serveur physique en plusieurs machines virtuelles (VM)
glissent verticalement dans un casier dédié. indépendantes qui agissent de manière autonome comme un dispositif physique.
est capable d'exécuter son propre système d'exploitation (OS), en utilisant des techniques de virtualisation.
peut être migré facilement vers l'environnement cloud

19 20
Virtualisation Virtualisation
Pourquoi virtualiser: Architecture classique Pourquoi virtualiser?
Les serveurs sont de plus en plus accessibles
ü Hardware de plus en plus performant

+
Les éditeurs (Microsoft, distribution Linux) recommandent une application/service par système d’exploitation
ü Un serveur pour le DNS
ü Un serveur pour le mail
ü Un serveur pour NFS
ü Etc.
=>
Une multiplicité de serveurs dans les datacenters (ou salles serveurs dans les entreprises)
80% ont une utilisation moyenne inférieure à 10%
Des coût d’exploitation/maintenance (personnel du service informatique) qui croissent avec le nombre de serveurs
Des coût en place: les salles serveurs ne sont pas indéfiniment extensibles
Des coût en climatisation/électricité élevés

Ne jamais négliger ces coûts


21 22

Virtualisation Virtualisation
Qu'est-ce que la virtualisation ? Qu'est-ce que la virtualisation ?

L’ensemble des techniques qui permet de faire tourner plusieurs systèmes d’exploitation sur une machine Simulation, Emulation, d’un environnement réel de façon virtuelle, logique, etc. en ayant recours à des outils logiciel
simultanément comme s’ils fonctionnaient sur des ordinateurs distincts
(VLAN: Un réseau local virtuel, Machine virtuelle, etc.)
De la même façon que l'on fait fonctionner plusieurs programmes sur un même OS (multi-tâches) nous savons faire
fonctionner plusieurs OS sur un même hardware (virtualisation) La virtualisation est un ensemble de techniques matérielles et/ou logicielles qui autorisent l’exécution de plusieurs
C’est pas du multi-boot applications (Systèmes) indépendantes sur une même machine hôte.

On parle souvent d’environnement virtuel (Virtual Environment – VE) ou de serveur privé virtuel (Virtual Private Server
– VPS) lorsqu’une machine exploite la virtualisation.

Pour bénéficier de cette technologie, il suffit d’équiper une machine d’un logiciel de virtualisation permettant d’ajouter
une couche de virtualisation, appelée hyperviseur.

L’hyperviseur masque les véritables ressources physiques de la machine.

Propose des ressources différentes et spécifiques en fonction des applications qui tournent (nouvelle configuration).

Il y a indépendance entre le matériel et les applications.

23 24
Virtualisation Virtualisation
Qu'est-ce que la virtualisation ? Qu'est-ce que la virtualisation ?
Cas d’utilisation:
Principes: tester un OS sans l'installer sur votre machine physique
Le cloisonnement : chaque système d’exploitation a un fonctionnement indépendant, et ne peut interférer avec les s’assurer de la compatibilité d’une application avec différents OS
autres en aucune manière. utiliser une application dans un environnement particulier
La transparence : le fait de fonctionner en mode virtualisé ne change rien au fonctionnement du système utiliser les fonctionnalités spécifiques d’un OS
d’exploitation. simuler une 2e machine et faire des tests de communication simples
La transparence implique la compatibilité : toutes les applications peuvent tourner sur un système virtualisé, et leur créer un petit réseau de plusieurs machines
fonctionnement n’est en rien modifié. simuler des environnements multi-OS
mutualiser des serveurs physiques et faire des économies
partager un serveur physique en plusieurs serveurs virtuels
rendre une architecture hautement disponible (HA) en améliorant sensiblement sa tolérance aux pannes
migrer des serveurs virtuels sur de nouveaux serveurs physiques
déployer un serveur virtuel à la volée
25 faciliter les opérations de maintenance 26

Virtualisation Virtualisation
Qu'est-ce que la virtualisation ? Composants d’un système virtuel

Avantages Inconvénients

Moins de serveurs physiques Plusieurs environnements virtuels s’exécutent sur une


Le système hôte (host) est l’OS principal de l’ordinateur.
Économie sur le matériel unique machine physique
Usage optimale des ressources Machine physique en panne=> suspension de tous les
Le système invité (guest) est l’OS installé à l’intérieur d’une machine virtuelle.
Une meilleure disponibilité services
De meilleures performances Le recours à des machines puissantes.
Une machine virtuelle (VM) est un ordinateur virtuel qui utilise un système invité.
Une meilleure sécurité Les outils de virtualisations sont généralement
Un gain dans les coûts gourmandes en ressources.
Un ordinateur virtuel est aussi appelé serveur privé virtuel (Virtual Private Server ou VPS) ou environnement
La portabilité Bien qu’elle soit implémentée sur des machines
Un monitoring simplifié puissantes, la virtualisation peut réduire les performances
virtuel (Virtual Environment ou VE)
De la haute disponibilité des applications.
Réduction de l’impact environnemental Suivant le type de virtualisation envisagé, cette perte de
Dr. MENNOUR R. . performances peut ou non être significative.

27 28
Virtualisation Virtualisation
Composants d’un système virtuel Composants d’un système virtuel

La machine virtuelle La machine virtuelle: les fichiers


ü un système informatique virtuel conteneur de logiciels parfaitement isolé intégrant un système ü Lorsqu'une machine virtuelle est créée, elle apparaît sur l'ordinateur hôte sous la forme d'un ensemble de fichiers.
ü Elle est généralement stockée dans un répertoire, créé par l'hyperviseur
d’exploitation et des applications.
ü chaque VM autonome est entièrement indépendante. Type de fichier Nom du fichier Description
ü l’installation de plusieurs VM sur un ordinateur permet d’exécuter différents systèmes d’exploitation et Log file <vmname>.log Conserve un journal de l'activité de la VM et est utilisé pour le dépannage.
applications sur un seul et même serveur physique, ou « hôte ». BIOS file <vmname>.nvram Il s'agit du fichier qui stocke l'état du BIOS de la machine virtuelle.
ü Une fine couche logicielle, appelée hyperviseur, dissocie les machines virtuelles de l’hôte, et alloue Virtual disk file <vmname>.vmdk Stocke le contenu de l'unité de disque de la VM. Un disque virtuel est
composé d'un ou plusieurs fichiers .vmdk. Le nombre de fichiers .vmdk
dynamiquement des ressources informatiques à chaque machine selon les besoins.
dépend de la taille du disque virtuel.
ü Quelque soit la technologie utilisée, une machine virtuelle se compose de deux éléments : Snapshot file <vmname>.vmsd Il s'agit d'un fichier centralisé permettant de stocker des informations et des
ü ressources : part de CPU alloues, mémoire vive autorisée, nombre de cartes réseau virtuelles. <vmname>.vmsn métadonnées sur les instantanés.
Suspend state <vmname>.vmss Il s'agit du fichier d'état suspendu, qui stocke l'état d'une machine virtuelle
ü données : comme un serveur normal, on doit disposer d’un système d’exploitation, de bibliothèques,
file suspendue.
d’outils, d’applications et de leurs données. Configuration file <vmname>.vmx Stocke des informations, telles que le nom de la VM, les informations du
BIOS, le type de système d'exploitation invité et la taille de la mémoire.
29 30

Virtualisation Virtualisation
Hyperviseur Hyperviseur

Pour créer des machines virtuelles (guest machines) sur une machine physique
(host machine), nous avons besoin d’un logiciel hyperviseur. Hyperviseur type 1 : Bare metal
Un logiciel hyperviseur émule ou virtualise les composants de la machine physique ü s’exécuter directement sur le hardware
en divisant le CPU, RAM, Disque dur et les cartes réseaux, et assigner ces
ressources aux machines virtuelles (guest). ü est un noyau hôte allégé et optimisé pour ne faire tourner initialement que des noyaux de
La couche logicielle rendant la virtualisation possible systèmes d’exploitation invités adaptés et optimisés à cette architecture spécifique, ces
S’exécute au dessous de toutes les VMs pour les gérer
Assure le contrôle des processeurs et des ressources de la machine physique systèmes invités ayant "conscience" d’être virtualités
Hôte ü pour des processeurs ayant les instructions de virtualisation matérielle (AMD -V et Intel VT),
Alloue à chaque MV les ressources dont elle a besoin
S’assure que les MV ne s’interférent pas (assurer l'isolation et la sécurité entre les le système d’exploitation invité n’a plus besoin d’être modifié pour pouvoir être exécuté dans
MV) un hyperviseur de type 1
Les hyperviseurs sont divisés en deux types indiquant leur mode de
fonctionnement: Hyperviseur type 1 (Bare metal) et Hyperviseur Type 2 (Host metal) ü outil de contrôle de l’OS Hôte
ü le modèle d’hyperviseur le plus répondu en entreprise
ü exemples : XEN, Oracle VM, Microsoft Hyper-V, VMware ESX

31 32
Virtualisation Virtualisation
Hyperviseur Hyperviseur

Hyperviseur type 2 : Host metal Rôle d’un OS


ü S’exécute à l’intérieur d’un OS Hôte
Partage le processeur entre plusieurs processus
ü s’exécute en troisième niveau au dessus du matériel
ü C’est le modèle préféré souvent par les utilisateurs de machines Lap Top ou DeskTop Partage la mémoire entre plusieurs processus

ü exemples : VMware Workstation, VMware Fusion, l’hyperviseur open source QEMU, les Partage les I/O des périphériques entre plusieurs processus
produits Microsoft Virtual PC et Virtual Server, VirtualBox d’Oracle, de même que Parallels
Workstation de SWsoft et Parallels Desktop Rôle de l’hyperviseur

Permettre ces mécanismes pour chaque OS invité, lui


permettant de croire qu’il est le seul sur la machine

Intercepter les communications avec les interruptions et


simuler de façon logicielle les interfaces

33 34

Virtualisation Virtualisation
Techniques de virtualisation Techniques de virtualisation

Virtualisation complète Paravirtualisation


La virtualisation est dite complète lorsque le Par opposition à la virtualisation complète, on parle
système d'exploitation invité n'a pas conscience d'être de paravirtualisation lorsque les systèmes
virtualisé. d'exploitation doivent être modifiés pour fonctionner
sur un hyperviseur de paravirtualisation.
L'OS qui est virtualisé n'a aucun moyen de savoir
qu'il partage le matériel avec d'autres OS. Les modifications sont en fait des insertions de
drivers permettant de rediriger les appels système au
Ainsi, l'ensemble des systèmes d'exploitation lieu de les traduire.
virtualisés s'exécutant sur un unique ordinateur,
peuvent fonctionner de manière totalement Elle nécessite une collaboration étroite entre
indépendante les uns des autres et être vu comme l'hyperviseur et les systèmes d'exploitation invités
des ordinateurs à part entière sur un réseau. pour fonctionner correctement

35 36
Virtualisation Virtualisation
Techniques de virtualisation Types de virtualisation

Paravirtualisation La virtualisation peut prendre de nombreuses formes en fonction du type d'utilisation de l'application et de
Le mécanisme de redirection des appels système est expliqué ici: l'utilisation du matériel
Des drivers backend et frontend sont installés dans les OS para- Virtualisation de l’OS
virtualisés. ü Virtualisation de serveurs
Ils permettent, au lieu de traduire les appels système comme dans la
ü Virtualisation des postes de travail:
virtualisation complète, de ne faire que de la redirection (ce qui est
ü Virtual Desk Top Infrastructure (VDI)
beaucoup plus rapide).
Il est donc intelligent d'utiliser un tel mécanisme pour accéder au ü Streaming d’OS
matériel potentiellement très sollicité (disque dur, interface réseau...). Virtualisation des applications
En fait, ce qu'il se passe dans une telle technologie, c'est que le contrôle ü Virtualisation de sessions
d'un ou plusieurs matériel(s) est donné à un des OS virtualisé (celui qui ü Virtualisation par isolation ou Bulles Applications
contient le driver backend), ici le système d'exploitation 1. (Conteneurs d’application)
il sera simple d'imaginer que l'OS 2, qui souhaite accéder au hardware, Virtualisation de stockage
devra passé par son driver front end qui redirigera les appels système vers
l'OS 1.
Virtualisation de réseaux
L'inconvénient de cette technique est donc la dépendance d'un OS
virtualisé vis à vis d'un autre qui se créé par ce mécanisme de driver.
Si l'OS 1 tombe en panne, l'OS 2 ne pourra plus accéder au
matériel. 37 38

Virtualisation Virtualisation
Types de virtualisation Types de virtualisation

Virtualisation de l’OS Virtualisation de l’OS


ü dans un même serveur, on peut créer plusieurs serveurs virtuels et plusieurs
postes de travails Virtualisation de serveurs

Virtualisation de serveurs Virtualisation des postes de travail


ü C’est le fait de faire fonctionner simultanément, sur un seul serveur ü Virtual Desk Top Infrastructure (VDI)
physique, plusieurs serveurs virtuels. ü postes de travail complet (système d’exploitation et applications) hébergés dans
ü Meilleur utilisation de la capacité de chaque serveur un data center
ü réduire la surface au sol, les équipements matériels, le besoin de ü l’utilisateur accède à son poste de travail à distance en utilisant son terminal
climatisation et le nombre d'administrateurs ; ü l’environnement de travail est associé au profil utilisateur
ü réaliser des économies (locaux, consommation électrique, ü l’utilisateur a la même vue sur son environnement quelque soit l’environnement
personnel) ; utilisé
ü réduire les délais de mise à disposition de nouveaux serveurs ü Streaming d’OS
ü simplifier l’administration et la gestion ü le système démarre à partir d’un disque sur le réseau
ü améliorer le niveau de service et la disponibilité des applications ü charge d’une manière sélectives les contenues les applications demandées par
ü simplifier la migration des applications sur de nouveaux serveurs l’utilisateur à partir d’un serveur distant

39 40
Virtualisation Virtualisation
Types de virtualisation Types de virtualisation

Virtualisation d’applications Virtualisation d’applications

Virtualisation de sessions Virtualisation par isolation ou Bulles Applications (Conteneurs


d’applications)
ü la virtualisation est réalisée du côté du ü consiste à l’installation d’une application par streaming dans le poste de
serveur. l’ensemble des données de
l’utilisateur ainsi que les applications sont travail
hébergées dans un data centre ü l’administrateur déploie les applications sur un serveur distant
ü l’utilisateur se connecte au serveur et télécharge les applications
ü L’utilisateur accède à ses applications par
un simple navigateur web ou par un client autorisées sur son poste
desktop installé sur son poste de travail en ü quand le client clique sur l’icône de l’application, le poste client demande
ouvrant une session sur le serveur distant
au serveur de lui envoyer la bulle applicative en streaming
ü ensuite l’application s’exécute en local
ü l’application ne s’installe pas sur l’OS du poste client, elle s’exécute sur
une bulle, c.à.d un environnement totalement virtualité et cloisonné.
41 ü Exemples : UNIX chariot, Unix LXC (voir l’historique de docker) 42

Virtualisation Virtualisation
Types de virtualisation Types de virtualisation
Virtualisation de stockage
Virtualisation de réseaux Gérer une interface qui permet de dissocier la gestion physique des disques (et de baies
Permet aux applications de s’exécuter sur un réseau virtuel de stockage) vis-à-vis des serveurs qui l’utilisent.
comme si c’était un réseau physique La virtualisation permet de masquer les spécifiés physiques des unités de stockage.
Avec un réseau virtuel, les fonctions de commutation, le Côté utilisateur, les unités de stockage sont vues comme un unique volume
routage, le contrôle d'accès, le pare-feu, la qualité de service Les systèmes de stockage fournissent soit des données en mode bloc, soit en mode
fichier.
(QoS) et l'équilibrage de charge sont implémentées dans le
logiciel ü Virtualisation en mode fichiers, en accédant au NAS (Network Attached Storage) en masquant les
Il existe deux types de virtualisation des réseaux: dépendances vis-à-vis de l'emplacement où les données sont physiquement stockées et l’accès au
ü virtualisation externe permet de créer des réseaux virtuels
fichier s’effectue en mode NFS.
distincts et isolés qui sont étendus au-delà des frontières
d'une infrastructure réseau locale. ü Virtualisation en mode bloc, en introduisant un niveau d'abstraction entre le serveur et le système
ü cette technologie permet aux fournisseurs de services de stockage, ce qui donne plus de flexibilité pour les administrateurs (Exemple: IBM SAN Volume
d'améliorer l'efficacité d'un grand réseau Controller, EMC Vplex)
ü agit sur les systèmes en dehors d'un seul serveur.
ü rassemble les données en blocs qui sont ensuite stockés en tant qu'éléments séparés. Chaque
ü la virtualisation des réseaux interne agit au sein d'un serveur
pour émuler un réseau physique bloc de données se voit attribuer un identifiant unique, qui permet au système de stockage de
43 conserver les petits éléments à l'emplacement le plus pratique. 44
Virtualisation Virtualisation
Types de virtualisation Types de virtualisation

Virtualisation de stockage Virtualisation de stockage


Espace de stockage Stockage DAS
ü Dans les technologies de machine virtuelle, l’hyperviseur ne fournit au système virtualisé qu’un ü Le stockage direct (DAS) signifie qu'un dispositif de stockage physique
espace de stockage. est directement relié à un serveur ou à un ordinateur personnel .
ü Il peut s’agir d’un volume, ou simplement d’un fichier, on peut placer l’intégralité de cet espace sur ü Le disque dur d'un ordinateur portable est un type de DAS car il
un disque local, un réseau de stockage ou un autre serveur... correspond à la définition d'une unité de stockage directement attachée
ü L’utilisation d’un disque local est la solution la plus avantageuse en terme de performances et de à un ordinateur personnel .
facilité d’administration. ü Compléter un disque dur lorsque l'on a besoin de plus d'espace de
ü Cependant, l’utilisation d’un stockage en réseau permet d’ouvrir la voie à de nouvelles stockage avec un autre DAS signifie essentiellement brancher un
fonctionnalités. dispositif de stockage externe, comme brancher un disque dur externe
sur un ordinateur portable pour stocker des fichiers multimédias ou des
fichiers de travail.

45 46

Virtualisation Virtualisation
Types de virtualisation Types de virtualisation
Virtualisation de stockage
Virtualisation de stockage Serveur de stockage NAS
Stockage en réseau ü Un serveur NAS (Network Attached Storage) est un appareil de stockage de fichier
ü Les pleines capacités des hyperviseurs modernes ne peuvent s’exprimer qu’au travers d’un connecté à un réseau local (LAN).
stockage en réseau. ü Ce type d’appareil permet le stockage et la récupération de données depuis une
ü Disposant d’un réseau de stockage, chaque hyperviseur a accès à toutes les machines localisation centralisée pour les utilisateurs hétérogènes autorisés à accéder au
virtuelles, et peut donc exécuter n’importe laquelle, et la transférer sans interruption a un réseau.
autre hyperviseur en fonction de sa charge. ü Il est possible de se connecter à ce réseau spécifique par le biais d’une connexion
Ethernet standard, ou directement en WiFi.
ü Un NAS est simplement un serveur fournissant ses fichiers à d’autres serveurs par le
réseau.
ü Le serveur NAS présente l’avantage d’être flexible et scalable. Ainsi, en cas de besoin
de capacité supplémentaire, il est possible d’ajouter de l’espace de stockage très
facilement.
ü NFS (Network File Storage) est le standard universel pour l’accès aux fichiers sur un
47 48
réseau, c’est le protocole le plus utilise dans les NAS.
Virtualisation Virtualisation
Types de virtualisation Types de virtualisation
Virtualisation de stockage
Virtualisation de stockage Un réseau de stockage SAN
Un réseau de stockage SAN ü Les SAN les plus hauts de gamme sont dotés de capacités avancées, tel que la prise de cliché, ou encore la
ü Un SAN (Storage Area Network) est un réseau sur lequel circulent les
copie rapide de volumes.
données entre un système et son stockage. C'est un réseau physique
ü Les protocoles d'interconnexion utilisés pour la création d'un SAN sont les protocoles Fibre Channel et
principalement en fibre optique, dont le but est de permettre la mise en
iSCSI (Internet Small Computer System Interface).
relation des serveurs avec des baies de disques.
ü On peut dire qu'un réseau de stockage SAN est un réseau local constitué de plusieurs périphériques
ü Cette technique permet de déporter tout le stockage interne d’une
ü Un commutateur SAN est un composant matériel qui connecte des serveurs à des pools partagés de
machine vers un équipement dédié.
périphériques de stockage. Il est consacré au déplacement du trafic de stockage dans un SAN.
ü Les SAN sont des équipements dédiés, qui ne travaillent qu’aux plus
basses couches du stockage, la notion de fichier leur est inconnue ; ils
travaillent simplement sur des blocs de données et les fournit par le
réseau à des serveurs qui eux sauront les utiliser (il travaille au niveau
des blocs et non des fichiers comme les serveurs NAS).
49 50

Virtualisation Virtualisation
Types de virtualisation Types de virtualisation

Virtualisation de stockage Virtualisation de stockage


SAN: protocole d’accès iSCSI SAN: protocole d’accès Fibre Channel
ü iSCSI (Internet Small Computer System Interface) est un protocole d’accès disque fonctionnant ü La solution la plus haut-de-gamme pour implémenter un réseau de stockage est l’utilisation d’une
sur un réseau Ethernet, il permet d’implémenter un réseau de stockage en profitant de la baie dédiée et du protocole Fibre Channel.
connectique et des équipements de commutation standards. ü Basé sur des fibres optiques, il assure une latence et un débit bien meilleurs que iSCSI, avec un
ü Comme le NFS, il peut être soit implémenté par une baie de stockage dédiée, ce qui assure les prix bien sur plus élevé. Son principe d’utilisation est le même qu’un SAN iSCSI.
meilleures performances, soit par un serveur classique disposant du logiciel adéquat, par
exemple IET (iSCSI Entreprise Target) sous Linux.
ü Voici un exemple de SAN : parmi les machines clientes du SAN, on retrouve un NAS : ces deux
techniques peuvent être combinées car elles ne travaillent pas au même niveau.

51 52
Virtualisation Virtualisation
Types de virtualisation Datacenter

Virtualisation de stockage Datacenter = Centre de traitement de données


Ensemble d’équipements constituant le système d’information
d’une structure/entreprise
Mainframes (en tant qu'ordinateurs centraux conçus pour
gérer des charges de travail importantes et critiques)
Serveurs
Baies de stockage
Équipement réseaux et télécommunications
Pouvant aller du Local technique, salle machine, étage, bâtiment au complexe de plusieurs
bâtiments
Afin de mutualiser les coût et de bénéficier des dernières avancées technologiques, la
plupart des entreprises choisissent de déléguer à un Datacenter la prise en charge de leurs
données virtuelles, en terme de stockage, ou encore de protocoles de transfert
Afin d’assurer la disponibilité et la sécurité de données stockées, un Datacenter doit être en
fonctionnement 24h/24 et 365 jours par an.

53 54

Virtualisation Virtualisation
Datacenter Datacenter

Clusterning
Dans un centre de données, un certain nombre de serveurs configurés de manière
similaire peuvent être regroupés avec des connexions au même réseau et au même
stockage pour fournir un ensemble de ressources dans l'environnement virtuel, appelé
cluster .
Lorsqu'un serveur est ajouté à un cluster, ses ressources sont intégrées à celles du
cluster.
Ainsi, le cluster gère les ressources de tous les serveurs qu’il contient et agit comme une
entité unique.
Ceci est bénéfique car si l'un des serveurs tombe en panne, un autre serveur peut
prendre sa place.

55 56
Virtualisation Virtualisation
Datacenter Datacenter

57 58

Virtualisation Virtualisation
Datacenter Datacenter

Avantages
Ils offrent un environnement hyper sécurisés pour les données.
Les équipements ne sont pas obsolètes (continuent à être utiles et
efficaces dans leur contexte d'utilisation actuel)
Les données sont disponibles en permanence
Ils visent à assurer
Une haute qualité de service
Une haute disponibilité

59 60
Virtualisation Virtualisation
Datacenter Datacenter

Assurer la haute disponibilité: le service doit être toujours disponible malgré


Les enjeux d’un Data Center
les risques
Assurer la haute disponibilité
Naturels (inondation, séisme, incendie, etc.) =>
Assurer la haute protection et sécurité
Etude géographique de l’emplacement,
Sauvegardes régulières et duplication
Contraintes:
Sur-chauffage (système de climatisation indispensable)
Dimensions très vastes: des bâtiments
Coupure électrique (diversifier les sources d’alimentation)
Infrastructure gigantesque
Humaines: mauvaise manipulation ou intention (contrôle d’accès, gestion
Plusieurs intervenants (administrateurs, clients, informaticiens,
des autorisations, suivi et journaux, les traces, etc.)
électriciens, fournisseurs de matériel, etc.)
Connexion réseau/internet point d’entré au cloud (dupliquée et sécurisée)

61 62

Virtualisation Virtualisation
Datacenter Exemple de solution de virtualisation

VMWare ESXi
Assurer la haute protection et la sécurité: Fondée en 1998, VMware a été la première entreprise à développer une
Contrôle d’accès: (badge, empreinte digitale, etc.) solution de virtualisation x86 disponible dans le commerce.
Verrouillage automatique des point d’accès. L'année suivante, la société publie son premier produit, Workstation 1.0, qui
Une surveillance (capteurs vidéo, thermiques, de proximité) permet aux développeurs de créer et de travailler avec des machines virtuelles
Identification du personnel avec un contrôle des accès. sur leurs postes de travail Windows ou Linux. Deux ans après cela,
Mise en place de systèmes de détection/prévention d’intrusions, pare- En 2001, ESX 1.0 et GSX 1.0 ont été publiés. ESX était un hyperviseur de type 1
feu, antivirus, etc. et GSX, un hyperviseur de type 2.
Chiffrement des données… L'architecture d'origine d'ESX était composée de deux parties, l'hyperviseur
lui-même, et un module de console basé sur Linux.
ESXi a été développé avec le même noyau d'hyperviseur, mais sans la console
de service.
VMware a publié deux versions, ESX classique et ESXi, de la version 3.5 en
2007 à la version 4.1 en 2010.
63 À compter de la version 5 de 2011, seule l'architecture ESXi est disponible. 64
Virtualisation Virtualisation
Exemple de solution de virtualisation Exemple de solution de virtualisation

Citrix Xen
Le modèle Xen a un invité spécial appelé Domaine 0, également appelé Dom0.
VMWare ESXi Cet invité est démarré lors du démarrage de l'hyperviseur
vCenter Server: Il dispose de privilèges de gestion différents de ceux des autres invités.
gère tous les composants physiques et Il a un accès direct au matériel
virtuels d’un centre de données virtualisé Il gère toutes les E/S pour les invités individuels.
pour se connecter au serveur vCenter afin
de gérer le vCenter et les hôtes ESXi, on
utilise le vSphere Client

65 66

Virtualisation Virtualisation
Exemple de solution de virtualisation Exemple de solution de virtualisation
Microsoft Hyper-V
Microsoft a débuté dans l’espace de
QEMU-KVM
virtualisation avec Virtual Server en
KVM (Kernel-based Virtual Machine) prend en 2005.
charge à la fois la virtualisation complète (où les Hyper-V a été publié en 2008 en tant
systèmes invités ne sont pas modifiés) et la que partie installable du système
paravirtualisation. d'exploitation Windows Server 2008
C’est une solution open source intégrée au sein
du noyau Linux depuis la version 2.6.20.
KVM est un projet issu de QEMU (Quick Emulator)
dont il utilise une version modifiée.
Même si on fait souvent référence à l'hyperviseur
KVM, il s'agit en réalité d'une combinaison QEMU-
KVM.

67 68
Virtualisation Virtualisation
Exemple Pratique: virtualisation avec VirtualBox Exemple Pratique: virtualisation avec VirtualBox
Création d’un réseau NAT (Network Address Translation) Création d’un réseau bridgé
est la manière la plus simple d'accéder à un réseau Avec le réseau bridgé, VirtualBox peut intercepter
externe à partir d'une machine virtuelle. les données du réseau physique et d'y envoyer des
Habituellement, cela n'exige aucune configuration sur le données, ce qui crée de fait une nouvelle interface
réseau hôte ou le système invité. réseau logicielle.
C'est pourquoi c’est le mode réseau par défaut de Quand un invité utilise une telle interface, cela se
VirtualBox. passe comme si l'invité était connecté
Une machine virtuelle dont NAT est activé agit exactement physiquement à l'interface réseau en utilisant un
comme un vrai ordinateur qui se connecté à Internet par câble réseau
un routeur. l'hôte peut envoyer des données à l'invité via cette
Le “routeur”, dans ce cas, est le moteur réseau de interface et en reçoit des données.
VirtualBox, qui dirige le trafic depuis et vers la machine Avec ce mode, les VMs peuvent contacter l'hôte et
virtuelle de façon transparente. l'extérieur et peuvent être contactées à partir de
Ce routeur se place entre chaque machine virtuelle et l'hôte
l'hôte.
Cette séparation maximise la sécurité puisque, par défaut,
les machines virtuelles ne peuvent pas se parler et ne
peuvent pas être contacté de l'exétrieur. 69 70

Virtualisation Containerisation
Exemple Pratique: virtualisation avec VirtualBox Evolution de l’infrastructure

Création d’un réseau Host-Only


Un réseau Host-Only est un mode de
configuration de réseau dans lequel les
machines virtuelles peuvent communiquer
uniquement entre elles et avec l'hôte sur lequel
elles sont exécutées.
Cela signifie que les VMs ne sont pas autorisées
à accéder au réseau externe ou à l'internet, ni à
communiquer avec des machines physiques en
dehors de l'hôte.

71 72
Conteneurisation Conteneurisation
C’est quoi un conteneur? Avantages du conteneur

Enveloppe permettant de packager une application avec juste


ce dont elle a besoin pour fonctionner
Peut être déployé tel quel dans n'importe quelle machine Meilleures performances que les VM (Démarrage
disposant d'un Container Engine avec différents environnement instantané )
(Dev, Test, Prod) Portabilité d'un environnement à l'autre (Multicloud)
Utilise le Kernel de l'OS Hôte Cohérence entre les environnements Dev, test et prod
A son propre espace de processus et sa propre interface Permet de modulariser facilement l'application
réseau Gérer l'héritage technique (Ancienne application) grâce
Isolé de l'hôte, mais exécutée directement dessus. à l'isolation
Permet de décomposer l'infrastructure applicative en petits
éléments légers facile à déployer et à réutiliser

73 74

Conteneurisation Conteneurisation
Conteneurs vs Machine Virtuelles Utiliser des conteneurs dans des machine virtuelles

Machine Virtuelle: Les container engine ne viennent pas pour


Permet de virtualiser une machine physique remplacer les machines virtuelles.
Chaque VM a son propre OS Dans la pratique on utilise les deux:
Une VM consomme beaucoup de Les machines virtuelles pour virtualiser les
ressources (CPU, Stockage) et prend assez machines
de temps pour booter (qq minutes). Utiliser un container engine tel que Docker
Conteneur: pour isoler les environnements d'exécution
Permet de créer un environnement des applications dans des machines
d'exécution des applications virtuelles.
Les conteneurs utilisent le même OS Ceci pour tirer le bénéfice des deux technologies
Tous les conteneurs utilisent le même
kernel OS (Linux), consomme peu de
ressources, boot rapide (qq secondes)

75 76
Conteneurisation Conteneurisation avec Docker
Historique C’est quoi docker?
Docker permet de créer des environnements (appelées containers) de
manière à isoler des applications.
Conteneur = unité de transport intermodal Il permet d'empaqueter une application ainsi que les dépendances
Virtualisation de processus : nécessaires dans un conteneur virtuel isolé qui pourra être exécuté sur
UNIX chroot (1979-1982) n'importe quelle machine supportant docker.
BSD Jail (1998) Docker est un logiciel libre qui permet le déploiement d'applications sous la
Parallels Virtuozzo (2001) forme de conteneurs logiciels.
Solaris Containers (2005) L'origine de docker est :
Linux LXC (2008) Au départ, société française et maintenant basée à San Francisco.
Docker (2013) (basé sur LXC) dotCloud : un PaaS avec un container engine écrit en Python
En 2012 : Réécriture le langage Go.
En 2013, Première version Open source de docker
Réaction très positive de la communauté
dotCloud change de nom pour Docker.
En 2014, Levée de fonds : 40 millions $
En 2015, Levée de fonds : 95 millions $
77 78

Conteneurisation avec Docker Conteneurisation avec Docker


Problèmes de déploiement des applications Problèmes de déploiement des applications

Pour une application utilisant différentes technologies


(services), des problèmes sont posés au moment du
déploiement en production:
Compatibilité des applications avec les OS
Installer les dépendances et les librairies requises Solution: conteneurs d’applications
avec les bonnes versions pour chaque service. Embarquer les applications dans des conteneurs
Installer les différents environnements : Exécuter chaque service avec ses propres
Dev dépendances dans des conteneurs séparées
Test
Prod
Ce qui prend beaucoup de temps pour déployer les
applications.
Avec des conflits entres les développeurs et les
opérationnels (Administrateurs systèmes)

79 80
Conteneurisation avec Docker Conteneurisation avec Docker
Architecture globale de docker Docker hub
Le développeur crée un fichier Dockerfile contenant les commandes que
docker va exécuter pour construire une image docker de cette application.
Une image docker est juste un fichier package
$ docker build
L'image docker contient tout ce dont l'application a besoin pour s'exécuter représentant la Template des conteneurs. Elle
correctement. définit la structure du conteneur en englobant
Les images Docker peuvent être publiées dans un registre publique l'application containérisée et l'ensemble de ses
(Docker hub) ou privé.
dépendances.
$ docker push image_name
Pour télécharger une image docker d'une application dans un Host Docker,
il suffit d'utiliser:
$ docker pull image_name Un Conteneur représente une instance d’une
La création et l'exécution d'un conteneur d’une application se fait par
image. Un conteneur est exécutée par le Docker
instanciation et exécution de l'image en utilisant :
$ docker run image_name Host. Ce qui implique l'exécution de l'application
Avec docker run, si l'image n'existe pas dans le host, elle va procéder au qu'il transporte dans un environnement isolé
téléchargement celle-ci avant d'en créer et exécuter un conteneur docker. fourni par le conteneur.
Docker se compose de :
Docker Engine qui permet de créer le Host Docker sur une machine
Linux (Docker daemon)
Un client Docker qui peut se trouver dans n'importe quelle autre
machine et qui est connecté à Docker Engine via différents
connecteurs exposés par dockerd (socket, REST API, etc.) 81 82

Conteneurisation avec Docker Conteneurisation avec Docker


Docker contribue à instaurer l’approche devops Les éditions de Docker
Sans Docker :
Le développeur Docker est disponible en deux éditions :
Développe l'application.
Génère le package de l'application à déployer (App.war) Community Edition (Open source)
Envoie à l'opérationel (Administrateur système)
App.war Disponible pour les platforms :
Un descriptif des dépendances qu'il faut installer et configurer pour
que l'application s'exécute normalement.
Linux
L'opérationnel Mac
Doit se débrouiller pour satisfaire les exigences de l'application.
Pour chaque mise à jour, c'est toujours les mêmes histoires qui se Windows
répètent.
Ce qui rend la vie dur au administrateur systèmes (Opérationnels)
Cloud (Azure, AWS,GCP)
Ce qui crée beaucoup de conflits entre les développeurs qui tentent d'améliorer Pour Windows et Mac deux solutions :
constamment les applications et les opérationnels qui doivent redéployer les mises à
jour. Installer une Machine virtuelle Linux
Avec Docker:
Le développeur avec VirtualBox ou Vmware par
Développe l'application
Construit une image docker de son application contenant toutes les
exemple
dépendances dont l'appli a besoin. Installer Docker desktop pour Windows
Publie l'image docker de le registre docker
L'opérationnel déploie l'application en instanciant des conteneurs à parti de Server ou Mac
l'image docker récupérée à partir du repository docker.
83
Enterprise Edition 84
Conteneurisation avec Docker Conteneurisation avec Docker
Explorer Docker hub Les commandes de base de docker : run et ps

$docker run image name


Permet de créer et démarre un conteneur nouvelle instance de l'image.
Si l'image n'existe pas, elle sera d'abord téléchargée à partir du docker hub
$docker run -d image name
Permet de démarrer le conteneur comme service de fond.
La valeur par défaut de la version de l'image est latest
Pour spécifier la version (tag):
$docker run image name:tag
Exemple : $ docker run redis: 4.0
$ docker ps
Permet de lister les conteneur qui sont en cours d'exécution
Chaque conteneur créé dispose d'un identifiant unique et d’un nom du conteneur.
docker ps –a
Permet de lister tous les conteneur avec leurs status (Up, Exited, Created)

85 86

Conteneurisation avec Docker Conteneurisation avec Docker


Les commandes de base de docker : run et ps Les commandes de base de docker : mapper les ports pour un accès externe

Au démarrage nginx ouvre un service http sur


le port 80
Comme nginx démarre à l'intérieur du
conteneur docker, l'accès http à cette application
ne peut se faire qu’à l'intérieur du conteneur.
Pour accéder à un service de l'extérieur à un
service déployé à l'intérieur du conteneur, il
faudrait qu'au démarrage du conteneur, spécifier
à docker le mapping entre les ports exposés en
interne avec les ports externes
Cette opération se fait via l'option –p port
externe:port interne
Exemple:
$sudo docker run -d -p 8082:80 nginx
Dans notre cas : 192.168.57.3 représente
l'adresse IP de la machine virtuelle ubuntu qui
87 déploie docker Host 88
Conteneurisation avec Docker Conteneurisation avec Docker
Les commandes de base de docker : images et rmi Les commandes de base de docker : stop et rm

$docker images Docker stop <<containerID or containerName>>


Permet de lister les images présenté dans le host docker Permet de stoper un conteneur
$ docker rmi <<nom-image>>
Permet de supprimer une image du host docker. Pour ce faire il faut s’assurer de
stopper et supprimer d’abord tous les conteneurs instanciés de cette image

Docker rm << containerID or containerName>>


Permet de supprimer un conteneur d’une manière
permanente

89 90

Conteneurisation avec Docker Conteneurisation avec Docker


Un conteneur docker ne peut pas contenir un OS La commande EXEC

Exemple : Tenter de démarrer un conteneur ubuntu Permet d’exécuter une commande dans un conteneur démarré
$ docker run ubuntu Exemple:
Le conteneur sera créé, mais pas démarré. Démarrer un conteneur MySQL
En effet un conteneur docker est fait pour contenir des processus et des services et non Exécuter mysql dans le conteneur en mode interactif
pas des OS
L'image ubuntu est faites pour être l'image de base de d'autres conteneur et non pas
l'exécuter en tant que telle
Quand un service du conteneur s'arrête, le conteneur s'arrête aussi.

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag


sudo docker run --name my2 -e MYSQL_ROOT_PASSWORD=root -d mysql
91 92
Conteneurisation avec Docker Conteneurisation avec Docker
La commande EXEC La commande Attach

docker exec -it mysql2 mysql --password Quand vous lancez un conteneur comme tâche de fond avec l'options -d, il se peut que vous ayez
Cette ligne permet d’exécuter une commande mysql à l’intérieur d’un conteneur nommé besoin d'attacher la console du terminal courant au conteneur.
mysql2, en demandant le mdp Cette opération se fait via la commande :
on peut se connecté au serveur mysql et taper les cmds correspondant. Les résultats seront $ docker attach containerlD
envoyé sur le terminal puisque le mode itératif -it est défini Exemple:
On lance un conteneur ubuntu avec la commande top qui est sensée afficher sur le console
le taux d'utilisation du CPU et de la mémoire, comme tâche d'arrière plan. Rien ne s'affiche
Par la suite on attache la console du terminal au conteneur lancé en spécifiant son id (les 4
caractères de l'ID suffisent pour désigner un conteneur)

93 94

Conteneurisation avec Docker Conteneurisation avec Docker


Inspecter un conteneur Mapping des volumes: persistances des données dans un conteneur

La commande ps permet d’avoir des informations basiques sur les conteneurs Quand vous démarrez un conteneur MySQL, les données des
Pour avoir plus de détail sur les conteneurs au format JSON, on peut utilser la bases de données sont stockées par défaut dans le dossier
commande: /var/lib/mysql à l'intérieur du docker container.
$docker inspect <<container_name or container_id>> Un docker container dispose de don propre système de fichier.
Si vous supprimer ce conteneur MySQL, toutes les bases de
données seront détruites.
Vous vous souhaitez rendre les données persistantes en dehors
du conteneur, il faudrait mapper les volume au démarrage du
conteneur.
$ docker run -v /opt/dataDir:/var/lib/mysql mysql
Quand le conteneur mysql démarre, il monte implicitement un
dossier en dehors du conteneur vers un dossier interne au
conteneur.
Dans ce cas , toutes les données seront stockées dans un
dossier externe au conteneur et même si on supprime le
conteneur, le données restent dans le dossier /opt/dataDir
95 96
Conteneurisation avec Docker Conteneurisation avec Docker
Logs des conteneurs Configurer Rest API pour Docker

Quand vous démarrez un conteneur comme tâche de fond, il serait utile un moment Il est bien possible d’exposer les services de docker pour un accès distant via une API
donnée de visualiser le fichier log d’un conteneur. REST.
Cette opération peut se faire par la commande: Naviger vers /lib/system/system dans votre terminal et ouvrir le fichier docker.service
$ docker logs container_ID $ nano /lib/systemd/system/docker.service
Trouver la ligne qui commence par ExecStart et ajouter -H=tcp://0.0.0.0:2375
ExecStart=/usr/bin/docker daemon -H=fd:// -H=tcp://0.0.0.0:2375
Enregistrer le fichier modifié
Reload docker daemon
$ systemctl daemon-reload
Restart le container
$ sudo service docker restart
Testez si cela fonctionne en utilisant cette commande, si tout va bien la commande ci-
dessous devrait renvoyer un JSON
$ curl http://localhost:2375/images/json

97 98

Conteneurisation avec Docker Conteneurisation avec Docker


Configurer Rest API pour Docker Configurer Rest API pour Docker

Sur docker desktop: cocher "Expose daemon on tcp://localhost:2375 without TLS"


Puis, cliquer sur "Apllay and restart" Pour plus de détail voir la
documentation sur
https://docs.docker.com/engine/api/

99 100
Conteneurisation avec Docker Conteneurisation avec Docker
Dockerfile Dockerfile

Un Dockerfile est un fichier texte qui contient les commandes nécessaires à la construction Un Dockerfile utilise les commandes suivantes pour construire les images :
d'une image. ADD : Copie les fichiers d'une source sur l'hôte vers le système de fichiers du conteneur à la
Une fois qu'un Dockerfile est créé, l'administrateur utilise la commande docker build pour créer destination définie.
une image basée sur les commandes contenues dans le fichier. CMD : Exécute une commande spécifique dans le conteneur.
Les commandes et les informations contenues dans le Dpckerfile peuvent être configurées ENTRYPOINT : Définir une application par défaut à utiliser chaque fois qu'un conteneur est
pour utiliser des versions et des dépendances logicielles spécifiques afin de garantir des créé avec l'image.
déploiements cohérents et stables. ENV : Définir des variables d'environnement.
EXPOSE : Exposer un port spécifique pour permettre la mise en réseau du conteneur avec le
monde extérieur.
FROM : Définit l'image de base utilisée pour démarrer le processus de construction.
MAINTAINER : Définit le nom complet et l'adresse électronique du créateur de l'image.
RUN : directive d'exécution centrale pour les fichiers Docker.
USER : Définit l'UID (le nom d'utilisateur) qui exécutera le conteneur.
VOLUME : Permet l'accès du conteneur à un répertoire sur la machine hôte.
WORKDIR : Définit le chemin où la commande, définie avec CMD, doit être exécutée.
101 102

Conteneurisation avec Docker Conteneurisation avec Docker


Dockerfile Networking dans Docker
Il existe 3 modes réseaux en docker :
Bridge : Par défaut : $ docker run nginx
Host: $ docker run --network=host nginx
none: $ docker run --network=none nginx
Bridge est le mode réseau par défaut qui est utilisé par conteneur exécuté.
C’est le réseau privé interne créé par docker dans le Host.
Tous les conteneurs sont attachés par défaut à ce réseau
Chaque conteneur a une adresse souvent 172.17.0.x
Chaque conteneur peut accéder à l'autre par cette adresse.
Pour accéder à l'un des ces conteneur de I'extérieur, il faut mapper le port de
ces conteneurs aux ports du docker host.
Une autre manière pour accéder aux conteneurs de l'extérieur sans mapper les ports
c'est de les attacher au réseau de type host.
Dans ce cas le port de chaque conteneur est mappé automatiquement au
même port au niveau du host.
Ce qui fait qu'on ne pourra pas démarrer plusieurs instances du même
conteneur, car on ne peut pas exposer plusieurs services avec le même port au
niveau du host.
103 Le troisième type de réseaux est none, signifie que le conteneur n'est attaché à 104
aucun réseau. Il ne sera donc pas accessible ni localement ni de l'extérieur.
Conteneurisation avec Docker Conteneurisation avec Docker
Networking dans Docker Networking dans Docker

Dans le cas du réseau de type Bridge, il est possible de connecter les


conteneurs dans des réseaux internes différents :
Pour cela créer un nouveau réseau :
$ docker network create --driver bridge –subnet 182.18.0.0/16 custom-
isolated-net
Pour lister les réseaux disponibles :
$ docker network ls
Pour consulter la configuration réseau d'un conteneur
$ docker inspect <<container_id or container name>>

105 106

Conteneurisation avec Docker Conteneurisation avec Docker


Networking dans Docker Docker Name Spaces (DNS)

Un conteneur peut atteindre un autre conteneur par


son nom
Docker utiliser DNS (Docker Name Spaces ) pour
associer I'adresse IP au nom du conteneur.
DNS est un serveur qui est démarré par défaut en
utilisant I'adresse IP 172.17.0.11
Il est plus pratique de connecter les conteneurs en
utilisant leurs noms, car les adresses IP peuvent
changer au démarrage.

107 108
Conteneurisation avec Docker Conteneurisation avec Docker
Stockage dans Docker Architecture en couches

Pour comprendre comment docker gère ses données, considérant les deux
exemples suivants de fichier docker.
Quand vous installer Docker dans un systéme de fichier, il y
crée son dossier dans :
/var/lib/docker
aufs
containers
image
Volumes
C'est dans ces dossiers où docker stocke, par défaut,
toutes ses données. C'est a dire les fichiers relatifs aux
images, conteneurs, volumes.

109 110

Conteneurisation avec Docker Conteneurisation avec Docker


Docker Compose Docker Compose: exemple d’application

Compose est un outil permettant de définir et Considérons un exemple fourni


d'exécuter des applications Docker à conteneurs dans la documentation de Docker
Cette application permet de voter
multiples. chats ou chiens et d‘afficher les
Avec Compose, vous utilisez un fichier au résultats du vote.
format YAML (docker-compose.yml) pour L’appli se compose de 5 services :
configurer les services de votre application. Voting-app : web application
Ensuite, avec une seule commande, vous développée en python
Redis : Cache mémoire
créez et démarrez tous les services de votre Worker : développé en Java
configuration. Postgresq| : pour stocker les
$ docker-compose up données du vote
Result-app : pour présenter
les résultats.

111 112
Conteneurisation avec Docker Conteneurisation avec Docker
Docker Compose: exemple d’application Docker Compose: déploiement de l’application

On peut tenter de démarrer


manuellement les services avec la
commande run
En utilisant l’option --link pour lier
les services
Cette manière est trop lourde
Il est plus simple de faire la même
chose avec docker-compose

Dans la version 2 de docker-compose


L’option links n’est pas obligatoire
Docker crée automatiquement un lien
entre tous les services déclarés dans
docker-compose

113 114

Conteneurisation avec Docker Conteneurisation avec Docker


Docker Compose: si les images ne sont pas crées Docker Compose: si les images ne sont pas crées

115 116
Conteneurisation avec Docker Conteneurisation avec Docker
Docker Compose: si les images ne sont pas crées Docker Compose: Networking

117 118

Conteneurisation avec Docker Conteneurisation avec Docker


Docker Registry Docker Registry

Les images docker publiques sont stockées dans le cloud : Docker registry est lui-même une application exposée dans image
Docker Hub (docker.io) docker disponible sur docker hub.
Quand vous exécuter un conteneur nginx avec la commande :
$ docker run nginx Vous pouvez installer dans le host du docker un annuaire privé de
Nginx représente le nom de l'image dans un repository. docker :
Ici le repository est nginx qui représente le nom de l'utilisateur $ docker run -d -p 5000:5000 --name my-registry registry:2
docker hub.
$ docker run nginx/nginx Pour pousser et récupérer une image docker dans ce nouveau
$ docker run user_name/image_name registre interne
$ docker image tag my-image localhost:5000/my-image
$ docker push localhost:5000/my-image
$ docker pull localhost:5000/my-image

119 120
Conteneurisation avec Docker Conteneurisation avec Docker
Docker Registry Restriction des ressources avec cgroups

Les organisations peuvent créer leur annuaire interne


Par défaut un conteneur peut utiliser toutes les ressources
Dans ce cas là, l’accès passe une opération d’authentification avec: disponibles (CPUs et RAM) dans le host Linux
$ docker login private-registry.io Pour restreindre l’utilisation des ressources pour un conteneur:
Pour accéder à une image:
$ docker run private-registry.io/apps/internal-app $ docker run --cpus=0.5 ngninx
$ docker run --memory=100m mysql

121 122

Conteneurisation avec Docker Conteneurisation avec Docker


Orchestration des conteneurs Orchestration des conteneurs

Consiste en un ensemble d’outils et de scripts qui permettent l’automatisation des opérations:


Scalabilité des conteneurs (capacité d'adapter la taille d'un ensemble de conteneurs en
fonction des besoins), réplication des conteneurs, haute disponibilité, bilan de santé des
conteneurs etc.
Exemples d’outils:
Docker Swarm
Besoin de démarrer plusieurs instances pour des raisons de Kubernetes
scalabilité, de tolérance en pannes, disponibilité et de monté en MESOS
charge
Si une instance tombe en panne, il faut la remplacer
Si Docker Engine tombe en panne, tous les conteneurs vont
cracher.
L’orchestration des conteneurs est une solution pour ce problème

123 124
Conteneurisation avec Docker Conteneurisation avec Docker
Docker Swarm Configuration de Docker Swarm

Docker Swarm permet de combiner plusieurs machines ensemble pour former un cluster. Pour configurer Swarm il faut:
Il prend en charge la distribution et la réplication des instances de services des applications Démarrer plusieurs hosts docker
dans des hosts distribués pour la haute disponibilité et I'équilibrage de charges à travers différents Désigner un host en tant que manager et les autres en tant que workers
systèmes et hardwares. Par la suite exécuter les commandes "docker service" sur le swarm manager node
$ docker service create --replicate=4 -p 8080:80 may-app

125 126

Conteneurisation avec Docker Conteneurisation avec Docker


Exemple d’application Swarm Démarrer un Swarm Manager

Démarrer 3 VM ubuntu avec Docker engine installé:


Host 1 avec l’adresse IP 192.168.57.3
Host 2 avec l’adresse IP 192.168.57.4
Host 3 avec l’adresse IP 192.168.57.5
Ensuite dans une machine (Machine Physique), connecter 3 terminaux avec SSH au 3 hosts

Advertise-addr: adresse où swarm manager accepte les connexions à partir des autres nœuds
Listen-addr: adresse d’écoute pour accéder au cluster swarm depuis l’extérieur
Le port par défaut de Swarm est 2377

127 128
Conteneurisation avec Docker Conteneurisation avec Docker
Démarrer un nœud Swarm Worker Démarrer un nœud Swarm Worker

On refait la même chose sur une autre machine

129 130

Conteneurisation avec Docker Conteneurisation avec Docker


Lister les nœuds du cluster Swarm Créer et démarrer un service Swarm

131 132
Conteneurisation avec Docker Conteneurisation avec Docker
Lister les services démarrés Détails des services démarrés dans Swarm

133 134

Conteneurisation avec Docker Conteneurisation avec Docker


Consulter le fichier logs d’un service Créer un service: exemple d’application web

135 136
Conteneurisation avec Docker Conteneurisation avec Docker
Supprimer le service web créé Déployer une application avec trois services mongo, back et front: network sécurisé

--driver overlay : Les réseaux overlay sont utilisés dans des environnements distribués comme Docker
Swarm pour permettre la communication entre les conteneurs sur différents hôtes.

137 138

Conteneurisation avec Docker Conteneurisation avec Docker


Déployer une application avec trois services mongo, back et front: network sécurisé Déployer une application avec trois services mongo, back et front: network sécurisé

139 140
Conteneurisation avec Docker Conteneurisation avec Docker
Déployer une application avec trois services mongo, back et front: network sécurisé Déployer une application avec trois services mongo, back et front: network sécurisé

141 142

Conteneurisation avec Docker Conteneurisation avec Docker


Mise à l’échelle d’un service (scaling back service: 15 instances) Mise à l’échelle d’un service (scaling back service: 15 instances)

144 145
Conteneurisation avec Docker Conteneurisation avec Docker
Mise à l’échelle d’un service (scaling front service: 2 instances) Mise à l’échelle d’un service (scaling front service: 2 instances)

146 147

Conteneurisation avec Docker Conteneurisation avec Docker


Déployer la mise à jour du service back Déployer la mise à jour du service back

148 149
Conteneurisation avec Docker Conteneurisation avec Docker
Déployer la mise à jour du service back Déployer la mise à jour du service front

150 151

Conteneurisation avec Docker Conteneurisation avec Docker


Déployer la mise à jour du service front Déployer la mise à jour du service front: Rollback

152 153
Conteneurisation avec Docker Conteneurisation avec Docker
Suspendre un nœud worker Conditionner le démarrage de services

Toutes les instances des services déployées dans le nœud Host 3 vont migrer vers les
autres nœuds du cluster

154 155

Cloud Computing
Découvrir le Cloud: Définition du Cloud selon NIST

Le Cloud Computing, abrégé en Cloud (Nuage), ou l’informatique en


nuage (ou nuagique) ou encore l’infonuagique, se définit d’après l’Institut
National des normes et de la technologie (NIST), comme étant un accès via
un réseau de télécommunications, à la demande et en libre-service, à des
Cloud Computing ressources informatiques partagées configurables. Il s'agit donc d'une
délocalisation de l'infrastructure informatique.
Le Cloud Computing englobe trois caractéristiques clés :
La mutualisation (partager ou d'utiliser des ressources de manière
collective), de la part du fournisseur, de ressources éclatées
Des ressources accessibles en réseau
Des ressources accessibles, rapidement à la demande et de façon
souple 157
Cloud Computing Cloud Computing
Découvrir le Cloud: Autres défintions Historique

Le Cloud Computing est un modèle qui permet un accès réseau à la


demande et pratique à un pool partagé des ressources informatiques
configurables (telles que réseaux, serveurs, stockage, applications et
services) qui peuvent être provisionnées rapidement et distribuées avec un
minimum de gestion ou d’interaction avec le fournisseur de services.
Le Cloud Computing est une plateforme de mutualisation informatique
fournissant aux entreprises des services à la demande avec l'illusion d'une
infinité des ressources.

158 159

Cloud Computing Cloud Computing


Historique: cloud 3.0 Fonctionnement du cloud

Avec le Cloud 3.0, les développeurs créent des applications de haute disponibilité (HA) et avec En utilisant le Cloud, l’entreprise n’est plus le propriétaire du serveur informatique
un traitement massif et parallèle , en décomposant le logiciel en modules faiblement connectés utilisé puisqu’il est mis à disposition par un fournisseur de service.
appelés microservices.
Dan le Cloud, on peut accéder de manière évolutive à de nombreux services sans
Pour des fonctionnalités qui doivent être créées rapidement, les développeurs peuvent
utiliser FaaS (Function as a Service) qui exécute un code fournit par le développeur dans une avoir à gérer l’infrastructure sous-jacente, souvent complexe (entretien de la base de
plateforme prédéfinie sans serveur préalablement installé. données, sauvegarde des données, mise à jour des logiciels, entretien des serveurs,
Dans le Cloud 3.0, les librairies de code sont dépassées. Au lieu de ces librairies, les …) qui nécessite des compétences informatique de plus en plus importantes au fur
développeurs invoquent des web services qui sont des bibliothèques de code avec et à mesure du développement des besoins informatiques de l’entreprise.
l'infrastructure nécessaire pour traiter et stocker des données.

160 161
Cloud Computing Cloud Computing
Fonctionnement du cloud Rentabilité du Cloud et ses avantages économiques

Les applications et les données ne se trouvent plus sur l’ordinateur local, mais La rentabilité du Cloud consiste à étudier les coûts et les avantages du Cloud
sur le Cloud qui est un ensemble de serveurs distants interconnectés au moyen de Computing et des principes économiques qui les sous-tendent.
liaisons internet de haute performance. En tant que discipline, elle explore les questions clés pour les entreprises :
L’accès au service se fait par une application standard installée sur un ordinateur, Quel est le retour sur investissement (ROI) de la migration vers le Cloud ou
tablette, ou un téléphone. du changement de fournisseur de Cloud ?
Quel est le coût total de possession (TCO) d’une solution Cloud par rapport à
une solution on-premise traditionnelle ?

162 163

Cloud Computing Cloud Computing


Rentabilité du Cloud et ses avantages économiques Rentabilité du Cloud et ses avantages économiques

Le Cloud Computing, avec sa portée mondiale, offre des possibilités Avant de passer au Cloud, les entreprises doivent analyser en profondeur les avantages et les
d'économies significatives. inconvénients économiques pour bénéficier d’une vision détaillée des coûts et des économies
spécifiques.
En éliminant la nécessité d'héberger des serveurs sur site, les entreprises
Lorsqu'ils évaluent la rentabilité du Cloud pour leur entreprise, les responsables informatiques
peuvent réduire considérablement les coûts liés à la main-d'œuvre. Les équipes et financiers peuvent suivre un processus de base pour déterminer le ROI (Retour sur
informatiques n'ont plus à consacrer de temps au déploiement et à la maintenance Investissement) et le TCO (Coût Total de Possession) du Cloud. Ils peuvent utiliser ces estimations
de matériel complexe sur place, car les serveurs peuvent être localisés et pour convaincre les dirigeants. Ce processus doit inclure trois éléments clés.
accessibles de n'importe où dans le monde.
Agilité: les entreprises peuvent déployer des applications plus rapidement et
ajuster la capacité de stockage et la puissance de calcul selon les besoins. Cette
agilité permet aux entreprises de s'adapter rapidement aux évolutions du marché
et aux demandes des clients, favorisant ainsi une croissance plus rapide des
revenus.
164 165
Cloud Computing Cloud Computing
Histoires de réussite d’entreprises reconnues dans le monde entier Histoires de réussite d’entreprises reconnues dans le monde entier

Le New York Times (sur GCP), à travers le système Aristo pour l’abonnement numérique Netflix (sur AWS), qui, grâce à sa migration vers le Cloud, a réussi à connaître un succès
Ce journal, fondé en 1851, est l’un des plus lus et des plus influents au monde. mondial.
Depuis 1979, l’entreprise livre des journaux à domicile, mais en raison du système obsolète Une entreprise leader dans le streaming de contenu audiovisuel et présent dans plus de
qu’elle utilisait, les coûts augmentaient. Un ordinateur central, appelé CIS, a été chargé 190 pays et avec plus de 193 millions d’abonnés.
d’exécuter toutes les fonctions critiques du NY Times: facturation, comptes clients, En 1997, la société a loué et vendu des DVD aux États-Unis via sa plate-forme
logistique, catalogue de produits, tarification et rapports financiers. numérique. Suite à des problèmes d’expéditions, en 2008 la décision a été prise de faire
Entre 2006 et 2009, le journal a échoué dans sa tentative de numériser la livraison à le saut vers le Cloud, une transition qui a pris 7 ans. Cependant, et malgré l’attente, c’est
domicile, mais en 2017, le système CIS a été complètement migré vers le Cloud Computing grâce à sa migration vers le Cloud Computing que Netflix a pu lancer sa plateforme de
mondial, et le système a été rebaptisé Aristo. streaming dans le monde entier, qui est aujourd’hui utilisée par des millions de
Aujourd’hui, Aristo fait partie de la plate-forme d’abonnement numérique du New York personnes.
Times, générant plus de 500 millions de dollars par abonnement et traitant environ 6,5
millions de transactions au cours de la première année.

166 167

Cloud Computing Cloud Computing


Histoires de réussite d’entreprises reconnues dans le monde entier Histoires de réussite d’entreprises reconnues dans le monde entier

Animoto Productions (AWS), qui a utilisé des services de Cloud Computing pour faire General Electric (sur AWS)
évoluer ses serveurs, parvenant à passer de 50 à 3 500 en seulement trois jours Est une entreprise présente dans 180 pays et leader de la production
est un service de création vidéo basé sur le Cloud qui produit des vidéos à partir de industrielle depuis plus d'un siècle. En combinant des solutions d'ingénierie
photos, de clips vidéo et de musique dans des diaporamas vidéo et des présentations de classe mondiale et divers logiciels et outils d'analyse, GE permet au monde
Web personnalisées. entier de travailler plus efficacement, de façon fiable et en toute sécurité.
L'utilisation de services Cloud lui a permis de faire face à la hausse de la demande, mais emploie plus de 2 000 applications Cloud et 55 services AWS afin de profiter
également de réduire les services facilement et de manière rentable lorsque la d'une évolutivité et de performances sans pareilles au sein de ces activités
demande s'est ralentie. liées à l'aviation, à l'énergie, à la santé et aux énergies renouvelables.
En janvier 2013, la société avait atteint 6 millions d'utilisateurs et a reçu un brevet pour
sa technologie d'intelligence artificielle cinématographique.

168 169
Cloud Computing Cloud Computing
Histoires de réussite d’entreprises reconnues dans le monde entier Histoires de réussite d’entreprises reconnues dans le monde entier

Pearson (sur AWS), la multinationale du contenu éducatif, qui grâce à une infrastructure de Airbnb (sur AWS), une entreprise qui, après un an de lancement a décidé de migrer tous ses
Cloud hybride a réussi à rediriger les ressources et à les concentrer sur le développement de services et fonctions vers AWS, marquant le début du succès dont elle jouit actuellement.
nouveaux projets éducatifs. l'entreprise a créé une communauté mondiale qui facilite la location de logements,
Pearson fournit des services numériques, de contenu et d'évaluation aux apprenants, aux allant des chambres privées et des appartements aux maisons entières.
établissements scolaires, aux employeurs, aux gouvernements et à des partenaires à travers le Grâce au soutien d'AWS et à plusieurs services AWS, Airbnb a élaboré des stratégies
monde. L'entreprise œuvre à doter les apprenants des compétences nécessaires pour pour gérer ses capacités, optimiser le stockage et la capacité de calcul, et développer un
améliorer les perspectives d'emploi et réussir. outil personnalisé de données sur les coûts et l'utilisation.

170 171

Cloud Computing Cloud Computing


Types de service Cloud Types de service Cloud: Infrastructure as a service (IaaS)

Définition : XaaS L'IaaS, ou Infrastructure-as-a-Service, est l'un des trois types


L’acronyme XaaS fait référence à l’expression "everything as a service" c-à-d "tout en de service Cloud. Pour ce type de service le fournisseur de
tant que Service" dans lequel quelque chose est présenté à un utilisateur, interne ou solution fournit les fonctions de virtualisation, le système de
externe, en tant que service. Cette expression désigne aussi les différents modèles du stockage, les réseaux et les serveurs, et vous y donne accès en
Cloud computing "en tant que service" qui sont mis à la disposition des utilisateurs sur fonction de vos besoins.
Internet. Ainsi, l’utilisateur ne gère ni ne contrôle l'infrastructure Cloud
Ce terme est né suite à l’apparition de nombreux services Cloud computing tels que les sous-jacente et n'a pas à s'inquiéter des mises à jour physiques
SaaS (logiciels en tant que service), les PaaS (plateformes en tant que service) ou les IaaS ou de la maintenance de ces composants.
(infrastructures en tant que service). Par contre et autant qu’utilisateur, vous êtes responsable du
système d'exploitation ainsi que des données, applications,
solutions de middleware et environnements d'exécution.

172 173
Cloud Computing Cloud Computing
Types de service Cloud: Infrastructure as a service (IaaS) Types de service Cloud: Infrastructure as a service (IaaS)

L'IaaS est le modèle Cloud « as-a-Service » le plus flexible et libre, il apporte aux utilisateurs Avantages et les inconvénients
tous les avantages des ressources informatiques sur site, sans les actions et frais de gestion de Avantages Inconvénients
l’infrastructure. • Un budget maîtrisé : L’abonnement est en fonction de la • Modifications de processus : Peut nécessiter des
En effet, il facilite la mise à l'échelle, la mise à niveau et permet d'ajouter des ressources, par consommation ainsi le tarif est calculé par heure, par modifications au niveau du workflow et des processus de
semaine ou par mois. Certains fournisseurs facturent en travail de l’entreprise.
exemple le stockage dans le Cloud. fonction de la quantité d’espace de machine virtuelle • Risques de sécurité : Les fournisseurs Cloud sécurisent
Exemples: utilisée ou à l’unité d’œuvre (CPU, RAM, disque, bande l'infrastructure, les entreprises sont responsables de tout
passante…). ce qu'elles hébergent.
• Une très grande agilité : Les ressources matérielles sont • Un accès à internet : L’accès à internet est Indispensable
ajustables à la demande et en fonction du besoin. Celles-ci avec une connexion satisfaisante pour pouvoir se
peuvent être extensibles en quelques clics et connecter convenablement à votre plateforme.
immédiatement disponibles ce qui assure une très grande • Dépendance vis-à-vis du fournisseur : passer d'un
réactivité dans l’ajustement de la solution. fournisseur Cloud à un autre peut être complexe.
• Une meilleure sécurité : les fournisseurs Cloud investissent • Contrainte réglementaire : l'évolution des lois étatiques
massivement dans la technologie et l'expertise en matière peut avoir un impact sur l'utilisation de l'IaaS par certaines
de sécurité. entreprises, en particulier au-delà des frontières nationales
• Réaffecter les ressources informatiques : libérez du
personnel informatique pour des projets à plus forte valeur
174
ajoutée. 175

Cloud Computing Cloud Computing


Types de service Cloud: Platform as a service (PaaS) Types de service Cloud: Platform as a service (PaaS)

Le type de service PaaS, ou Platform-as-a-Service est Idéalement destiné aux développeurs et aux programmeurs, le PaaS fournit une plateforme
semblable à du IaaS, sauf que votre fournisseur de services simple et évolutive permettant aux utilisateurs d’exécuter et gérer leurs propres applications,
Cloud fournit également le système d'exploitation et les sans avoir à créer ni entretenir l'infrastructure ou la plateforme généralement associée au
environnements d’exécutions. processus.
Ainsi, l’utilisateur ne gère ni ne contrôle l'infrastructure Cloud Exemples:
sous-jacente et n'a pas à s'inquiéter des mises à jour physiques
ou de la maintenance de ces composants y compris le réseaux,
les serveurs, les systèmes d’exploitations ou de stockage.
Par contre et autant qu’utilisateur, vous avez le contrôle pour
le déploiement et configuration d’applications crées à l’aide de
langages de programmation, de bibliothèques, de services et
d'outils pris en charge par le fournisseur. Un service de gestion base de données géré par le fournisseur et accessible via le Cloud est
considéré comme du PaaS. Exemple : Azure SQL DB, Azure Cosmos DB, …
176 177
Cloud Computing Cloud Computing
Types de service Cloud: Platform as a service (PaaS) Types de service Cloud: Software as a service (SaaS)

Avantages et inconvénients Le SaaS (Software-as-a-Service), ou services d'applications


Cloud, est le type le plus complet et utilisé des services sur le
Avantages Inconvénients
marché du Cloud.
• Rentable : Pas besoin d'acheter du matériel ou de payer • Dépendance vis-à-vis du fournisseur : Très dépendant des
des dépenses pendant les temps d'arrêt. capacités et services offert par le fournisseur. Pour ce type de service le fournisseur fournit et gère une
• Solutions personnalisées : Couches Middleware et • Sécurité des données : Des limitations peuvent surgir application complète accessible par les utilisateurs via un
Runtimes disponibles permettant de simplifier le quant à la sécurité et la politique d’hébergement des navigateur Web ou un client lourd.
développement et le déploiement d’applications. données sur le Cloud.
• Speed to Market : accélérez la création d'applications • Compatibilité : Les solutions PaaS peuvent ne pas être Ainsi, l’utilisateur ne gère ni ne contrôle la plateforme Cloud
Évolutive. optimisées pour le langage de votre choix et des versions sous-jacente et n'a pas à s'inquiéter des mises à jour logicielles
• Augmente la sécurité : les fournisseurs de PaaS investissent de Framework spécifiques peuvent ne pas être disponibles ou l'application des correctifs et les autres tâches de
massivement dans la technologie et l'expertise en matière ou fonctionner de manière optimale.
de sécurité. • Modifications de processus : Peut nécessiter des maintenance logicielle.
• Flexible : ajoutez rapidement de la capacité aux heures de modifications au niveau du workflow et des processus de
pointe et réduisez-la si nécessaire. travail de l’entreprise.

178 179

Cloud Computing Cloud Computing


Types de service Cloud: Software as a service (SaaS) Types de service Cloud: Software as a service (SaaS)

Le SaaS constitue une option intéressante pour les petites et moyennes entreprises (PME)
Avantages et inconvénients
qui n'ont pas les ressources humaines pour gérer l'installation et le suivi de l’installation des
mises à jour de sécurité et logiciels. Avantages Inconvénients
Par ailleurs, il est à noter que le modèle SaaS réduit le niveau de contrôle et peut nuire à la • Accessibilité : 24h/24 et 7j/7 à partir de n'importe quel • Dépendance vis-à-vis du fournisseur : Dépendance totale
sécurité et aux performances. Il convient donc de choisir soigneusement votre fournisseur appareil. au service offert par le fournisseur. Ce qui rend la migration
• Gestion opérationnelle : Pas d'installation, de mise à jour vers un fournisseur très délicate.
Cloud. des équipements ou de gestion traditionnelle des licences. • Personnalisation limitée : La plupart des applications SaaS
Exemples • Speed to Market : Accès rapide et facile à l’application avec offrent des capacités de personnalisation minimales de la
un minimum d’effort pour répondre à l’évolution du part du fournisseur.
besoin. • Sécurité des données : Des limitations peuvent surgir
• Augmente la sécurité : les fournisseurs de SaaS quant à la sécurité et la politique d’hébergement des
investissent massivement dans la technologie et l'expertise données sur le Cloud.
en matière de sécurité. • Limitations des fonctionnalités : Étant donné que les
• Synchronisation & Stockage des données : Les données applications SaaS sont fréquemment proposées dans un
sont synchronisées entre vos appareils et accessibles format standardisé, la sélection des fonctionnalités peut
partout et à n’importe quel moment. De plus, les données souvent constituer un compromis délicat entre la sécurité,
sont régulièrement enregistrées dans le Cloud. le coût, les performances et d'autres politiques
180 organisationnelles. 181
Cloud Computing Cloud Computing
Modèles de déploiement Modèles de déploiement: Cloud public
Les modèles de déploiement Cloud décrivent comment le Cloud est exploité et qui a accès aux Un Cloud public consiste en des ressources virtuelles issues du matériel d'un fournisseur Cloud,
ressources des services Cloud. allouées aux clients via une interface en libre-service sur Internet.
Les trois modèles de déploiement sont définis comme suit : Il fait partie d'un environnement diversifié offrant sécurité renforcée, performances
Cloud public : L'infrastructure Cloud est provisionnée pour une utilisation ouverte par le optimisées, coûts réduits et disponibilité accrue pour l'infrastructure, les services et les
grand public. Il peut être détenu, géré et exploité par une entreprise, une université ou une applications.
organisation gouvernementale, ou une combinaison d'entre eux. Il existe dans les locaux du Les services d'un Cloud public constituent une option idéale pour les entreprises nécessitant
fournisseur de Cloud. un accès rapide aux ressources informatiques sans coût initial important.
Cloud privé : L'infrastructure Cloud est provisionnée pour une utilisation exclusive par une
seule organisation comprenant plusieurs clients. Il peut être détenu, géré et exploité par
l'organisation, un tiers ou une combinaison d'entre eux, et il peut exister sur place ou à
l'extérieur.
Cloud hybride : L'infrastructure Cloud est une composition de deux ou plusieurs Cloud
distincts d’infrastructures (privées, communautaires ou publiques) qui restent des entités
uniques, mais qui sont liées ensemble par une technologie standardisée ou exclusive qui
permet la portabilité des données et des applications. 182 183

Cloud Computing Cloud Computing


Modèles de déploiement: Cloud public Modèles de déploiement: Cloud public
Avec un Cloud public, votre entreprise achète des services de calcul, de stockage et de réseau Avantages et inconvénients
virtualisés sur l'Internet public d'un fournisseur de services Cloud. Cela peut vous aider à avancer
les délais de mise sur le marché, à évoluer rapidement et à profiter de l'agilité permettant Avantages Inconvénients
d'essayer rapidement de nouvelles applications et services. • Allocation rapide et efficace des ressources en fonction des • La sécurité et la confidentialité des données présentes une
Caractéristiques d’un Cloud public : besoins de l'utilisateur ; grande préoccupation pour les entreprises ;
• Coût maitrisé, le paiement est réalisé selon la • Partage de l’infrastructure avec d’autres clients ;
Allocations des ressources Coût d’utilisation Élasticité consommation ; • La personnalisation des ressources ou des services est
L’ensemble des ressources virtuelles Les ressources sont distribuées en Redimensionnement rapide et • Pas de maintenance, l’utilisateur se concentre sur presque impossible dans un service de Cloud public ;
sont mises à la disposition du client fonction des besoins, et le paiement flexible des ressources suivant les l’innovation ;
par le fournisseur du services Cloud. est effectué à la consommation. pics d’utilisation. • Résilience de l’environnement, cela signifie qu'il y a très
peu de risques de panne interrompant votre service ;
• Redondance des infrastructures permettant la mise en
place d’une politique de reprise d’activité efficace ;
Cependant, il existe des charges de travail qui ne sont pas adaptées au traitement dans un • Evolution continue des services offerts par le fournisseur.
Cloud public, telles que les applications existantes difficiles ou risquées à migrer. Par
conséquent, l'intégration d'un Cloud privé demeure un élément crucial de votre approche
stratégique du Cloud.
184 185
Cloud Computing Cloud Computing
Modèles de déploiement: Cloud public Modèles de déploiement: Cloud privé
Fournisseurs Un Cloud privé est un environnement Cloud réservé à un client final, la plupart du temps
Fournisseurs cloud public Description hébergé dans votre centre de données et mis à jour par votre équipe informatique. Même si le
Alibaba Cloud, également connu sous Aliyun, est une société chinoise de Cloud Cloud privé était jusqu'à présent habituellement exécuté sur site, les entreprises construisent
Alibaba Cloud computing, filiale de Alibaba Group. Alibaba Cloud fournit des services désormais des Cloud privés dans des datacenters hors site qu'elles louent auprès de fournisseurs.
d'informatique en nuage aux entreprises en ligne et à l'écosystème d'Alibaba de
commerce électronique.
Tous les Cloud deviennent des Cloud privés lorsque l'infrastructure informatique sous-jacente
Amazon Web Services est une division du groupe américain de commerce
est spécifique à un client unique, avec un accès entièrement isolé.
Amazon Web Services (AWS) électronique Amazon, spécialisée dans les services de Cloud computing à la
demande pour les entreprises et particuliers.
Google Cloud Platform est une plateforme de Cloud computing fournie par Google,
Google Cloud proposant un hébergement sur la même infrastructure que celle que Google utilise
en interne pour des produits tels que son moteur de recherche.
IBM Cloud IBM Cloud computing est un ensemble de services de Cloud computing pour les
entreprises proposés par la société de technologie de l'information IBM.
Microsoft Azure Microsoft Azure est la plate-forme applicative en nuage de Microsoft.

186 187

Cloud Computing Cloud Computing


Modèles de déploiement: Cloud privé Modèles de déploiement: Cloud privé
Quand choisir un Cloud privé ? Avantages et inconvénients
Un Cloud privé convient particulièrement aux entreprises qui souhaitent que les ressources
soient disponibles à la demande, mais qui ne peuvent pas passer à un Cloud Public, que ce soit à Avantages Inconvénients
cause des politiques de sécurité, des budgets, des exigences de conformité ou des • Infrastructure de capacité supérieure avec des • Coût d’investissement initiale élevé ;
réglementations. performances élevées en matière de calcul et de stockage ; • Montée en compétence des ressources humaines IT
• Sécurité élevée sur les données dans un environnement qualifiées ;
Ainsi, les entreprises qui évoluent dans les secteurs critiques ou manipules des données isolé avec un contrôle sur la politique de stockage et de • Limitation des fonctionnalités pour certains services ;
sensibles utilisent des protocoles de chiffrement et des pare-feu pour protéger leurs systèmes traitement des données ; • Maintenance continue de l’environnement.
informatiques. La limitation de l'accès renforce la sécurité du Cloud privé par rapport aux Cloud • Allocation efficace des ressources en fonction des besoins
de l'utilisateur ;
public.
Exemple :
Une application exploitée uniquement par les utilisateurs interne d’une entreprise pendant
les horaires de travail sera déployée sur le Cloud privé sur site de l’entreprise.
Par ailleurs, une application utilisée par plusieurs intervenants interne et externe à
l’entreprise et pour laquelle les données sont à caractères non sensible peut être déployée sur
le Cloud public. 188 189
Cloud Computing Cloud Computing
Modèles de déploiement: Cloud privé Modèles de déploiement: Cloud hybride
Fournisseurs Le Cloud hybride est la combinaison de plusieurs infrastructures Cloud distinctes (privé et
Fournisseurs cloud privé Description public) qui sont liées entre elles par des technologies standardisées ou propriétaires qui
Hors site permettent la portabilité des données et des applications.
N+ONE propose la solution « oneCloud » qui se base sur une architecture virtualisée hébergée Ainsi un Cloud hybride peut avoir l'une des compositions suivantes :
dans un centre de données national certifié et qui fournit aux clients des serveurs, du Au moins un Cloud privé et au moins un Cloud public ;
stockage et des services de sauvegarde dans du Cloud privé ou public.
Au moins deux Cloud privés ;
Amazon Virtual Private Cloud est un service commercial de Cloud qui fournit aux utilisateurs une section de réseau au
sein d'Amazon Web Services isolée du réseau traditionnel et des réseaux des autres Au moins deux Cloud publics ;
clients d'AWS. Un environnement bare métal ou virtuel connecté à au moins un Cloud privé ou public.
Sur site
Microsoft Azure Stack Hub est une plateforme Cloud privé\hybride qui vous permet de fournir des services à partir
de votre centre de données. Les services incluent des machines virtuelles (VM), des
bases de données SQL Server et même des services à partir d’Azure Marketplace.
AWS Outposts vous permet d'exécuter certains services AWS en local et de vous connecter à un large
éventail de services disponibles dans la région AWS locale
OpenStack \ VMware VCF sont deux solutions qui comprennent un ensemble de logiciels permettant de déployer
191
des infrastructures de Cloud sur site. 190

Cloud Computing Cloud Computing


Modèles de déploiement: Cloud hybride Modèles de déploiement: Cloud hybride

Caractéristiques d’un Cloud hybride: Cas d’usage:


Tous modèles de déploiement de Cloud hybride doivent permettre de : Une entreprise exécute toutes ses charges de travail sur un cluster virtuel, qui fonctionne au
Connecter plusieurs ordinateurs via un réseau local (LAN), un réseau étendu (WAN), un maximum de sa capacité. Par conséquent, les temps de réponse sont longs et les
réseau privé virtuel (VPN) et/ou des API ; utilisateurs des applications sont insatisfaits.
Centraliser des ressources informatiques ; La solution consiste à déployer un autre cluster virtuel et à automatiser l'équilibrage des
Réagir de manière agile et mettre en place rapidement de nouvelles ressources; charges de travail entre les deux clusters. Cette opération correspond à la première étape
Pouvoir transférer des charges de travail d'un environnement à un autre ; de création d'un environnement hybride. L'entreprise peut étendre sa gamme
Inclure un outil de gestion unique (avoir une interface centralisée pour la surveillance, d'infrastructures et y inclure un Cloud privé de type IaaS (Infrastructure-as-a-Service).
la configuration, la gestion des performances, la sécurité et d'autres aspects liés aux Les charges de travail qui n'ont pas besoin d'être exécutées sur l'infrastructure virtuelle
ressources informatiques) peuvent être migrées vers le Cloud privé IaaS, ce qui permet d'augmenter leur disponibilité
et de réaliser des économies.

192 193
Cloud Computing Cloud Computing
Modèles de déploiement: Cloud hybride Modèles de déploiement: Cloud hybride

Avantages et inconvénients Fournisseurs:le cloud hybride résulte de la fusion de plusieurs clouds publics et privés. En
conséquence, les fournisseurs de services de cloud public et privé deviennent également des
Avantages Inconvénients fournisseurs de cloud hybride en facilitant la connectivité pour interconnecter les divers clouds.
• Coût avantageux, signifie que vous pouvez facilement • La sécurité, en raison de la nature du Cloud hybride, de Exemple de services middleware ou VPN préconfiguré permettant l’interconnexion des Cloud:
acquérir les avantages des solutions de Cloud public tout nombreuses vulnérabilités de sécurité y sont présentes. Par
Fournisseurs cloud public Description
en utilisant le Cloud privé; conséquent, assurer une sécurité adéquate est un
• Résilience accrue car ils réduisent les temps d'arrêt processus difficile. Des mesures de précaution appropriées Le service Cloud AWS Direct Connect représente le chemin le plus court vers vos
potentiels. Cela signifie qu'en cas de panne ou de doivent être prises pour s'assurer que les données sont Direct Connect Amazon ressources AWS. Il permet une connexion direct vers les services AWS de façon
catastrophe, les entreprises peuvent poursuivre leurs bien protégées . Web Services (AWS) sécurisé, tout en réduisant le cout de transfert des données.
activités avec un minimum d'interruptions ; • La connectivité réseau entre les différents Cloud peut L'interconnexion dédiée établit des connexions physiques directes entre votre réseau
• Évolutivité et adaptation aux besoins. Cela signifie que les générer un goulots d'étranglement (ralentissement global Interconnexion dédiée Google Cloud sur site et le réseau Google. Cette solution permet de transférer de grandes quantités
entreprises peuvent déplacer les opérations selon les pics des performances) ce qui affecte considérablement le de données entre les réseaux et peut s'avérer plus rentable que l'achat de bande
de charge et augmenter et réduire leurs ressources en niveau de performance de certains modèles Cloud hybride passante supplémentaire sur Internet.
fonction de leurs besoins ; • Maintenir la visibilité sur une infrastructure distribuée est
• Bénéficier des services du Cloud public et privé ; plus complexe; Utilisez Azure ExpressRoute pour créer des connexions privées entre les centres de
• Grande agilité qui garantit que l’entreprise est ExpressRoute Microsoft Azure données Azure et l'infrastructure sur site de votre entreprise ou dans un
suffisamment agile pour répondre aux besoins métier. environnement de colocation. Les connexions ExpressRoute ne transitent pas par
l'Internet public et offrent plus de fiabilité, une vitesse plus rapide et une latence plus
194
faible que les connexions Internet classiques. 195

Cloud Computing Cloud Computing


Modèles de déploiement: Cloud public, privé ou hybride Aperçu du marché du Cloud
Un Cloud privé est idéal dans les cas d'utilisation où vous devez : Part de marché mondiale des principaux fournissuers de services cloud 2022
Protéger des informations sensibles, y compris la propriété intellectuelle ;
Respecter les exigences de souveraineté (lois sur la confidentialité, la sécurité et d'autres
réglementations liées à la gestion des données) ou de conformité des données ;
Assurer une haute disponibilité.
Le Cloud public est idéal dans les cas d'utilisation où vous devez :
Faire rapidement évoluer le système et accélérer la mise sur le marché ;
Traiter des charges de travail à court terme ;
Gérer les coûts initiaux ;
Réduire la charge sur les ressources informatiques.
NB: la plupart des organisations doivent de tirer parti à la fois du cloud public et
du cloud privé afin de répondre aux besoins spécifiques de chaque application
et d'optimiser la gestion des charges de travail.
196 197
Cloud Computing Cloud Computing
Les principaux métiers Les principaux metiers
Cloud Solution Architect
Concevoir et planifier l'architecture d'une solution cloud.
Gérer et provisionner l'infrastructure de la solution cloud.
Concevoir des solutions sécurisées et conformes.
Analyser et optimiser les processus techniques et métier.
Gérer la mise en œuvre d'une architecture cloud. Garantir la fiabilité de la solution et des
opérations.
Cloud Developer
Conception d'applications cloud natives hautement évolutives, disponibles et fiables.
Création et test d'applications.
Déploiement d'applications.
Intégration de services cloud selon le fournisseur.
Gestion de la surveillance des performances d'application.

198 199

Cloud Computing
Les principaux metiers
Cloud SysOps
Mettre en œuvre et contrôler le flux de données depuis/vers le cloud.
Sélectionner le service cloud approprié en fonction des exigences client.
Connaître l’utilisation adéquate des bonnes pratiques de fonctionnement.
Estimer les coûts d’utilisation des services et identifier les mécanismes de contrôle des
coûts.
Migrer les charges de travail sur site vers le cloud.
Cloud Security Engeneer
Configuration des accès au sein d'un environnement de solution cloud
Configuration de la sécurité réseau
Protection des données
Gestion des opérations dans un environnement de solution cloud Capacité à assurer la
conformité

200

Vous aimerez peut-être aussi