Cloud Zbakh key notes
• Virtualisation :La virtualisation est un ensemble de techniques matérielles et/ou logicielles qui autorisent l’exécution de plusieurs applications
indépendantes sur une même machine hôte. Inconvenients : performance reduite ; consomation des ressources
• Scaling Up : Scaling up, également connu sous le nom de "vertical scaling", consiste à augmenter la capacité d'une machine virtuelle en ajoutant des
ressources matérielles à une seule instance.
• Scaling Out :Scaling out, également appelé "horizontal scaling", implique l'ajout de nouvelles instances de machines virtuelles pour répartir la charge de
travail sur plusieurs machines.
• HYPERVISEURS : Un hyperviseur est une plateforme de virtualisation qui permet à plusieurs systèmes d’exploitation de fonctionner sur une même
machine physique en même temps
• Hyperviseur de Type 1 (Bare Metal) :
Également connu sous le nom d'hyperviseur bare metal, cet hyperviseur s'exécute directement sur le matériel physique de l'ordinateur, sans aucun
système d'exploitation intermédiaire.
Examples : Xen, Oracle VM, ESX Server de Vmware, KVM (Proxmox)
• Hyperviseur de Type 2 (Hosted) :
Aussi appelé hyperviseur hébergé, cet hyperviseur s'exécute sur un système d'exploitation hôte déjà installé.
Exemples : VMware Workstation; VMWare fusion, VMware Fusion, Hyperviseur open source QEMU, Microsoft Virtual PC et Virtual Server, Virtual Box
d’Oracle, Parallels Workstation de SWsoft et Parallels Desktop ; Openstack KVM LXC QEMU ; Proxmox KVM LXC
Virtualisation complète PARA-VIRTUALISATION ISOLATEURS
La virtualisation complète permet de faire fait intervenir un hyperviseur Un isolateur est un logiciel permettant
fonctionner n’importe quel système d’exploitation Il s’agit d’un noyau allégé au dessus duquel d’isoler l’exécution des applications dans ce
en tant qu’invité dans une machine virtuelle viendront se greffer les systèmes invités qui sont appelés des contextes, ou bien zones
Concept de fonctionnement : avec la paravirtualisation, le système invité d’exécution
permet de virtualiser que des doit avoir conscience qu’il tourne dans un Un isolateur permet ainsi de faire tourner
systèmes d’exploitation prévus pour la même environnement virtuel ce qui implique plusieurs fois la même application dans un
architecture matérielle que le processeur d’employer un noyau modifié. mode multi-instance « plusieurs instances
physique de l’ordinateur hôte Ex : XEN - VMWare ESX/ESXi - Hyper-V d’exécution »
ex : VirtualBox - VMWare Player, VMWare (Microsoft) On ne peut pas vraiment parler de
Workstation - Parallels Desktop for Windows et virtualisation de systèmes d’exploitation
Linux - KVM Exemples des Isolateurs: • Linux-VServer
(isolation des processus en espace utilisateur)
• Chroot (isolation changement de racine) •
BSD Jail (isolation en espace utilisateur) •
OpenVZ : libre (partitionnement au niveau
noyau sous Linux) • LXC : libre (usage des
Groups du noyau Linux)
L’hyperviseur ne fournit au système virtualisé qu’un espace de stockage: un volume ou un fichier. On peut placer l’intégralité de cet espace sur un disque
local, un réseau de stockage ou un autre serveur...
Disposant d’un réseau de stockage, chaque hyperviseur a accès à toutes les machines virtuelles, et peut donc exécuter n’importe laquelle, et la transférer
sans interruption à un autre hyperviseur en fonction de sa charge.
Un NAS, ou stockage réseau (Network-Attached Storage) est simplement un serveur fournissant leurs fichiers à d’autres serveurs par le réseau
NFS (Network file storage) est le standard universel pour l’accès aux fichiers sur un réseau, c’est le protocole le plus utilisé dans les NAS
Un SAN, ou réseau de stockage (Storage Area Network), est un réseau sur lequel circulent les données entre un système et son stockage
Les deux principaux protocoles d’accès à un SAN sont iSCSI et Fibre Channel
Les conteneurs Docker permettent à une application d’être empaquetée et déplacée facilement, augmentant ainsi la simplicité d’une infrastructure
Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel
serveur
1. Création d'une image de conteneur :
Une image de conteneur est un package léger qui contient l'application, ses dépendances et tous les éléments nécessaires pour son exécution.
L'image de conteneur est généralement créée à partir d'un fichier de configuration appelé Dockerfile (pour Docker) ou à l'aide d'outils similaires dans
d'autres systèmes de conteneurisation.
2. Construction de l'image de conteneur :
L'image de conteneur est construite à partir du Dockerfile en utilisant des commandes telles que "docker build" (pour Docker).
Pendant ce processus, les dépendances de l'application sont téléchargées et installées, et l'image de conteneur est configurée pour exécuter l'application
de manière isolée.
3. Exécution du conteneur :
Une fois que l'image de conteneur est construite, elle peut être utilisée pour exécuter des instances de conteneur, également appelées conteneurs.
L'exécution d'un conteneur se fait à l'aide de commandes telles que "docker run" (pour Docker), qui spécifient les options de configuration et les ports à
exposer.
Une instance d'exécution d'une image Docker, elle se compose de :
une image Docker un environnement d'exécution un ensemble standard d'instructions
Architecture Docker :
À l'aide de Docker Build, les utilisateurs peuvent créer une version automatisée qui exécute successivement plusieurs instructions de ligne de commande
Dockerfile : ficher d’instructions utilisés par docker pour creer des images en utilisant docker build
Docker compose :
• Docker Compose définit et exécute des applications Docker multi-containers
• Avec Compose, un fichier YAML est utilisé pour configurer les services des applications
• À l'aide d'une seule commande, les utilisateurs peuvent créer et démarrer des services depuis la configuration.
docker run --name test -d nginx
The cloud is a distributed collection of servers that host software and infrastructure, and it is accessed over the Internet.
• Cloud Computing (informatique dans le nuage) : Gestion des ressources (serveurs) et adaptation d’une infrastructure qui est totalement transparente
pour l’administrateur et les utilisateurs.
• Les applications proposées en mode Cloud Computing ne se trouvent pas forcement sur un serveur informatique (hébergé chez l’utilisateur) mais dans un
nuage formé de l’interconnexion de serveurs géographiquement distant se forme de serveurs géants (également appelées datacenters)
• Exploitation de la puissance de calcul et de stockage des serveurs distants
Datacenter : Real estate and technical infrastructure intented for hosting a large concentration of computer equipement; A secure site that can host
digital services requiring high availability Architecture :
• Rack organized servers
-Switch that serves a rack of 40-80 physical servers 4 ToR (Top of the Rack) switch
- Each physical server will host several virtual machines.
• Rack interconnected by network
- The network architecture is important for performance
SAAS PAAS IAAS
Le mode Saas est un mode d’utilisation d’une Il s’git des plateformes du nuage, regroupant Il s’agit de la mise à disposition, à la demande,
solution logicielle que se fait en utilisant principalement les serveurs mutualisés et leurs de ressources d’infrastructures dont la plus
l’application à distance qui est hébergée par systèmes d’exploitation. grande partie est localisée à distance dans des
l’éditeur. En plus de pouvoir délivrer des logiciels en mode Datacenters.
couramment utilisé pour des applications Saas, le PaaS dispose d’environnements spécialisés IaaS permet l’accès aux serveurs et à leurs
logiciels relatives au CRM "Customer Relationship au développement comprenant les langages, les configurations pour les administrateurs de
Management/Gestion de la Relation Client" ou outils et les modules nécessaires. l’entreprise.
au web marketing (les plateformes de gestion des L’avantage est que ces environnements sont Le client à la possibilité de louer des clusters, de
compagnes email, les outils de web analytique et hébergés par un prestataire basé à l’extérieur de la mémoire ou du stockage de données.
les serveurs publicitaires) l’entreprise ce qui permet de ne disposer d’aucune Le coût est directement lié au taux
utilisée à partir d’un navigateur Internet ==>pas infrastructure et de personnel de maintenance et d’occupation.
d’installation / maj / maintenance donc de pouvoirse consacrer au développement Grande flexibilité, contrôle totale des
Pas de migration de données systèmes (administration à distance par SSH ou
- Paiement à l’usage (pay for use) Le déploiement est automatisé, pas de logiciel Remote Desktop (RDP)), qui permet d’installer
- Test de nouveaux logiciels avec facilité supplémentaire à acheter ou à installer. tout type de logiciel métier
Limitation par définition au Besoin d’administrateurs
logiciel proposé . - Limitation à une ou deux technologies ( ex. : système comme pour les solutions de serveurs
- Pas de contrôle sur le stockage et la sécurisation Python ou Java pour Google AppEngine, .NET pour classiquessur site Les cibles sont les
des données associées au logiciel Microsoft Azure, …). - Pas de contrôle de machines responsables d’infrastructures informatiques
-Réactivité des applications web pas toujours virtuelles sous-jacentes. Amazon EC2 est le principal fournisseur de ce
idéale genre d’infrastructures OpenStack est un
exemple d’infrastructure
Cloud privé Cloud Publique Cloud Hybride
Le Cloud privé est prévu pour offrir aux Les ressources sont fournies par un privés + publiques pour remplir différentes
entreprises, des services qui leur permettront prestataire et mutualisées pour un usage fonctions au sein d’une même organisation.
de mieux maîtriser leurs ressources partagé par plusieurs clients maximiser l’efficacité en utilisant des services
informatiques L’infrastructure est mise à la disposition du de Cloud public pour ses opérations
L’entreprise peut gérer son infrastructure en grand public ==> le niveau de service étant nonsensibles, et s’appuyer en revanche sur
solitaire au rythme de ses besoins ; comme défini par le fournisseur et identique pour un Cloud privé lorsqu’elle en a besoin.
l’installation d’un réseau informatique tous les utilisateurs
propriétaire / un centre de données qui Plus utilisés : Cloud computing ; SAAS ; PAAS ;
fournit des services hébergés pour un certain adressées aux personnes, moins susceptibles
nombre d’usagers. d’avoir besoin de l’infrastructure et de la
accès particulièrement favorables pour leurs sécurité de Clouds privés.
applications hébergées. rendre les opérations plus efficaces, par
exemple pour le stockage de contenu non-
sensible, la collaboration avec des documents
Interne Externe
en ligne et la messagerie web.
utilisé par une destiné à satisfaire les
entreprise pour besoins propres d’une
satisfaire ses propres entreprise cliente. Sa
besoins. Il est gestion est confiée à un
administré en interne prestataire extérieur.
par l’entreprise même On parle alors de
gestion externalisée.
Dans ce cas, une partie
de ses services
externalisés, est prise
en charge par un
prestataire de
confiance.
Les plus connues : Amazon AWS : EC2 (elastic compute Cloud ) (e Xen, permet de définir chaque machine virtuelle comme un serveur virtuel privé. Les
coûts sont calculés en fonction du temps d’utilisation,)
Salesforce : cloud publique ; Microsoft (Windows Azure) : destiné aux entreprises ; Google AppEngine publique et gratuit
Openstack (logiciel gratuit) Son but est de fournir toutes les briques nécessaires à la mise en place d’un service IaaS : Infrastructure as a Service,
regroupement de logiciels open source sous licence Apache, • Ce regroupement permet de mettre à disposition des ressources de calcul (des machines
virtuelles) ainsi que des espaces de stockage, en reprenant les principes de l’IaaS,
VMWARE VCLOUD : solution logicielle permettant aux entreprises de creer des Clouds prives multi-utilisateurs securisEs en regroupant les ressources
d'infrastructure dans des Datacenters virtuels.
EDGE computing (Cloud intermédiaire) FOG Computing
Au lieu de transférer les données générées par des appareils connectés Les données sont transmises du point de collecte à une passerelle pour
IoT vers le Cloud ou un Data Center, il s’agit de traiter les données en y être traitées, puis renvoyées à la périphérie (EDGE). Le Fog Computing
périphérie du réseau directement où elles sont générée (objet agit comme un pont entre la périphérie et le cloud, traitant les données
connecté, smartphone…) ou par un ordinateur / serveur local /micro localement avant de les envoyer au cloud si nécessaire.
data center
==>réduire le trafic en direction du Cloud ou des Data Centers et de
permettre une analyse des données importantes en temps réel,
Les entreprises ont besoin de traiter d’abord les données les plus
importantes le plus rapidement possible (real time)
Les sources de parallélisme :
expoite comme source de parallélisme la régularité des données et applique en parallèle un même
calcul à des données distinctes (technique utilisée dans la première approche de parallelisation du calcul des polynôme).
consiste à faire des choses différentes en même temps afin de générer du parallélisme (technique
utilisée dans la deuxième parallélisation en réécrivant le polynôme afin d’obtenir trois expressions différentes qui sont évaluées simultanément)..
correspond à la technique de travail à la chaîne. Chaque donnée subit une séquence de traitements. C’est
cette séquence qui est utilisée comme source de parallélisme et le parallélisme de flux réalise la séquence des traitements en mode pipeline en
exploitant une régularité des données (troisième parallélisation du calcul des polynomes est de ce type