Chapitre 5: Étude de Cas Openstack: Matière: Enseignante: Niveau
Chapitre 5: Étude de Cas Openstack: Matière: Enseignante: Niveau
Chapitre 5: Étude de Cas Openstack: Matière: Enseignante: Niveau
OpenStack
▪ Définitions d’OpenStack
▪ Présentation d’ OpenStack
▪ L’industrie et OpenStack
2
Introduction
▪ Les entreprises déploient des clouds pour :
▪ Répondre aux besoins de ressources et de réactivité des métiers
3
Introduction
Les Datacenters sont virtualisés, les Serveurs d’abord !
4
Introduction
Etape suivante : Stockage, réseau...
5
Introduction
La multiplication des VM peut devenir rapidement ingérable
7
OpenStack : Définitions
▪ Wikipédia
▪ OpenStack est un ensemble de logiciels open source permettant de déployer des
infrastructures de cloud Computing (IaaS).
▪ La technologie possède une architecture modulaire composée de plusieurs projets
corrélés (Nova, Swift, Glance...) qui permettent de contrôler les différentes ressources
des machines virtuelles telles que la puissance de calcul, le stockage ou encore le réseau
inhérents au centre de données sollicité.
▪ Openstack.org
▪ OpenStack is a cloud operating system that controls large pools of compute, storage, and
networking resources throughout a datacenter, all managed through a dashboard that
gives administrators control while empowering their users to provision resources
through a web interface.
▪ Mission de Openstack :
▪ Plateforme Open Source de Cloud Computing (IaaS)
▪ Donner le contrôle aux admins et aux utilisateurs via le portail - Garantir la conformité
▪ Permettre aux développeurs de rendre leurs applications «cloud aware» grâce aux APIs
10
OpenStack : Présentation générale
▪ OpenStack est la solution de cloud IaaS sujet de toutes les discussions.
▪ Touts les spécialistes, en évoquant le sujet du cloud privé IaaS, mentionnent le fameux
OpenStack.
▪ Cet ensemble de logiciels a acquis une telle popularité que « cloud privé » est
désormais presque synonyme d'« OpenStack ».
12
OpenStack : Soutien de l’industrie
▪ Les principaux acteurs actuels d’OpenStack :
▪ Rackspace : société d'hébergement focalisée sur le support et le service. Rackspace a fortement contribué
au développement du projet OpenStack et en est l'instigateur, avec la NASA (National Aeronautics and
Space Administration), dans le but de le voir devenir un standard du cloud, et que ce standard soit libre.
▪ Canonical : l'éditeur d'Ubuntu est un contributeur de la première heure. La plupart des développements
d'OpenStack se font sur cette distribution Linux.
▪ Red Hat : société active dans le domaine du logiciel libre. Elle est l'un des contributeurs actuels au code
d'OpenStack.
▪ SUSE : société allemande spécialisée dans le logiciel libre.
▪ HP (Hewlett-Packard) : l'une des plus grandes multinationales du domaine de l'informatique.
▪ IBM (International Business Machines) : entreprise mythique et géant de l'informatique.
▪ AT&T (American Telephone and Telegraph Company) : ce qu'il reste du démantèlement du géant américain
demeure l'un des principaux groupes de télécommunication.
▪ Intel : le plus grand fabricant de semi-conducteur mondial est connu pour ses processeurs x86.
▪ VMware participe aussi au projet OpenStack, alors qu’elle propose un produit concurrent, Vcloud.
13
OpenStack : Historique
▪ En Juillet 2010, lorsque Rackspace et la NASA se joignent pour lancer le projet
OpenStack, ils ont une idée en tête : éviter à tout prix le verrouillage du
marché du cloud par des technologies propriétaires et fermées.
▪ But : créer un standard pour l'accès au cloud et sa gestion. Un utilisateur
devra pouvoir changer de fournisseur sans réécrire ses applications.
▪ Rackspace libère le code source de son système Cloud Files, qui deviendra le
composant OpenStack Object Storage (Swift).
▪ NASA rend public le code de son projet Nebula, qui deviendra OpenStack
Compute (Nova).
▪ Rapidement, de nombreux contributeurs rejoignent la communauté.
14
OpenStack : Composants
▪ OpenStack adopte une architecture modulaire pour fournir un ensemble de
services de base qui facilitent l'évolutivité et l'élasticité en tant que principes de
conception de base.
16
OpenStack : Composants
▪ OpenStack Compute (nova)
▪ Ce composant fournit des services pour prendre en charge la gestion d'instances de
machines virtuelles à grande échelle, des instances qui hébergent des applications à
plusieurs niveaux, des environnements de développement ou de test, des clusters
Hadoop traitant du « Big Data » ou du calcul haute performance.
▪ Il facilite cette gestion grâce à une couche d'abstraction qui s'interface avec les
hyperviseurs pris en charge (tel que KVM/Qemu, Xen, LXC, VMware Vcenter, Microsoft
Hyper-V, etc.).
▪ Il permet de provisionner et contrôler un large réseau de machines.
▪ Nova constitue le coeur du cloud OpenStack
▪ Glance lui fournit des images qu'il « transforme » en instances de machine virtuelle
exécutées sur les différents nœuds de calcul.
17
OpenStack : Composants
▪ OpenStack Object Storage (Swift)
▪ Ce composant prend en charge le stockage et la récupération de données arbitraires
dans le cloud.
▪ Il fournit à la fois une API native et une API compatible Amazon Web Services.
▪ Il offre un degré élevé de résilience grâce à la réplication des données et peut gérer des
pétaoctets de données.
▪ Il est important de comprendre que le stockage d'objets diffère du stockage de système
de fichiers traditionnel.
▪ En mode objet, contrairement au mode fichier, il n'y a pas de notion d'arborescence. Chaque objet est
associé à des méta-données qui permettent de le retrouver
▪ Le stockage d'objets est mieux utilisé pour les données statiques telles que les fichiers
multimédias (MP3, images ou vidéos), les images de machines virtuelles et les fichiers de
sauvegarde.
18
OpenStack : Composants
▪ OpenStack Block Storage (cinder)
▪ Ce composant fournit un stockage de blocs persistant pour les instances de calcul.
▪ Il est responsable de la gestion du cycle de vie des périphériques de blocs, de la
création et de l'attachement des volumes aux instances jusqu'à leur publication.
▪ Il permet aux utilisateurs de se créer des volumes, sortes de disques durs externes
virtuels qu'ils peuvent attacher à une instance de machine virtuelle.
20
OpenStack : Composants
▪ OpenStack Identity (keystone)
▪ C’est un service partagé qui fournit des services d'authentification et d'autorisation
dans l'ensemble de l'infrastructure cloud.
▪ Ce service prend en charge plusieurs formes d'authentification enfichables.
▪ Il se base essentiellement sur trois « entités » : l'utilisateur, le rôle, et le projet
▪ La relation entre ces trois entités : un utilisateur a un certain rôle dans un certain projet.
21
OpenStack : Composants
▪ OpenStack Identity (keystone)
▪ Une ressource virtuelle (instance de machine, réseau, etc.) est associée soit à un projet,
soit à un couple utilisateur-projet
▪ Elle ne peut pas être associée directement à un utilisateur.
▪ Des jetons à usage limité dans le temps, générés par Keystone lors de l'authentification,
permettent d'identifier les utilisateurs et de vérifier leurs droits d'accès.
▪ Ces droits d'accès sont configurés dans des fichiers qui associent chaque action à des rôles..
22
OpenStack : Composants
▪ OpenStack Image (glance)
▪ Ce composant fournit des services de gestion d'images disque, y compris des services de
découverte, d'enregistrement et de livraison d'images au service de calcul, selon les
besoins.
▪ Il gère les images de machine virtuelle. Autrement dit les modèles qui servent à créer
des instances de machine virtuelle.
▪ Il permet de gérer et organiser un large catalogue d’images de machines virtuelles.
23
OpenStack : Composants
▪ OpenStack Metering Data Collection (Ceilometer)
▪ Cloud est un service mesurable. Cette mesure permet de facturer l'utilisation des
ressources selon un processus en trois étapes : mesure, classification, et facturation.
▪ Dans ce processus, Ceilometer assure uniquement la première étape qui est la mesure.
Il récolte régulièrement des données diverses pour une exploitation ultérieure (temps
processeur, mémoire, espace disque, etc.).
25
OpenStack : Composants
▪ Schéma conceptuel
26
OpenStack : Composants
27
OpenStack : Exemple de projet
▪ Architecture
▪ Ubuntu12.04 LTS
▪ Agrégations des NIC pour gain de FLAT DHCP
performance.
▪ Utilisation de Ceph pour un système de fichier
distribué.
▪ Stockage en mode block avec Cinder.
▪ Utilisation de VLANs fournie par le CISR.
▪ Architecture FLAT DHCP (un nœud contrôleur
et plusieurs nœuds de compute).
28
OpenStack : Exemple de projet
▪ Création de VM
29
OpenStack : Exemple de projet
▪ Création de VM
30