La proposition d’une nouvelle solution pour le cloud computing privé a fait l’objet de cette étude. Cette solution vise principalement à intégrer un fonctionnement distribué dans la supervision des hôtes fournissant les services aux utilisateurs. La motivation d’une telle solution a été nourrie par l’absence radicale d’une solution adoptant une telle approche dans le domaine du cloud privé.
Bien que notre solution soit très jeune dans le domaine du cloud computing, elle intègre les fonctionnalités telles que le démarrage, l’arrêt et la migration de machines virtuelles via deux interfaces : une interface CLI (Command Line Interface) et une interface Web. Le système permet également l’accès à distance aux machines virtuelles et hôtes du réseau en employant le protocole VNC. La solution supporte la tolérance aux pannes en procédant à l’élection de différents nœuds du réseau dont les rôles sont définis par les valeurs respectives de privilège qu’ils portent. Cette fonctionnalité permet au cloud controller du réseau de répliquer de façon dynamique les services livrés aux utilisateurs sur le nouveau CC élu. Ainsi, celui-ci pourra reprendre les tâches et fonctions du CLC en cas de panne de ce dernier. De même un cluster controller qui tombe en panne est automatiquement remplacé par le node controller élu pour sa supervision.
L’objectif principal de ce travail étant la proposition d’une nouvelle solution basée sur un algorithme de supervision distribué, la question de la création de machines virtuelles à partir de modèles d’images préexistantes n’a pas été abordée. Cette méthode, disponible dans les solutions d’Eucalyptus et d’OpenNebula, permet la création dynamique de machines virtuelles dans le réseau avec la possibilité d’employer le DHCP(36) pour la configuration du réseau à leur niveau. De même, le système de gestion de base de données (HSQLDB) utilisé dans notre solution demeure minimal.
Elle offre cependant une portabilité intéressante qui permet son intégration facile dans les applications mobiles. Nous l’avons surtout employé pour tester notre système et permettre un déploiement rapide de la solution sur un ensemble d’hôtes du réseau local. Il est possible d’étendre la solution en employant des SGBD beaucoup plus évolués tels que MySQL comme il est utilisé dans le système de cloud privé d’OpenNebula. La modularité adoptée dans l’implémentation de notre solution faciliterait son évolution.
Concernant les questions de l’utilisation de notre solution pour le cloud privé, les fonctionnalités actuelles permettraient son emploi en privé dans un réseau local pour les opérations comme le test d’applications en offrant de façon dynamique des machines virtuelles à différents utilisateurs. Le protocole d’accès à distance VNC utilisé permettrait d’accéder à ces machines pour le travail. En termes de sécurité, l’accès au système est subordonné à une authentification par un couple identifiant et mot de passe.
Il est également possible d’étendre la solution pour le support d’autres systèmes de virtualisation tels que KVM, VMware ou VirtualBox afin d’offrir des services beaucoup plus complets. L’utilisation de libvirt(37) pourrait permettre la compatibilité de la solution avec ces systèmes de virtualisation.
Il s’agit d’une API compatible à plusieurs systèmes de virtualisation fournissant une couche d’abstraction des commandes spécifiques à chacun d’eux.
36 Dynamic Host Configuration Protocol : protocole réseau qui permet la configuration automatique des paramètres réseau d’une station.
37 http://libvirt.org/ consulté le 20/10/2012