Vous êtes sur la page 1sur 41

Chapitre 2 - Infrastructure

de calcul Cloud

NGUIMBUS Emmanuel 1
Plan du cours

I. Introduction
II. Contexte
III. Serveurs virtuels
IV. Hyperviseurs
V. Containeurs
VI. Serveless Computing

NGUIMBUS Emmanuel 2
I. Introduction

 La virtualisation est la technologie la plus importante dans le cloud


computing.

 Elle permet à une infrastructure physique de fonctionner comme plusieurs


infrastructures ou ressources logiques.

 Elle permet également une utilisation efficace des ressources en exploitant la


totalité des ressources disponibles.

 On peut virtualiser la mémoire, le processeur, les E/S, le réseau, le système


d’exploitation, les données et les applications.

NGUIMBUS Emmanuel 3
I. Introduction (suite)

Avant la virtualisation
NGUIMBUS Emmanuel 4
I. Introduction (suite)

Après la virtualisation
NGUIMBUS Emmanuel 5
II. Contexte

Avant la virtualisation

 un serveur était utilisé pour exécuter un seul système d’exploitation et ses


applications. Ce qui entraînait une sous-utilisation des ressources.

 La nature non partagée du matériel oblige les organisations à acheter un


nouveau matériel pour répondre à leurs besoins de calcul supplémentaires.

 Par exemple, si une organisation souhaite expérimenter une nouvelle idée, elle
doit utiliser des systèmes dédiés distincts pour différentes expériences.

 Donc, pour mener à bien leurs travaux de recherche, ils ont tendance à acheter
un nouveau matériel qui augmentera le budget d’investissement.

NGUIMBUS Emmanuel 6
II. Contexte (suite)

Après l’introduction de la virtualisation

 Différents systèmes d’exploitation et leurs applications peuvent partager une


seule infrastructure physique.

 La virtualisation réduit le montant énorme investi dans l’achat de ressources


supplémentaires.

 La virtualisation devient un moteur clé dans l’industrie informatique, en


particulier dans le cloud computing.

NGUIMBUS Emmanuel 7
II. Contexte (suite)

Avantages de la virtualisation
 Consolidation des ressources
la possibilité de faire fonctionner plusieurs systèmes en parallèle sur un serveur, ce
qui se traduit par la réduction du nombre de serveurs et la quantit é́ de matériel
informatique nécessaire dans un Datacenter.

 Utilisation des ressources


la virtualisation permet d’accroître le taux d’utilisation des ressources (60 à 80%)
contre 10 à 20% en non virtualisation.
 Gestion automatique
Les machines virtuelles peuvent être créées et configurées automatiquement selon
les besoins.
 Consommation d’énergie
la consolidation des ressources diminue le nombre de composants physiques ce qui
implique une réduction des dépenses énergétiques.
NGUIMBUS Emmanuel 8
II. Contexte (suite)

Avantages de la virtualisation (suite)


 La virtualisation facilite l’installation, la sauvegarde, le déploiement des
systèmes et des applications et simplifie la migration des applications sur de
nouveau serveurs.

 Sécurisation et/ou isolation


La virtualisation crée des environnements sécurisés et isolés.

 Comportement dynamique
En cas de goulots d’étranglement (surcharge), une machine virtuelle peut utiliser des
ressources supplémentaires.

 Diminuer la surface au sol


Chaque espace d’un Datacenter couteux. Avec la virtualisation, la même performance
peut être obtenue sur une plus petite surface
NGUIMBUS Emmanuel 9
III. Serveurs virtuels

Il existe 3 approches différentes de la virtualisation

1. Virtualisation complète
 Dans la virtualisation complète, l’OS invité est complètement abstrait de la
couche physique. Dans ce cas, l’OS invité ne sait pas qu’il est virtualisé et
pense qu’il s’exécute sur du vrai matériel.
 Dans cette approche, l’hyperviseur fournit toutes les infrastructures virtuelles
nécessaires aux machines virtuelles.
 Par conséquent, L’OS invité ne peut pas communiquer avec l’infrastructure
physique directement, il a besoin de l’aide de l’hyperviseur.
 Cette approche utilise les translations binaires pour transformer les
instructions de l’OS invité non-virtualisées par des nouvelles séquences
d’instructions qui ont le même effet prévu sur l’infrastructure virtuelle.

NGUIMBUS Emmanuel 10
III. Serveurs virtuels (suite)
Avantages de la Virtualisation complète
 Cette approche fournit une meilleure isolation et sécurité pour les machines
virtuelles.
 Elle permet d’exécuter plusieurs OS simultanément.
 L’OS invité peut facilement migrer pour s’exécuter sans virtualisation.
 Ne nécessite pas de modification sur le système d’exploitation invité.

Inconvénients de la Virtualisation complète


 Les translations binaires sont une surcharge supplémentaire qui réduit les
performances globales du système.

NGUIMBUS Emmanuel 11
III. Serveurs virtuels (suite)
2. Paravirtualisation
 Cette approche est également connu sous le nom de Partial virtualisation ou
bien OS-assisted-virtualisation. Elle fournit une simulation partielle de le
couche physique. La différence majeure entre la virtualisation complète et la
para-virtualisation est que L’OS invité sait qu’il s’exécute dans un
environnement virtualisé dans la para-virtualisation. En plus, la para-
virtualisation remplace la translations binaire des requêtes (non virtualisé) de
l’OS invité par des hypercalls. les hypercalls sont similaire aux appels système
et utilisés pour communiquer directement avec l’hyperviseur. Cette
communication directe entre l’OS invité et l’hyperviseur améliore les
performance et l’efficacité de cette approche. Cependant, l’OS invité doit
être modifié à cet effet.

NGUIMBUS Emmanuel 12
III. Serveurs virtuels (suite)
Avantages de la paravirtualisation
 La paravirtualisation élimine le surcoût supplémentaire de la translation
binaire et améliore ainsi l’efficacité et les performances globales du système.
 Elle est plus facile à mettre en place que la virtualisation complète.

Inconvénients de la paravirtualisation
 Il y’a une surcharge au niveau de L’OS invité.
 L’OS invité doit être modifié et il ne peut pas s’exécuter sans virtualisation.
 Les machines virtuelles ne peuvent pas être migrées vers d’autres serveurs.

NGUIMBUS Emmanuel 13
III. Serveurs virtuels (suite)
3. Virtualisation assistée par le matériel
 Dans les deux approches précédentes, il y’a un surcout supplémentaire de la
translation binaire ou la modification de l’OS invité pour réaliser la
virtualisation.

 Dans cette approche, Les fournisseurs de matériel offrent la prise en charge


de la virtualisation, ce qui élimine les surcharges des approches précédentes.

 Ces vendeurs, comme Intel et AMD, ont ajouté une extension matériel à leur
processeur pour prendre en charge la virtualisation.

NGUIMBUS Emmanuel 14
III. Serveurs virtuels (suite)
3. Virtualisation assistée par le matériel (suite)
 Par exemple, Intel a lancé sa technologie de virtualisation Intel (VT-x) et AMD
a lancé AMD-v pour simplifier la technique de virtualisation.

 Comme indiqué précédemment, la technique de virtualisation assistée par


matériel supprime la traduction binaire et la paravirtualisation.

 Ici, les demandes du système d’exploitation invité atteignent directement


avec l’hyperviseur sans aucune traduction.

NGUIMBUS Emmanuel 15
III. Serveurs virtuels (suite)
Avantages de la virtualisation assistée par le matériel
 Réduction de la surcharge de la translation binaire dans les virtualisations
complètes.
 Ne modifie pas l’OS invité

 Inconvénients de la Virtualisation assisté par le matériel


 Seuls les processeurs de nouvelle génération ont ces capacités.
 Un plus grand nombre d’interruptions de VM entraîne une surcharge enlevée
du processeur, une évolutivité limitée et une efficacité moindre dans la
consolidation des serveurs.
 Les performances sont inferieures à la paravirtualisation.

NGUIMBUS Emmanuel 16
IV. Hyperviseurs

 Aujourd’hui, Les machines virtuelles sont largement utilisées, au lieu des


machines physiques.

 Ces VMs prennent en charge les aspect écologiques.

 Etant donné que les machines virtuelles sont principalement utilisées, la


technologie qui permet de créer ces environnements virtuels a aussi retenu
l’attention du milieu industriel et académique.

NGUIMBUS Emmanuel 17
IV. Hyperviseurs (suite)

 Aujourd’hui, Les machines virtuelles sont largement utilisées

 L’environnement virtuel peut être créé avec l’aide d’un logiciel qui s’appelle
Hyperviseur (Hypervisor).

 L’hyperviseur est un méta-système d’exploitation minimal qui se situe entre


les VMs et l’infrastructure physique.

 Son rôle consiste à fournir l’infrastructure virtuelle requise pour les VMs.

 Généralement, l’infrastructure virtuelle signifie des processeurs virtuels


(vCPUs), mémoire virtuelle(vRAMs), cartes réseaux virtuelles (vNICs),
stockage virtuel ...

NGUIMBUS Emmanuel 18
IV. Hyperviseurs (suite)

 Les hyperviseurs, aussi appelés VMMs, sont considérés comme les principaux
moteurs de la virtualisation dans les Datacenter.

 Actuellement, il existe différents hyperviseurs qui sont utilisés dans


l’industrie.

 Parmi les VMMs les plus utilisés, on trouve VMware, Xen, Hyper-V et KVM.

 Ces VMMs sont classés en deux catégories.

NGUIMBUS Emmanuel 19
IV. Hyperviseurs (suite)

1. Hyperviseurs type 2
 Encore appelés hyperviseurs intégrés
 Ce type d’hyperviseur est installé comme un application au dessus d’un
système d’exploitation.
 Il nécessite la communication avec l’OS hôte pour accéder aux ressources
physiques.
 L’inconvénient majeur de cette approche est que l’échec de l’OS hôte
entraine un échec des VM.
 Donc, il est recommandé d’utiliser les VMM de type 2 uniquement sur les
systèmes invité où l’efficacité est moins critique.
 Quelques exemple de VMM type 2 sont: VMware workstation, KVM, Oracle
VirtualBox.

NGUIMBUS Emmanuel 20
IV. Hyperviseurs (suite)

1. Hyperviseurs type 2 (suite)

NGUIMBUS Emmanuel 21
IV. Hyperviseurs (suite)

2. Hyperviseurs type 1
 Encore appelés hyperviseurs Bare metal
 Il peut s’exécuter et accéder aux ressources physiques directement sans
l’aide d’un OS hôte.
 Comparés au hyperviseur type 2, la surcharge de la communication avec l’OS
hôte est réduite, ce qui offre une meilleure performance.
 Ce type d’hyperviseur est utilisé pour les serveurs qui gèrent des tâches
lourdes et nécessitent plus de sécurité.
 Parmi les VMM type 1, on trouve Microsoft Hyper-V , Citrix XenServer, VMware
ESXI.

NGUIMBUS Emmanuel 22
IV. Hyperviseurs (suite)

2. Hyperviseurs type 1(suite)

NGUIMBUS Emmanuel 23
V. Conteneurs

NGUIMBUS Emmanuel 24
V. Conteneurs (suite)
 Les conteneurs logiciels cherchent à répondre à la même problématique que
les conteneurs physiques.
 Les transporteurs délèguent à leurs clients le remplissage du conteneur qui
est ensuite scellé avant le transport.
 Le transporteur n’a pas à s’occuper de la nature précise des biens
transportés.
 Le transporteur s’assure que le conteneur dans son ensemble arrive intact.

NGUIMBUS Emmanuel 25
V. Conteneurs (suite)
 Dans une architecture à base de conteneurs :
 Le contenu du conteneur, c’est-à-dire le code et ses dépendances (jusqu’au
niveau de l’OS), est de la responsabilité du développeur ;
 La gestion du conteneur et les dépendances que celui-ci va entretenir avec
l’infrastructure (soit le stockage, le réseau et la puissance de calcul) sont de
la responsabilité de l’exploitant.

NGUIMBUS Emmanuel 26
V. Conteneurs (suite)

 Open source
 Empaquète une application et ses dépendances dans un conteneur isolé,
qui pourra être exécuté sur n'importe OS supportant docker. 

NGUIMBUS Emmanuel 27
V. Conteneurs (suite)

 Open source
 Automatise le déploiement, la mise en œuvre et la gestion des applications
conteneurisées
 Exploite Docker.

NGUIMBUS Emmanuel 28
VI. Serverless computing
 Le serverless est un modèle de développement cloud-native qui permet aux
développeurs de créer et d'exécuter des applications sans avoir à gérer des
serveurs.

 Ce modèle nécessite quand même des serveurs, mais leur gestion est
dissociée du développement des applications.

 Un fournisseur de cloud se charge du travail de routine :


il approvisionne l'infrastructure de serveurs, assure son bon fonctionnement
et la met à l'échelle.

 Les développeurs n'ont alors plus qu'à mettre en paquet leur code dans
des conteneurs pour déployer les applications.

NGUIMBUS Emmanuel 29
VI. Serverless computing (suite)
 Une fois que les applications serverless sont déployées, elles répondent à la
demande et se mettent à l'échelle automatiquement en cas de besoin.

 En général, les offres serverless des fournisseurs de cloud public sont


facturées à la demande, sur la base d'un modèle d'exécution orienté
événements.

 Par conséquent, lorsqu'une fonction serverless est inactive, elle ne coûte rien.

NGUIMBUS Emmanuel 30
VI. Serverless computing (suite)
Architecture serverless

 Dans le serverless, le fournisseur de cloud est non seulement responsable de


la gestion de l'infrastructure cloud, mais aussi de la mise à l'échelle des
applications.

 Les applications serverless sont déployées dans des conteneurs qui démarrent
automatiquement sur simple demande.
.

NGUIMBUS Emmanuel 31
VI. Serverless computing (suite)
Architecture serverless (suite)

Dans un modèle standard de cloud computing IaaS :


 Les utilisateurs achètent à l'avance des unités de capacité.

 Ainsi, ils paient un fournisseur de cloud public pour des composants de


serveur actifs en permanence pour l'exécution de leurs applications.

 L'infrastructure cloud reste active même lorsque l'application n'est pas


utilisée.

NGUIMBUS Emmanuel 32
VI. Serverless computing (suite)
Architecture serverless (suite)
Avec une architecture serverless:
 Les applications ne sont lancées qu'en cas de besoin.

 Lorsqu'un événement déclenche l'exécution d'un code d'application, le


fournisseur de cloud public alloue des ressources pour ce code de manière
dynamique.

 L'utilisateur cesse de payer une fois le code exécuté.


 Offre des avantages en matière de coûts et d'efficacité

 le modèle serverless libère les développeurs des tâches courantes associées à


la mise à l'échelle des applications et à l'approvisionnement des serveurs.

NGUIMBUS Emmanuel 33
VI. Serverless computing (suite)
Architecture serverless (suite)

Avec une architecture serverless:


 Le serverless permet de sous-traiter à un fournisseur de services cloud les tâches
telles que la gestion du système d'exploitation et du système de fichiers,
l'application des correctifs de sécurité, l'équilibrage de la charge, la gestion de la
capacité, la mise à l'échelle, la journalisation et la surveillance.

 Il est également possible de créer une application entièrement serverless ou une


application qui intègre des composants de type microservices partiellement
serverless et partiellement traditionnels.

NGUIMBUS Emmanuel 34
VI. Serverless computing (suite)
Offres serverless computing
Il existe deux types d'offres serverless : Backend-as-a-Service (BaaS) et  Function-
as-a-Service (FaaS).

1. Backend-as-a-Service (BaaS)
 Avec une offre BaaS, les développeurs ont accès à une multitude de services
et d'applications tiers.

 Par exemple, un fournisseur de cloud peut proposer des services


d'authentification ou une option de chiffrement renforcé accessibles dans le
cloud.

 Avec le modèle BaaS, serverless est généralement accessible par


des interfaces de programmation d'applications (API).

NGUIMBUS Emmanuel 35
VI. Serverless computing (suite)
Offres serverless computing
2. Function-as-a-Service (FaaS)
 Le FaaS est un modèle d'exécution orienté événements.

 Les développeurs écrivent une logique qui est déployée dans des conteneurs
entièrement gérés par une plateforme cloud, et qui sera ensuite exécutée à
la demande.

 Contrairement au BaaS, le modèle FaaS offre un plus grand degré de contrôle


aux développeurs qui peuvent créer des applications personnalisées plutôt
que d'avoir recours à une bibliothèque de services prédéfinis. 

NGUIMBUS Emmanuel 36
VI. Serverless computing (suite)
Offres serverless computing (suite)
2. Function-as-a-Service (suite)
Le code est déployé dans des conteneurs gérés par un fournisseur de cloud. Ces
conteneurs sont :

 sans état, ce qui simplifie qu’ils intègrent leurs propres données ;

 éphémères, ce qui permet de les exécuter pendant une très courte période ;

 déclenchés par un événement, ce qui leur permet de s'exécuter


automatiquement en cas de besoin ;

NGUIMBUS Emmanuel 37
VI. Serverless computing (suite)
Offres serverless computing (suite)
2. Function-as-a-Service (suite)
Le code est déployé dans des conteneurs gérés par un fournisseur de cloud. Ces
conteneurs sont :

 entièrement gérés par un fournisseur de cloud, de sorte que l'utilisateur paie


uniquement pour les ressources dont il a besoin, et non pour des applications
et serveurs toujours disponibles.

 Avec le modèle FaaS, les développeurs peuvent appeler des applications


serverless via des API gérées par le fournisseur de FaaS par l'intermédiaire
d'une passerelle d'API.

NGUIMBUS Emmanuel 38
VI. Serverless computing (suite)
 Cas d'utilisation de l'informatique serverless

 L'architecture serverless est idéale pour les applications asynchrones et sans


état qui peuvent être lancées instantanément.

 Ce modèle est également adapté pour faire face aux pics de demande peu
fréquents et imprévisibles.

 Le traitement par lots de fichiers image entrants.

NGUIMBUS Emmanuel 39
VI. Serverless computing (suite)
 Cas d'utilisation de l'informatique serverless (suite)

 La surveillance des modifications apportées à une base de données et


l'application d'une série de fonctions, pour vérifier le respect des normes de
qualité ou traduire automatiquement les données.

 Flux de données entrants, des chat bots, des tâches programmées ou une
logique métier.

 Les API back-end et les applications web, l'automatisation des processus


métier, les sites web serverless et l'intégration à plusieurs systèmes.

NGUIMBUS Emmanuel 40
Q&A

 Finalement l’infrastructure de calcul Cloud est une notion assez simple !?

NGUIMBUS Emmanuel 41

Vous aimerez peut-être aussi