Projet ANR-10-SEGI-0013 – Aeolus : Maîtriser la complexité du Cloud Computing
Programme : Systèmes embarqués et grandes infrastructures (ARPEGE) 2010
Année de financement : 2010
Coordinateur du projet : Monsieur Roberto DI COSMO (UNIVERSITE DE PARIS 7)
Partenaires : Laboratoire Informatique, Signaux Systèmes de Sophia Antipolis; Inria Centre Sophia Antipolis - Méditerranée; MANDRIVA; Institut de Recherche en Informatique Fondamentale
Montant : 911524.0 euros
Durée : 40 mois
Résumé : Le "cloud computing" est un concept émergent qui réunit  différentes techniques de virtualisation afin d'offrir des ressources de calcul à la demande. Il existe aujourd'hui un large consensus sur le fait que l'internet du futur  sera basé sur une technologie issue de ce concept. Toutefois sa mise en oeuvre effective exige la résolution de problèmes scientifiques difficiles.
Des offres de  ressources de calcul, flexibles et accessibles à la demande  sont déjà disponibles à différents degrés de maturités. Schématiquement, on peut distinguer :
1) l'IaaS (Infrastructure as a Service) qui fournit à la demande des machines virtuelles et des capacités de stockage. C'est un service stable et arrivé à maturité.
2) le PaaS (Platform as a Service) qui cherche à fournir un service plus complet, allant du support matériel jusqu'aux plateformes logicielles, permettant ainsi le développement d'applications dédiées. C'est une approche naissante non encore maîtrisée.
3) le SaaS (Software as a Service), la plus ancienne des offres,  qui fournit des applications spécifiques destinées le plus souvent à des clients légers tels que les navigateurs internet. C'est une approche maintenant classique qui repose sur une technologie maitrisée.
L'IaaS offre une grande flexibilité en autorisant la définition et le déploiement des  infrastructures propres de l'utilisateur sur des machines virtuelles louées; toutefois ceci implique une gestion et une administration, couteuse et complexifiée du système. Le PaaS voudrait libérer l'utilisateur des tâches complexes de gestions et d'administrations du système. Toutefois, ces problèmes sont simplement transférés au fournisseur de services qui doit transférer sur une plateforme spécifique  le développement des applications.
L'objectif principal du projet Aeolus est de s'attaquer aux problèmes scientifiques qui doivent être résolus pour réduire le gap entre les solutions  "Infrastructure as a Service" et les solutions "Platform as a Service". A terme, il s'agit  de faciliter  le développement d'outils et applications pour automatiser le déploiement, la reconfiguration ainsi que la mise à jour de fermes à taille variable d'ordinateurs hétérogènes. Ceci permettrait de réduire de manière significative les coûts des architectures distribuées et évolutives qui sont au coeur du Cloud, réduisant ainsi les coûts de maintenance des fournisseurs de services PaaS, et  facilitant  le développement d'applications sophistiquées pour les utilisateurs d'IaaS.
Plus précisément dans le cadre du projet Aeolus nous proposons d'étudier les problèmes suivants :
1) Conception d'une représentation abstraite de ces systèmes décrivant les logiciels installés sur chaque machine virtuelle ainsi que les dépendances dynamiques entre logiciels, machines et services;
2) Conception d'un langage efficace et de haut niveau de requêtes permettant d'exprimer des demandes sophistiquées de reconfiguration d'une ferme de machines virtuelles;
3) Définition d'algorithmes et de techniques de résolution capables de répondre efficacement aux requêtes de reconfiguration et de les traduire en plans d'action de reconfiguration proches de ceux utilisés par les boites à outils classiques de déploiements de logiciels.
En résumé, le projet Aeolus s'appuiera sur des méthodes formelles issues de la conception des langages, de la théorie de la concurrence et de l'optimisation pour développer des connaissances scientifiques nécessaires à la maitrise de la complexité de l'infrastructure logicielle qui doit être déployée sur une ferme de machines, hétérogènes et distribuées, évoluant de manière dynamique, pour permettre le développement  homogène de services évolutifs  qui sont au coeur de l'Internet du futur.