0% ont trouvé ce document utile (0 vote)
10 vues105 pages

CC Rappel

Le document présente une introduction au Cloud Computing, en abordant ses motivations, définitions, caractéristiques, technologies clés, modèles de services et défis. Il explique également la sécurité dans le Cloud, la gestion des accès, la protection des données et la réponse aux incidents. Les modèles de services incluent SaaS, PaaS et IaaS, chacun offrant des niveaux d'accès et de gestion différents pour les utilisateurs et les développeurs.

Transféré par

moezghorbel123
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues105 pages

CC Rappel

Le document présente une introduction au Cloud Computing, en abordant ses motivations, définitions, caractéristiques, technologies clés, modèles de services et défis. Il explique également la sécurité dans le Cloud, la gestion des accès, la protection des données et la réponse aux incidents. Les modèles de services incluent SaaS, PaaS et IaaS, chacun offrant des niveaux d'accès et de gestion différents pour les utilisateurs et les développeurs.

Transféré par

moezghorbel123
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cloud &

Virtualisation
Partie 1 : Fondements Cloud Computing

M2 SSII FAD
Enseignant :Dr. Aymen Ayari
Email : [Link]@[Link]
Whatsapp: +21620077317
Agenda 11

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Chapitre 1 : Introduction à la sécurité sur le Cloud

La sécurité dans Cloud

Conception de la sécurité

Modèle de responsabilité partagée


Chapitre 2 : Sécurisation des accès aux ressources Cloud

Notions d’Identité et de gestion d’accès (IAM)


Authentification vs autorisation

Exemples d’autorisations (IAM)

Politiques de sécurité
Chapitre 3 : Sécurisation des Infrastructure
Structure d’une application web 3-tier
Utilisation d’un Cloud virtuel privé
(VPC)

Mise en place de sous réseaux publique et privés


Les groupes de sécurité
Utilisation de listes pour le contrôle d’accès réseau (ACLs)

Utilisation des équilibreurs de charge

Protection des ressources de calculs


Chapitre 4 : Protection des données
Protection des données au repos
Les fonctions de Protection

Protection par chiffrement

Protection des données en transit

Les bonnes pratiques pour la protection des données

Exemples de services de protection des donnée


Chapitre 5 : Journalisation et surveillance (Monitoring)

Importance de la journalisation et du monitoring

Capture et collecte d’informations

Services avec mécanismes de journalisation


Les bonnes pratiques pour surveillance et journalisation

Exemples de services de surveillance et de

journalisation
Chapitre 6 : Réponse à un incident et gestion de la situation

Identifier an incident
Exemples de services qui supportent la phase de découverte et d’identification

Exemples de services qui supportent la phase de résolution et de

récupérations Les bonnes pratiques pour la maitrise d’un incident


Motivations (4/6) [ref,2 8
]

CAPEX

• Les CAPEX regroupent


• Dépenses pour l’achat des immobilisations
• Dépenses créant des avantages futurs
• Exemples : acquisition d’immobilisations incorporelles,
réparaction
d’un actif existant pour améliorer la durée de vie, démarrage ou
acquisition d’une nouvelle entreprise

• CAPEX liés TIC


• Hardware et programmes ordinateurs
• Hardware et programmes réseaux
• Hardware et programme serveurs
• Installation et intégration hardware et programmes
• Maintenance, garanties et licences
Motivations (5/6) [ref,2 9
]

OPEX

• Les OPEX regroupent


• Dépenses continues pour faire fonctionner un produit, une entreprise ouun système
• Dépenses quotidiennes
• Dépenses d’exploitation sont la somme des dépenses d’exploitation pour unepériode
de temps (mois ou année)
• Exemples : frais licence , frais location, entretien et réparations, frais d’avocats et frais
juridiques, frais communications téléphoniques, frais déplacements véhicules, etc.
• OPEX liés TIC
• Allocation des services : hébergement, data center
• Alimentation : équipements de refroidissement, alimentation de secours
• Frais de : test, coupure service, faillite
• Restauration et processus de recouvrement
• Audit
Motivations (6/6) [ref,2 10
]

• Comment la technologie Cloud peut réduire le TCO?

• Élimination des coûts en capital


• Déploiement plus rapide et augmentation de la productivité des employés
• Gestion de la mobilité : flexibilité d’utilisation des services
• Réduction des risques avec les services de sauvegarde
•Réduire les temps d'arrêt globaux du système et améliorer par la suite la
productivité
Définition du Cloud Computing (1/3) 12

Définition de NIST (National Institute of Standards and


Technology)

EN-“Cloud Computing is a model for enabling ubiquitous, convenient, on-demand


network accessto a configurable computing resources ( e. g
shared pool
networks, servers, storage, applications and services) that can berapidly
provisioned and with minimal management effort or service provider
released
interaction” (Mell & Grance, 2011)

FR-“Le Cloud Computing est un modèle qui permet un accès omniprésent et à la


demande à un ensemble de ressources configurables. Les ressources accessibles sont
rapidement approvisionnées et nécessitent de faibles efforts de gestion ou d’interactions
avec les fournisseurs de services”
Définition du Cloud Computing (2/3) 13

Quelques définitions

“A style of computing in which massivelyscalable IT-related capabilities are provided “as


a service”, using internet technologies, to multiple external customers “(Gartner 2008)

“An emerging IT development, deployment and delivery model, enabling realtime delivery of
products, services and solutions over the internet “ (IDC 2008)

“the idea of delivering personal and business productivity applications from centralized
servers “(Merrill Lynch 2008)
Définition du Cloud Computing (3/3) 14

Conclusions

• Cloud Computing fait référence à la création et usage des ressources informatiques


distantes sur Internet plutôt que via un reseau local.
• Exemples de ressources : équipements réseau, serveurs, stockage, applications
• Le Cloud Computing est défini du point de vue des utilisateurs finaux (end users).
• Le Cloud Computing fournit une infrastructure informatique et des applications /
services de manière évolutive (scalable).
Agenda 15

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Caractéristiques du Cloud Computing (NIST) (1/6) 16

NIST : National Institute of Standards and Technology


[Link]

1. On demand self service / Accès à la demande en self-service

• EN—A consumer can unilaterally provision computing capabilities, such as


server time and network storage, as needed automatically without requiring
human interaction with each service provider

Notes

•FR— L’utilisateur peut approvisionner /réserver des capacités


informatiques (calcul, stockage, etc.) sans interaction avec le fournisseur.
Caractéristiques du Cloud Computing (NIST) (2/6) 17

NIST : National Institute of Standards and Technology


[Link]

2. Broad network access / Large accès au réseau

• EN—Capabilities are available over the network and accessed through


standard mechanisms that promote use by heterogeneous thin or thick client
platforms (e.g., mobile phones, tablets, laptops, and workstations).

Notes

• FR—Les capacités (ressources) sont


disponibles sur le réseau via des plates-
formes différentes (ordinateurs, tablettes,
smart phones).

Source:Derrik Rountree and Ilena Castrillo. The Basics of Cloud Computing. 2014, Elsevier.
Caractéristiques du Cloud Computing (NIST) (3/6) 18

NIST : National Institute of Standards and Technology


[Link]

3. Resource pooling / Mise en commun des ressources


•EN—The provider’s computing resources are pooled to serve multiple consumers
using a multi-tenant model, with different physical and virtual resourcesdynamically
assigned and reassigned according to consumer demand.
•There is a sense of location independence in that the customer generally has no
control or knowledge over the exact location of the provided resources but may be
able to specify location at a higher level of abstraction (e.g., country, state, or
datacenter).
•Examples of resources include storage, processing, memory, and network bandwidth.

Notes

• FR—Les ressources du fournisseurs sont regroupées pour servir plusieurs utilisateurs.


Caractéristiques du Cloud Computing (NIST) (4/6) 19

NIST : National Institute of Standards and Technology


[Link]

4. Rapid elasticity / Une souplesse rapide


• EN— Capabilities can be elastically provisioned and released, in some cases
automatically, to scale rapidly outward and inward commensurate with demand.
• To the consumer, the capabilities available for provisioning often appear to be
unlimited and can be appropriated in any quantity at any time.

Notes

• FR—Les capacités peuvent être rapidement élastiquement provisionnées.


Caractéristiques du Cloud Computing (NIST) (5/6) 20

4. Rapid elasticity (Suite)

• Types d’évolutivité (scaling)


- Evolutivité horizontale
Allouer (scaling out) ou
libérer (scaling in) des
ressources du même type
(serveurs)
- Evolutivité verticale :
remplacement d’une
ressource système par une
autre ressource avec des
capacités système
supérieures (scaling up) or
inférieures (scaling down)
Caractéristiques du Cloud Computing (NIST) (6/6) 21

NIST : National Institute of Standards and Technology


[Link]

5. Measured service / Service mesuré


•EN— Cloud systems automatically control and optimize resource use by
leveraging a metering capability at some level of abstraction appropriate to
the type of service (e.g., storage, processing, bandwidth, and active user
accounts).
•Resource usage can be monitored, controlled, and reported, providing
transparency for both the provider and consumer of the utilized service.

Notes

FR—Les systèmes du Cloud contrôlent et optimisent automatiquement


l’utilisation des ressources.
Agenda 22

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Les technologies clés (1/5) 23

•Les technologies clés qui ont poussé vers l’évolution rapide du Cloud
Computing sont :

• La Virtualisation
• Les Services Web et architecture orientée service
• Les services Web 2.0 & mashup
Les technologies clés (2/5) 24

1. Virtualization

• Ensemble de technologies matérielles et / ou logicielles qui permettent à


plusieurs systèmes d'exploitation (OS) ou plusieurs applications de s'exécuter
sur la même machine, séparément les uns des autres , comme s'ils
fonctionnaient sur des machines physiques distinctes.
• La virtualisation est l'une des pierres angulaires du Cloud.
•Toutes les techniques utilisées dans le Cloud sont basées sur la virtualisation
des ressources informatiques : matériel, logiciel, stockage, composantes
réseau, etc.
• La virtualisation permet de mettre en place des architectures hautement
disponibles pour la gestion et l’allocation des ressources Cloud.
Les technologies clés (3/5) 25

• La technologie de virtualisation couvre :

• Virtualisation des serveurs /machines :


Chaque machine virtuelle est un
environnement virtuel géré par un système
d’exploitation qui fonctionne
indépendamment des autres machines.
• Virtualisation de stockage : des volumes
logiques ou encore disques de stockage
virtuels sont crées à partir d’une ressource de
stockage centralisée.
• Virtualisation de réseaux : les routeurs et
commutateurs physiques sont utilisés pour
créer des réseaux logiques, tels que des VPN,
des VLAN.
Les technologies clés (4/5) 26

2. Web 2.0 et Mashup

• Web 2.0 fait référence à l'utilisation de la technologie Web pour améliorerla


créativité, le partage d'informations et la collaboration entre les utilisateurs.
• Mashup est une application Web qui combine les données deplusieurs
sources en un seul outil de stockage intégré.
• Les deux technologies sont très bénéfiques pour le cloud computing.
Les technologies clés (5/5) 27

Redéfinir le Cloud Computing ?

• Cloud Computing est une combinaison de technologies existantes.


• Ces technologies sont :

•Virtualisation
• Services Web et Architectures orientées service
• Web 2.0 et mashup
•Les appareils (périphériques) d’accès au Cloud
• Les technologies de connexion Internet haut débit, etc.
Agenda 28

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Les modèles de services Cloud (1/9) 29

• Les services Cloud sont offerts sous forme de trois types de base :

• Software as a service (SaaS)


• Platform as a service (PaaS)
• Infrastructure as a Service (IaaS)
Les modèles de services Cloud (2/9) 30

1. Software as a Service (SaaS)


• Le fournisseur du cloud met en disposition de l’utilisateur une application via un
navigateur web, une application mobile ou une application bureau.
• L’utilisateur fait la souscription à une ou plusieurs applications SaaS s’exécutant
sur une infrastructure Cloud sans se soucier de la puissance machine, del’espace de
stockage ou même de la mise à jour du logiciel.
• L’utilisateur n’a pas de visibilité ou d’aptitude pour gérer l’infrastructure sous-
jacente

Niveau Utilisateur
Les fournisseurs de services Cloud hébergent les
Description applications dans le Cloud. Ces applications sont
accessibles aux utilisateurs via connexion Internet.
Exemples Google Docs, Google Drive, OneDrive, Box,
Exemples
Dropbox, etc.
Les modèles de services Cloud (3/9) 31

Définition NIST du modèle SaaS :

“The capability provided to the consumer is to use the provider’s applications


running on a cloud infrastructure. The applications are accessible from various
client devices through either a thin client interface, such as a web browser (e.g.,
web-based email), or a program interface. The consumer does not manage or
control the underlying cloud infrastructure including network, servers, operating
systems, storage, or even individual application capabilities, with the possible
exception of limited user-specific application configuration settings. “
Les modèles de services Cloud (4/9) 32

2. Platform as a Service (PaaS)


• Le fournisseur cloud offre une plateforme aux utilisateurs via Internet pour
développer, exécuter et gérer sans se soucier de l’infrastructure requise.
• Des langages de programmation, librairies, Interface de programmation
d’application API, services et outils sont fournis pour le développement et le
déploiement des applications utilisateurs.

Niveau Développeur
Les développeurs peuvent faire la conception, le
Description développement et le test des applications qui s’exécutent
dans l’infrastructure du fournisseur de service Cloud.
Heroku, Amazon AWS Elastic Beanstalk Cloud Foundry,
Exemples Google App Engine, etc.
Les modèles de services Cloud (5/9) 33

Définition NIST du modèle PaaS :

“The capability provided to the consumer is to deploy onto the cloud


infrastructure consumer-created or acquired applications created using
programming languages, libraries, services, and tools supported by the provider.
The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, or storage, but has control over
the deployed applications and possibly configuration settings for the
application-hosting environment. “
Les modèles de services Cloud (6/9) 34

3. Infrastructure as a Service (IaaS)


• Les services d’infrastructure tels que serveur, stockage et réseau sont
virtualisés et fournis via Internet pour le déploiement des applications,
des systèmes d’exploitations, etc.
• L’utilisateur possède un contrôle significatif pour gérer l’infrastructure
sous-jacente
• Permet à une entreprise de ne pas se soucier des éléments infrastructure

suivants : data center, hardware, liens telecom, etc.


• Le modèle IaaS permet à une petite entreprise d’offrir une infrastructure
robuste pour ses clients.
Niveau Administrateur IT
Les utilisateurs peuvent obtenir des ressources de calcul, stockage,
Description etc. en payant leur utilisation.

Exemples Amazon EC2, Google Compute Engine, Azure Virtual Machines (VMs)
Les modèles de services Cloud (7/9) 35

Définition NIST du modèle IaaS :

“The capability provided to the consumer is to provision processing, storage,


networks, and other fundamental computing resources where the consumer is
able to deploy and run arbitrary software, which can include operating systems
and applications. The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems, storage, and deployed
applications; and possibly limited control of select networking components (e.g.,
host firewalls). “
Les modèles de services Cloud (8/9) 36
Agenda 38

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Les modèles de déploiement Cloud (1/18) 39

• Un modèle de déploiement Cloud définit comment une infrastructure cloud est


construite, est gérée et est accessible.
• Chaque modèle de déploiement peut être utilisé pour n'importe quel modèle de
service : IaaS, PaaS, SaaS
• Le NIST définit quatre modèles de déploiement cloud :
•Cloud privé (Private cloud)
•Cloud Communautaire (Community cloud)
•Cloud public (Public cloud)
•Cloud hybride (Hybrid cloud)
Les modèles de déploiement Cloud (6/18) 44

Cloud public : Considérations de sécurité

•Sécurité des données


- Les prestataires de services Cloud public ont la propriété des données : celui
qui possède les données est son vrai propriétaire.
- Théoriquement, les employés du prestataire de services peuvent faire l’accès
aux données des clients.

•Conformité
- La conformité Cloud compliance consiste à respecter les lois et
réglementations applicables à l'utilisation du cloud.
- L’utilisateur n’a pas de visibilité des opérations exécutées dans la partie back-
end.

•Audit
- Capacités d’audit limitées : pas d’accès direct aux journaux système,
impossible de mettre en œuvre une alerte back-end.
Les modèles de déploiement Cloud (7/18) 45

Cloud privé

• L’environnement cloud est désigné pour l’utilisation exclusive d’une seule


entreprise, avec plusieurs unités d’affaires ou filiales, qui préfère conserverses
données dans un environnement contrôlé et sécurisé.
• L’infrastructure appartient à l’organisation qui exploite les postes de travail ou les
applications.
• La virtualisation peut concerner le stockage, les serveurs, les postes detravail.
• L’infrastructure cloud peut être une entité privée ou publique (gouvernement,
institut académique).

Notes
Définition NIST du Cloud privé
• The cloud infrastructure is provisioned for exclusive use by a singleorganization

comprising multiple consumers (e.g., business units).


•It may be owned, managed, and operated by the organization, a third party, or some
combination of them, and it may exist on or off premises.
Les modèles de déploiement Cloud (10/18) 48

Cloud privé : Considérations de sécurité

•Sécurité des données


- Dans un environnement Cloud privé, l’entreprise est propriétaire des données et du
système qui héberge les données, ce qui lui donne uncontrôle total sur l’accès et la
gestion.
•Conformité
- L’entreprise est responsable de s’assurer qu’elle respecte les réglementations de
conformité applicables.

L’entreprise doit posséder les compétences et la technologie nécessairespour
garantir le respect des réglementations de conformité.
•Audit
- Capacités d'audit complètes : l’entreprise a un accès complet aux journauxsystème,
la possibilité de mettre en œuvre n'importe quelle alerte principale, la possibilité de
prendre n'importe quelle action pour assurer l'intégrité du système.
Les modèles de déploiement Cloud (11/18) 49

Cloud communautaire

• L’environnement cloud est désigné pour l’utilisation d’une communauté précise


d’utilisateurs ayant des préoccupations communes et des besoins partagés, comme la
sécurité.
• L’infrastructure du Cloud communautaire peut être gérée par les organisations ou
par une tierce partie.

Notes

Définition NIST du Cloud communautaire


• The cloud infrastructure is provisioned for exclusive use by a specific community of

consumers from organizations that have shared concerns (e.g., mission, security
requirements, policy, and compliance considerations).
•It may be owned, managed, and operated by one or more of the organizations in the
community, a third party, or some combination of them, and it may exist on or off
premises.
Les modèles de déploiement Cloud (14/18) 52

Cloud communautaire : Considérations de sécurité

•Sécurité des données


- Tous les membres ont accès aux données : il faut être conscient à propos de
stockage des données restreintes/sensible dans le système.

•Conformité
- Tous les membres sont soumis à toutes les réglementations de conformité
auxquelles chaque organisation participante est soumise.

Certains membres peuvent être soumis à des réglementations qu’ils neconnaissent
pas.

•Audit
- Tous les membres ont des capacités d'audit complètes pour effectuer n'importe
quelle action.

Besoin de trouver un accord entre les membres sur qui exécutera quelles activités.
Les modèles de déploiement Cloud (15/18) 53

Cloud hybride

• Environnement au sein du quel une organisation possède une partie de


l’infrastructure des services à domicile (cloud privé), le reste dans les clouds
publiques.

Notes
Définition NIST du Cloud hybride
•The cloud infrastructure is a composition of two or more distinct cloud infrastructures
(private, community, or public) that remain unique entities, but are bound together by
standardized or proprietary technology that enables data and application portability
(e.g., cloud bursting for load balancing between clouds).
Les modèles de déploiement Cloud (18/18) 56

Cloud hybride : Considérations de sécurité

•Sécurité des données


- Le déplacement de données entre les deux environnements cloud peut être
risqué : les deux environnements doivent prendre en charge les mêmes
protocoles de sécurité, ils doivent être compatibles entreeux.

•Audit
- Besoin d'un mécanisme pour assurer la corrélation du journal des événements
entre le système interne (privé) et externe (public) pour effectuer des actions
d’audit.
Agenda 64

1. Motivations
2. Définition du Cloud Computing
3. Les caractéristiques du Cloud Computing
4. Les technologies clés
5. Les modèles de services Cloud
6. Les modèles de déploiement Cloud
7. Cas d’étude
8. Les défis du Cloud Computing
9. Cloud versus Fog versus Edge
Computing
Les défis du Cloud Computing (1/2) 65

• Protection des données


- Les fournisseurs de services sont responsables du maintien et de la sécurité des
données.
- Les entreprises peuvent acheter une garantie de sécurité des données
commerciales auprès des fournisseurs.
- Dans de nombreux cas, l'emplacement de stockage réel n'est pas divulgué, ce qui
ajoute aux préoccupations de sécurité des entreprises.

• Récupération et disponibilité des données


- Les fournisseurs de services Cloud sont responsables de :
✓ Replication des données.
✓ Supervision du système.
✓ Maintenance.
✓ Restauration des données.
✓ Gestion des capacités et des performances.
Les défis du Cloud Computing (2/2) 66

• Capacités de gestion
- Un fort potentiel d'amélioration de services fournis est nécessaire : évolutivité,
l'équilibrage de charge.

• Restrictions réglementaires et de conformité


- Dans certains pays européens, les réglementations gouvernementales ne
permettent pas que les informations personnelles du client et autres informations
sensibles soient physiquement situées en dehors de l'État ou dupays.

Pour répondre à ces exigences, les fournisseurs de cloud doivent configurer un
centre de données (data center) ou un site de stockage exclusivement dans le
pays pour se conformer à la réglementation.
Cloud &
Virtualisation
Partie 2 : La
virtualisation
Contexte 3

Que serait le Cloud sans virtualisation ?


La virtualisation est l'une des pierres angulaires du Cloud.
Toutes les techniques utilisées dans le Cloud sont basées sur la
virtualisation des ressources informatiques : matériel, logiciel, stockage,
composantes réseau, etc.
La virtualisation permet de mettre en place des architectures hautement
disponibles pour la gestion et l’allocation des ressources Cloud.

Spring
2020
Introduction à la virtualisation 6

La virtualisation consiste, en informatique, à exécuter sur une machine hôte,


dans un environnement isolé, des systèmes d'exploitation — on parle alors de
1

virtualisation système — ou des applications — on parle alors de virtualisation


2

applicative. Source : Wikipedia

Ensemble de technologies matérielles et / ou logicielles qui permettent de


faire fonctionner plusieurs systèmes d’exploitation (OS) et/ou plusieurs
applications sur une même machine, séparément les uns des autres, comme
s'ils fonctionnaient sur des machines physiques distinctes; Source: [Link]

Spring
2020
Introduction à la virtualisation 7

La virtualisation fait référence à l’abstraction physique des ressources


informatiques. En d’autres termes, les ressources physiques allouées à une
machine virtuelle sont abstraites à partir de leurs équivalents physiques. Les
disques virtuels, interfaces réseau virtuelles, réseaux locaux virtuels, commutateurs
virtuels, processeurs virtuels et la mémoire virtuelle correspondent tous à des
ressources physiques sur des systèmes informatiques physiques.
L’ordinateur hôte "voit" ses machines virtuelles comme desapplications
auxquelles il dédie ou distribue ses ressources. —Kenneth Hess, Amy Newman
“Virtualisation en pratique”

Notes

Couche d'abstraction matérielle (hardware abstraction layer, HAL) est un logiciel


intermédiaire entre le système d'exploitation et le matériel informatique et qui
offre des fonctions standardisées de manipulation du matériel informatique tout
en cachant les détails techniques de la mise en œuvre.—
Wikipedia

Spring
2020
Terminologi 8
e
Machine hôte = machine exécutant les différents systèmes virtuels. Le système hôte
est le système d’exploitation principal installé sur la machine hôte.
Machine invitée = machine virtuelle (VM) s’exécutant dans l'environnement de
virtualisation. Les machines virtuelles s’exécutent sur une machine hôte.

Notes

La machine virtuelle est appelée encore serveur privé virtuel (Virtual Private
Server, VPS) ou environnement virtuel (Virtual Environment, VE).
La machine hôte considère les machines virtuelles comme des applications
auxquelles elle alloue les ressources.

Spring
2020
Avantages 11

Sécurité
• Possibilité d’isoler un système (OS virtuel) et l’arrêter en cas d’attaque
informatique sans que cela influence la machine hôte.
Déploiement et migration facile des machines virtuelles.
• Le processus de création des machines virtuelles est plus rapide.
• Possibilité de source modèle et de clonage.
Simplification de l’administration
• Disposition d’une console de gestion des machines virtuelles et possibilité
de faire le monitoring des performances de chaque VM en tempsréel.
Isolation logicielle des utilisateurs d’une même machine physique.

Spring
2020
Domaines d’application 13

On distingue généralement les domaines d’application suivants :

• Virtualisation de serveur
• Virtualisation de poste de travail
• Virtualisation d’application
• Virtualisation de stockage
• Virtualisation du réseau

Spring
2020
Domaines d’application 14

La virtualisation des
serveurs
• Premier domaine d’application de la technique de virtualisation.
• qualifiée de virtualisation de système d’exploitation.
• Consiste à l’allocation d’une partie du matériel de la machine hôte aux
machines virtuelles.

Chaque machine virtuelle est un environnement virtuel géré



par un système d’exploitation qui fonctionne
indépendamment des autres machines.
Consiste à consolider plusieurs serveurs virtuels (serveurs
mail, serveurs de fichiers, etc.) sur le même serveur physique.
Exemples de solutions de virtualisation de serveurs : VMware
vSphere, Citrix XenServer, Oracle VM Server, etc. Spring
2020
Domaines d’application 15

La virtualisation de poste de
•travail
Evolution de la virtualisation des serveurs.
• Le poste de travail virtualisé est appelé encore bureauvirtuel.
• La virtualisation des postes de travail permet de déplacerle système d’exploitation,
les applications et les paramètres de l’utilisateur des stations clientes vers le centre
de données.


L’utilisateur n’a que se connecter à l’environnement de la
machine via unterminal. L’approche la plus connue est VDI
(Virtual Desktop Infrastructure) : consiste à héberger une image
de PC virtuel sur un serveur.
Exemples de solutions de virtualisation de poste de travail :
VMware View, Citrix XenDesktop, NEC Virtal PC Center, etc.

Spring
2020
Domaines d’application 16

La virtualisation des
•applications
Consiste à la création d’un environnement virtuel propre à l’application: systèmes
de fichiers, clés de registre, etc.

L’application virtuelle fonctionne dans une “capsule” isolée du système
d’exploitation hôte et des autres aplications qui s’exécutent directementsur le

système.
Exemples de solutions de virtualisation d’applications : VMware ThinApp, Citrix
XenApp, etc.

Notes

• Les clés de registre ainsi que le système de fichiers sont copies réalisées à partir
du système d’exploitation sur lequel l’application s’est exécutée (environnement
propre à son exécution)

Spring
2020
Domaines d’application 17

La virtualisation des
applications

Spring
2020
Domaines d’application 18

La virtualisation de
•stockage
Appelée encore abstraction du stockage.

Consiste à la fédération ou groupement de plusieurs ressources de stockage
hétérogènes et indépendantes en une seule ressource centralisée.

Des volumes logiques ou encore disques de stockage virtuels sont ainsi crées à

partir de la ressource centralisée.
Les données stockées sur un serveur peuvent être réparties sur plusieurs
emplacements physiques indépendants.

Notes

Spring
2020
Domaines d’application 19

La virtualisation du
Consiste à partager une même infrastructure réseau physique entre plusieurs
•réseau

réseaux virtuels isolés.


• Réseau physique fait référence à : bande passante, commutateurs, routeurs,
VLANs, etc.

Notes

Spring
2020
Rappel : Niveaux de privilèges (anneaux CPU) 21

Les architectures modernes de processeurs (exemple Intel x86) utilisent le


concept des anneaux de protectionlors de l'exécution des instructions.

Le concept des anneaux de protection implémente une hiérarchie allant du niveau


de privilège le plus sécurisé, anneau 0 (Ring0) au niveau le moins privilégié ainsi le
moins sécurisé, anneau n (Ring_n).

Chaque niveau de privilège impose des restrictions sur l’accèsau matériel : plus le
niveau est bas, plus le programme a du contrôle

L’objectif de la mise en oeuvre de ces restrictions est de limiter les infractions


malveillantes et de protéger la stabilité de lamachine.

Le processeur connait, à l’aide d’un registre système, le niveau deprivilège /


d’abstraction de chaque application en cours d’exécution.

Spring
2020
Rappel : Niveaux de privilèges (anneaux CPU) 22

Les architectures x86 définissent 4 anneaux de protection.


• Les applications de niveau utilisateur
s'exécutent dans l’anneau 3 (Ring 3).
• Le système d’exploitation doit avoir un
accès direct aux mémoire et matériel et Mode
doit exécuter ses privilèges instructions Superviseur
dans l’anneau 0 (Ring 0). Mode Utilisateur

Généralement, les anneaux 1 et 2 ne sont


pas utilisés : seulement les deux anneaux 0
(mode kernel) et 3 (mode utilisateur) sont
exploités.

Spring
2020
Rappel : Système d’exploitation, Application 23

Système
d’exploitation
• Ensemble de programmes fonctionnant en mode superviseur.
• Le mode superviseur permet l’interaction directe de l’OS avec lacouche

matérielle via un jeu d’instructions sensibles du CPU.



L’OS contrôle l’allocation des différentes ressources matérielles pour les
applications

Applicatio
•n Une application est exécutée par le microprocesseur en mode utilisateur . Une
• application se sert de fonctions fournies par l’OS pour solliciter l’accès à des
ressources matérielles

Spring
2020
Rappel : Système d’exploitation, Application 24

Lorsqu’une application sollicite le système pour demander l’allocation de


ressources matérielle, le processeur bascule du mode utilisateur au mode
superviseur pour permettre au système de lui affecter les ressources requises.

Application Application Application


Interface d’appel système

Système d’exploitation
Interface physique
Matériel / Logiciel
Materiel

Spring
2020
Rappel : Niveaux de privilèges (anneaux CPU) 25

Machine virtuelle : quel niveau de privilège?


Le système d’exploitation d’une machine invitée, s’exécutant sur une VM, ne
doit pas pouvoir modifier les ressources matérielles.
Toute application s’exécutant sur la VM doit présenter un effet identique à celui
d’une application s’exécutant sur le système hôte (machine originale). La seule
différence relative à l’exécution des applications hôtes/invitées peut se produire
au niveau de la disponibilité des ressources physiques du sytème et a un
impact sur le temps d’exécution.

Spring
2020
Couche de virtualisation 26

Solution : Couche de virtualisation


Pour permettre au système invité de communiquer avec les ressources
matérielle comme le sytème hôte, une interface dite virtualisation est ajoutée
entre le matériel et les systèmes (OS) invités virtuels.
Cette solution consiste à faire exécuter les systèmes invités en mode utilisateur
(Ring3) et la couche de virtualisation en mode superviseur (Ring0).
Ainsi, les systèmes invités ne peuvent pas modifier les ressources matérielles.
Seul le moniteur de machine virtuelle (Virtual Machine Manager, VMM) appelé
encore hyperviseur possède ce privilège.
Le VMM joue le rôle de gestion des machines virtuelles en leurs allouant
les ressources matérielles nécessaires et en assurant l’isolation entre elles.

Spring
2020
Pré-requis de la virtualisation : Popek&Goldberg 27

• Selon Popek et Golberg, un VMM doit respecter les critères suivants :


Equivalence , Effi cacité , Contrôle de ressources

1. Equivalence : toute application exécutée sur le VMM doit présenter un effet


identique à celle exécutant directement sur le système hôte.
• Ce principe implique la disponibilité des ressources physiques.

Notes
• Texte de Popok&Goldberg

Any program run under the VMM should exhibit an effect identical with that
demonstrated if the program had been run on the original machine directly,
with the possible exception of differences caused by the availibility of system
resources and differences caused by timing dependencies.

Spring
2020
Pré-requis de la virtualisation : Popek&Goldberg 28

2. Effi cacité : les instructions exécutées par le processeur virtuel doivent être


exécutées par le processeur réel sans intervention du VMM.
• Cette propriété n’est pas appliquée pour les émulateurs et les techniques de
virtualisation totale.

Notes

• Texte de Popok&Goldberg

The second characteristic of a virtual machine monitor is efficiency. It


demands that a statiscally dominant subset of the virtual processor’s
instructions be executed directly by the real processor, with no software
intervention by the VMM.

Spring
2020
Pré-requis de la virtualisation : Popek&Goldberg 29

3. Contrôle de ressources : Le VMM doit bénéficier du contrôle exclusif des


ressources qui doivent être partagées.

Notes
• Texte de Popok&Goldberg

The VMM is said to have complete control of these resources if it is not


possible for a program running under it in the created environment to
access any resource not explicitly allocated and it is possible under certain
circumstances for the VMM to regain control of resources already allocated.

Spring
2020
Les types d’hyperviseurs 30

“En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à


plusieurs systèmes d’exploitation de travailler sur une machine physique en même
temps”. Source : Wikipedia

Applications Applications Applications


Interface d’appel système

OS invité OS invité OS invité


Interface virtuelle
Matériel / Logiciel
Virtual Machine Monitor (VMM)
Interface physique
Matériel / Logiciel
Materiel

Spring
2020
Les types d’hyperviseurs 31

Ils existe deux types d’hyperviseurs :


1. Hyperviseur type 1
•Un hyperviseur de type 1 (natif ou bare-metal) est un noyau léger et optimisé qui
s’exécute directement sur la plateforme matérielle sans OS intermédiaire.
•Un hyperviseur de type 1 gère et contrôle l’accès des OS virtualisés à lacouche
matérielle sous-jacente.
• Exemples d’hyperviseurs de type 1 : Xen, Hyper-V, vSphere, KVM (Linux).
2. Hyperviseur type 2
• Un hyperviseur de type 2 (hosted hypervisor : hyperviseur hébergé ) est
considéré comme une application s’exécutant sur le système d’exploitation
hôte.
• Le système d’exploitation hôte prend en charge le contrôlede la couche
matérielle.
• L’hyperviseur agit comme un système de contrôle entre l’OS hôte et l’OS invité.
• Exemples d’hyperviseurs de type 2 : VMware Workstation (Player et Pro), Spring
2020
Oracle
Les techniques de virtualisation 32

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Les techniques de virtualisation 33

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Virtualisation Complète 34

Appelée hébergée ou host-based.


Le système d’exploitation de la machine hôte est installé d’une manièreclassique
sur la couche matérielle.
Une couche logicielle émule l’intégrité de l’environnement physique et créeun
environnement virtuel simulant un nouvel ordinateur avec du “faux matériel”
comportant le CPU, mémoire et périphériques E/S.
Chaque machine virtuelle dispose de son environnement matériel distinct. Les
ressources matérielles du système hôte reste cachées.
Les systèmes d’exploitation virtualisés peuvent fonctionner de manière totalement
indépendante les uns des autres et être vus commedes ordinateurs à part sur un
réseau : l’OS invité n’a pas de conscience d’être virtualisé.
La couche logicielle (application de virtualisation) gère les accès mémoire,
allocation CPU et toutes les ressources nécessaires aux machines virtuelles.

Notes

L’émulation est le fait de remplacer un composant matériel parune application


reproduisant un comportement identique.
Spring
2020
Virtualisation Complète 35

Cette méthode de virtualisation permet d’exploiter les systèmes invitéesnon


modifiés. Il existe deux types de virtualisation complète :
1. Virtualisation assistée matériel
2. Virtualisation logicielle
OS invité OS invité OS invité

Matériel émulé Matériel émulé Matériel émulé

Couche logicielle (Hyperviseur type2)


Système d’exploitation avec noyau

Materiel
Spring
2020
Les techniques de virtualisation 36

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Virtualisation Logicielle : Software based 37

Appelée virtualisation par traduction binaire (Binary translation) et est plutôt une
technique d’émulation adoptée en absence de support de virtualisationmatérielle et qui
consiste à la traduction d’un jeu d’instruction d’une architecture source (OS invité) vers
une architecture de destination (OS hôte).
Technique apportée par VMware pour les architectures x86 en 1999.
Les instructions exécutées par les systèmes invités peuvent être réparties en
instructions critiques et non critiques.
Le VMM interceptent les instructions des systèmes invités et les analyse pour
identifier les instructions sensibles ou privilégiées.
•Les instructions non critiques sont des instructions qui ne contrôlent pas le
matériel et qui ne menacent pas la sécurité système, ainsi s’exécutent
directement sur le matériel.
•Les instructions critiques sont émulées : les instructions qui sont normalement
des instructions
privilégiées afin privilégiées (anneau
de pouvoir les 0) sont
exécuter traduites
sur le en des
processeur instructions
physique.
La virtualisation complète combine ainsi la translation binaire et l’accès direct.

Spring
2020
Virtualisation Logicielle : Software based 38

Pour assurer la traduction binaire, le VMM est déplacé au niveau de l’anneau 0 et le


système invité en anneau 1. Les applications sont exécutées en anneau 3.

Anneau 3 Applications Utilisateur

Anneau 2

OS Invité Exécution directe


Anneau 1 des instructions
applicatives
Anneau 0 VMM

Traduction
Materiel binaire
Spring
2020
Les techniques de virtualisation 39

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Virtualisation assistée par matériel : Hardware Assisted 40
Virtualization

Considérée comme évolution de la virtualisation.


Assistée par une fonctionnalité ou extension
matérielle spécifique à la virtualisation.
Consiste à un ajout ou extension du jeu
d’instructions du processeur.
Ces extensions apportent des améliorations Anneau -1
comme l’ajout d’un anneau (-1) pour l’exécution Hyperviseur

d’un mode privilégié de l’hyperviseur.


Les extensions permettent à la couche matérielle
de gérer directement quelques fonctionnalités telle
que la gestion de l’espace mémoire pour les
machines virtuelles.

Spring
2020
Virtualisation assistée par matériel : Hardware Assisted 41
Virtualization
AMD-V Intel VT-x
Pour pouvoir virtualiser un système d’exploitation 64 bits, le microprocesseur
de l’ordinateur doit être doté de la technologie de la virtualisation assistée
matériellement.
La technologie de virtualisation est identifiée par AMD-V pour les
microprocesseurs AMD et Intel VT-x pour les microprocesseurs Intel et doit être
activée dans le menu SETUP du BIOS/UEFI.

Spring
2020
Virtualisation assistée par matériel : Hardware Assisted 42
Virtualization

OS invité OS invité OS invité

Matériel émulé Matériel émulé Matériel émulé

Virtual Machine Monitor (VMM)


Système d’exploitation avec noyau

Materiel (Intel-VT / AMD-V)

Spring
2020
Les techniques de virtualisation 43

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Para-virtualisation 44

La para-virtualisation vise à adapter le système d’exploitation à la couche de


virtualisation et établir une liaison directe avec l’hyperviseur au lieu de la machine
physique.
(*)
Dans le cas de para-virtualisation, le système invité doit être modifié pour faire
l’adaptation à la couche de virtualisation : il est conscient qu’il tourne dans un
environnement virtuel.
La para-virtualisation fait intervenir un hyperviseur de type 1.
L’hyperviseur assure la communication entre matériel et systèmes d’exploitations
virtualisés.
En para-virtualisation, tous les systèmes sont virtualisés : la notion hôte / invité n’est
pas valide.
Notes

(*) Contrairement à la virtualisation complète qui fait croire au système d’exploitation


invité qu’il s’exécute sur une machine physique avec un matériel“réel”.
Spring
2020
Para-virtualisation 45

La communication avec l’hyperviseur est assurée par l’intermédiaire des APIs


qui remplacent les appels systèmes.
L’hyperviseur met à disposition une API qui assure aux systèmes d’exploitation
virtualisés l’accès direct à la couche matérielle : ainsi pour qu’un OS soit
virtualisé, il doit être modifié.
Les systèmes propriétaires, non modifiables (n’autorisent pas de telles
modifications), ne peuvent pas fonctionner dans un environnement para-virtualisé
(exemple Microsoft Windows).

La para-virtualisation OS invité avec noyau OS invité avec noyau


fait intervenir un modifié modifié
hyperviseur de type 1.
Hyperviseur type 1
Materiel

Spring
2020
Para-virtualisation 46

Logiciels de Espace Espace


contrôles Utilisateur Utilisateur

OS OS OS
Privilégié Invité Invité

Drivers Drivers Drivers

Hyperviseur

Materiel
Spring
2020
Les techniques de virtualisation 47

Virtualisation complète Versus


Para-virtualisation

Virtualisation complète Para-virtualisation

Permet aux OS invités de s’exécuter Permet aux OS invités de communiquer avec


indépendamment l’Hyperviseur

Les OSs invités émettent des requêtes Les OS invités communiquent directement avec
pour l’accès au hardware l’hyperviseur à travers les drivers

Basse Performance Haute performance

Spring
2020
Les techniques de virtualisation 48

Virtualisation Virtualisation par assistance


Totale (Full matérielle (Hardware virtualisation
Virtualisation) support)

Virtualisatio Para-Virtualisatio
n n
Virtualisation
logicielle
(Software based)

Virtualisation par
Conteneurisation
(Containerisation)
Spring
2020
Les conteneurs 49

Motivations?
La virtualisation par création des machines virtuelles comportant un OS complet
(système de fichiers, drivers, bibliothèques, etc. ) ainsi que l’application entraine
un gaspillage de mémoire et alourdit la charge du système ce qui limite le nombre
possible des instances virtuelles.
La solution alternative à la création des VMs n’est qu’une nouvelle forme du
cloud computing qui gagne de plus en plus une grande popularité : les
conteneurs / containers.
Alors que chaque serveur virtuel porte son propre OS invité, les conteneurs
s'exécutent par-dessus d’un seul système d'exploitation installé sur leserveur
hôte.

Spring
2020
La virtualisation par conteneurisation 50
Les conteneurs sont des éléments informatiques offrant un niveau élevé
d’isolation les uns des autres. Chaque conteneur est limité à son propre
"espace de noms"; il ne voit que son propre système de fichiers et sa propre
mémoire.
Le conteneur virtualise seulement l’environnement d’exécution : le
processeur, la mémoire et le système de fichiers.
Dans cette approche, le noyau de l’OS hôte exécute directement plusieurs
instances virtuelles sans passer par une couche logicielle supplémentaire.
Seul l’OS hôte se charge des appels matériels.
Les conteneurs sont fournis à partir d'images de conteneurs.
Les fournisseurs cloud offrent des bibliothèques d’images de conteneurs
standards, ainsi que la prise en charge de la création et du stockage
d’images personnalisées.
Solution très performante et économique en mémoire mais partage du noyau
: mauvaise isolation.
Exemples : chroot, Linux Vserver, OpenVZ , Docker.

Spring
2020
VM Versus Conteneur 51

Source :[Link]

Spring
2020
VM Versus Conteneur 52

Paramètres Machine virtuelle Conteneur


- Chaque VM s'exécute sur un matériel virtuel. - Tous les invités partagent le même OS.
Système / Application -Le noyau de la VM est chargé dans une -Le noyau du OS partagé est chargé dans la
Invité(e) partie de la mémoire virtuelle. mémoire physique.

- Les instructions binaires d’une VM


- Les conteneurs fournissent une performance
(virtualisation complète) sont traduites avant d’ proche de la performance native du système
Performance être exécutées. Ceci introduit un overhead et d'exploitation hôte.
influence par la suite leur temps d’exécution et
les performances de la machine.
- Le partage de bibliothèques, de fichiers, etc.
- Les sous-répertoires peuvent être montés de
entre les machines invités et avec la machine manière transparente et peuvent être partagés.
Isolation
hôte n’est pas possible.

Temps de lancement - Quelques minutes. - Quelques secondes.

- Les VMs nécessitent des gigabits de - Les conteneurs nécessitent moins de


Stockage stockage. ressources de stockage.

Spring
2020
Les principales solutions de virtualisation 53

XEN

Logiciel libre de virtualisation libre.


Développé, à l’origine, par l’université de Cambridge : la première version publique
a été annoncée en 2003.
La socièté XenSource Inc a supporté le développement du projet et fut rachetée
par Citrix Systems en 2007.
Citrix Systems fait le support de deux version:
• Version open source : projet communautaire Xe Cloud Platform (XCP)
• Version commerciale : Citrix XenServer
Xen est un hyperviseur de type 1 (bare metal) qui s’exécute directement sur la
couche matérielle avec un niveau de privilèges maximal pour l’accès aux
ressources comme CPU, RAM, E/S.

Spring
2020
Les principales solutions de virtualisation 54

XEN : Architecture
Les fonctions d’administration de Xen sont implémentées sur une machine
virtuelle privilégiée, dom0 (domain 0), lancée directement après démarrage de
l’hyperviseur.
“dom0” est un système d’exploitation complet avec noyau modifié pour
assurer la communication avec l’hyperviseur sous-jacent.
L’hyperviseur gère l’accès CPU, mémoireet les interruptions.
“dom0” a un accès direct à la couche matérielle et gère tous les accès aux E/
S système et l’intéraction avec les autres VMs.
“dom0” supervise et contrôle (démarrage, arrêt) les autres VMs non
privilégiées et appelées “domU (User domain, Unprivileged domain)“. Deux
types de virtualisation sont possibles pour la création des “domU” :
para-virtualisation et matériellement assistéé (Hardware-assisted Virtualized
Machine - HVM)

Spring
2020
Les principales solutions de virtualisation 55

XEN :
Architecture

Source :
[Link]
Spring
2020
Les principales solutions de virtualisation 56

KVM (Kernel-based Virtual Machine)


KVM a été crée par le startup Qumranet qui fut achetée par Red Hat en 2008.
KVM est une technologie de virtualisation Open Source qui a été crée par le
startup Qumranet, achetée par Red Hat en 2008.
Le module noyau KVM est disponible
nativement dans le noyau Linux depuis Outils
Applications Linux
février 2007 : intégration du module KVM d’administration des
natives
depuis la version 2.6.20 de Linux. VMs
KVM Fonctionne sur des architectures x86
disposant les extensions Intel VT / AMD-V.
Le module KVM gère la création des VMs Module KVM VM VM
sur les machines Linux.
KVM transforme le noyau Linux en un
hyperviseur de type 1: le système Noyau Linux
d'exploitation hôte est toujours pleinement
fonctionnel. Materiel
Spring
2020
Les principales solutions de virtualisation 57

VMware ESXi

Hyperviseur de type 1 de la firme VMware.


VMware ESXi est considéré parmi les solutions les plus complètes du marché
des hyperviseurs.
La version ESXi 5.0 permet de supporter jusqu'à 512 machines virtuelles par hôte,
et les machines virtuelles peuvent utiliser jusqu'à 32 vCPU et 1 Tb de RAM.
VMware ESX est basé sur une distribution RHEL5 (Red Hat Enterprise Linux 5)
modifiée, et comprend deux modules :
•VMKERNEL : module noyau qui prend en charge la gestion des ressources
matérielles en fonction de chaque serveur, et gère les ressources physiques
pour ESX.
SERVICE CONSOLE : une console qui permet la gestion de l'hyperviseur en
mode commande et est accessible avec le protocole SSH (port 22).

Spring
2020
Les principales solutions de virtualisation 58

Hyper-V
Hyperviseur de type 1.
Hyper-V, connu sous le nom de Windows Server Virtualisation et est la
plateforme de virtualisation Microsoft qui permet de créer desinfrastructures
virtuelles sous Windows.
Hyper-V est à base d’un hyperviseur 64 bits de la version de Windows Server
2008.
Systèmes d'exploitation supportés : diverses versions de Linux (Suse et Red
Hat), FreeBSD et Windows.
Hyper-V repose sur le concept de partitions : une partition représente uneentité
étanche disposant des ressources processeurs et mémoire.
Deux types de partitions sont définies :
•Partition parent : partition principale qui permet la gestion complète des
partitions enfants et la gestion des ressources matérielles.
•Partitions enfants : sont crées par l'hôte et contiennent des systèmes
d'exploitation invités qui s'exécutent avec la partition parent.
Spring
2020
Les principales solutions de virtualisation 59

Source :[Link]

Spring
2020
Les principales solutions de virtualisation 60

Docker
Docker est un projet open source écrit en GO et hébergé sur GitHub ( https://
[Link]/docker).
Le projet a été initialement développé par la startup DotCloud
Docker permet de lancer des applications dans des conteneurs logiciels :
exécuter un code à l’intérieur d’un conteneur indépendamment de lamachine
hôte.

Docker se compose de trois éléments :


• le démon Docker qui s’exécute en arrière
qui s’occupe de gérer les conteneur. plan et
• Une API de type REST qui permet de communiquer
avec le démon.
• Un client en CLI (command line interface) : permet
l’interaction avec le démon par l’intermédiaire de la
commande docker.

Spring
2020
Les principales solutions de virtualisation 61

Lexique Docker
Conteneur : image exécutable d’un environnement complet : code, librairies, outils et
configuration.
Image : ensemble de read-only fichiers contenant un système de base et une
application.
Docker HUB : dépôt public d’images mises à disposition par Docker (http://
[Link])
Dockerfile : fichier texte de description d’une image.
Docker Compose : fichier texte (yaml) de description d’un ensemble de conteneurs.
Docker Machine : outil de déploiement des hôtes Docker sur différentes plateformes
(Mac, Windows).
Orchestrateur : gère un pool de ressources serveurs (Swarm, Kubernetes,..).
Registry : dépôt privé d’images Docker.

Notes
Un orchestrateur de conteneurs permet aux utilisateurs de contrôler le démarrage et l’arrêt des
conteneurs, les regrouper en clusters et coordonner tous les processus composant une application.
Spring
2020
Les principales solutions de virtualisation 62

Docker

Source :[Link]

Spring
2020
Les principales solutions de virtualisation 63

Kubernetes (K8s)
Kubernetes est une plateforme pour automatiser le déploiement, la mise à l'échelle et la
gestion des applications conteneurisées.
Kubernetes a été crée par Google en 2014 et publièe en 2015.
Parallèlement à sa publication, Google s'est associé à la Linux Foundation pour
former la Cloud Native Computing Foundation (CNCF), et a proposé Kubernetes
comme technologie de base.
Kubernetes prend en charge Docker et d’autres technologies.
Kubernetes permet de prendre en charge plusieurs Kernels et
gérer ainsi les conteneurs sur ces différents serveurs.
Disponible sur les plateformes cloud : Google Container Engine,
Azure, AWS EKS, Bluemix, etc.

Notes
Le nom Kubernetes tire son origine du grec ancien, signifiant capitaine ou pilôte et
est la racine de gouverneur et cybernetic. K8s est l’abréviation dérivée par le
remplacement des 8 lettres “ubernete” par “8” Spring
2020
Les principales solutions de virtualisation 64

Kubernetes (K8s)
Kubernetes orchestre l’environnement des conteneurs à l’aide des
fonctionnalités telles que :
• La gestion des services applicatifs sur plusieurs serveurs.
• La planification de l’exécution des conteneurs dans un cluster.
• Garantir l’intégrité du conteneur.
• Equilibrage de charge.
• Passage à l’échelle : évolutivité.
• Assurer le monitoring.

Spring
2020

Vous aimerez peut-être aussi