Les Composants d'OpenStack
Les Composants d'OpenStack
Les Composants d'OpenStack
1. Introduction :
Ce chapitre a pour objectif de présenter les différents composants ou modules
qui constituent le coeur de la plate-forme OpenStack : Keystone, Glance,
Neutron, Nova, Horizon, Cinder et Swift.
2. Définition :
OpenStack est avant tout un "framework cloud modulaire" permettant
l'implémentation d'une infrastructure IT scalable :
– Framework : c'est un ensemble de composants logiciels structurels,
permettant de créer des fondations d'infrastructure IT (exemples : des
machines virtuelles à base de modèles, des workloads applicatifs à base de
modèles, des processus d'extensibilité de machines virtuelles en fonction de
charge d'utilisation...).
– Cloud (sous-entendu cloud computing) : c'est le cœur même du domaine
abordé par OpenStack qui se distingue d'un logiciel classique d'hypervision
(vSphere/vCenter de VMware, RHEV/RHEV-M de RedHat, Hyper-V de
Microsoft...) en étendant les possibilités et donc les fonctionnalités.
– Modulaire : OpenStack est livré sous forme de modules logiciels qui
fournissent chacun séparément un ensemble de fonctionnalités. Tous les
modules dialoguent entre eux et s'échangent des messages via un bus de
messages.
Tous les modules ne sont pas obligatoirement nécessaires et le choix de
l'implémentation dépend du périmètre du projet cloud. Chaque module est
accessible via une librairie d'API REST (exemple : le module Swift permet un
accès par programmation pour pouvoir stocker des objets comme des
fichiers dans le cas d'un cloud storage).
3. Composants :
Les composants présentés ici sont matures et sont installables en production.
L'avant-dernière version appelée Juno, sortie le 16 octobre 2014, fournit pas
moins de onze composants en standard pour les services de base et les services
partagés (source : Wikipédia, http://fr.wikipedia.org/wiki/OpenStack).
3.1 Services de base :
– Service de dashboard (interface web de paramétrage et de gestion) : Horizon.
– Service de compute (coeur d'OpenStack) : Nova.
– Service de gestion des réseaux : Neutron (ex-Quantum).
– Service de stockage bloc : Cinder.
– Service de stockage objet : Swift.
Remarque :
Un composant particulier concerne du code partagé : il s'agit d'Oslo, qui peut
être vu comme un ensemble de librairies Python. Il n'offre pas de
fonctionnalités directement visibles à l'utilisateur comme les autres modules
mais permet aux composants OpenStack de fonctionner entre eux.
4. Architectures OpenStack :
4.1 Architecture logique :
D'un point de vue logique, OpenStack peut être représenté a minima avec trois
services : un bloc de compute, un bloc de Networking et un bloc de Storage. Ces
services utilisent un bus de communication pour communiquer entre eux. Ils
exposent publiquement leurs fonctionnalités via des API. Un dashboard permet de
se connecter aux services avec un portail présentant une IHM (interface homme-
machine).
Schéma d'architecture logique (source : http://www.openstack.org/software/)