• Aucun résultat trouvé

L’un des premiers avantages de migrer des processus d’entreprise vers le Cloud Com-puting est d’assurer la montée en charge en temps réel. Effectivement, contrairement par exemple aux grilles de calcul, l’approvisionnement en ressources dans le cadre du Cloud Computing permet la variation du type et de la quantité des ressources à utiliser pour l’exécution des processus en question. Autrement dit, lorsque l’on utilise des ressources déployées dans le Cloud Computing, il est possible d’augmenter ou de diminuer des res-sources en fonction des besoins des processus à exécuter. Par conséquent, ce paradigme

permet aux systèmes de gestion de workflows de satisfaire au mieux les clients en assurant ainsi un niveau de qualité de service que les fournisseurs s’engagent à respecter. En effet, dans le but d’assurer un niveau de qualité de service, un contrat de service (SLA, Service Level Agreement )10[158] [159] [160] [161] est généralement négocié entre le fournisseur de services et le client.

Les propriétés d’élasticité et d’illusion de ressources infinies qu’offre le Cloud compu-ting sont deux des aspects les plus prometteurs de ce paradigme. Elles permettent aux entreprises de louer et de libérer des ressources en fonction des besoins de leurs applica-tions. Ceci, sans se soucier ni de la gestion de l’infrastructure utilisée ni de la mise à jour, par exemple, des outils utilisés.

Cependant, malgré les nombreux avantages prouvés d’utiliser une infrastructure du type Cloud computing, l’utilisateur reste confronté à de nombreux problèmes majeurs qui peuvent compromettre le succès de ce type de solution, par exemple la difficulté du choix du meilleur fournisseur parmi un ensemble de fournisseurs possibles [128][129][130][131][132][135]. Cette difficulté s’accroit lorsque l’on considère plusieurs critères de qualité de service sou-vent conflictuels. De plus, pour exécuter une tâche donnée d’un processus plusieurs offres sont disponibles et de plus en plus nombreuses. En effet, avec l’émergence de la technologie Cloud , tous les « géants » de l’informatique tels que Amazon, Microsoft, IBM, ... se sont mis à proposer des offres diverses et variées. Les offres disponibles sur le marché ont des modèles économiques (Business Model ) différents. D’autre part, l’utilisation de ressources dans le Cloud telles que les machines virtuelles engendrent de nouveaux coûts tels que le coût d’exécution, le coût de transfert, le coût d’ouverture d’une nouvelle machine virtuelle dont le mode de calcul dépend du modèle économique utilisé par le fournisseur de service sollicité. Les temps d’exécution aussi sont différents selon les performances des ressources choisies. Tous ces paramètres nous conduisent à la question de recherche à laquelle nous nous sommes intéressées, à savoir :

« Quelle est la meilleure sélection ou composition de ressources (machines virtuelles et humaines) pour l’exécution d’un processus dans le Cloud ? »

En outre, nous avons constaté qu’il existe des besoins différents selon le type de pro-cessus considéré : (1) propro-cessus scientifique et (2) propro-cessus métier . En effet, lorsque l’on exécute le premier type de processus, généralement une seule instance est considérée à la fois et toutes les tâches sont automatisées. Par contre, lorsque le deuxième type de

10. Le SLA est un document qui définit la qualité de service requise entre le fournisseur d’un service et son(ses) utilisateur(s)

processus est considéré, il est rare d’en exécuter qu’une seule instance et d’automatiser toutes les tâches qui le composent. Autrement dit, il convient pour ce type de proces-sus de distinguer deux types de ressources : (1) ressources humaines et (2) ressources informatiques (machines virtuelles). D’autre part, il convient d’étudier le cas où plusieurs instances accèdent de manière concurrente à un ensemble de ressources.

Dans cette thèse, nous nous sommes donc intéressés au guidage des choix des res-sources à utiliser pour l’exécution des workflows, tout en prenant en compte deux critères de qualité de service : (i) le temps d’exécution et (ii) le coût engendré par l’utilisation d’un ensemble de ressources. Le cadre de l’analyse est celui des workflows et l’approche utilisée est celle de l’optimisation bi-objectives. Ce problème n’a pas laissé la communauté des grilles de calcul indifférente et plusieurs solutions ont été proposées notamment pour la minimisation du temps d’exécution d’un processus donné. Cependant, ces approches s’appliquent à un nombre borné de ressources. Elles ne sont donc pas optimales dans le cadre du Cloud pour les raisons mentionnées précédemment. Il est semble alors plus judi-cieux : (i) de supposer que le nombre de ressources mises à la disposition des utilisateurs sont infinies et (ii) de prendre en compte, en plus du temps d’exécution, le critère du coût d’exécution étant donné que le modèle économique du Cloud computing est basé sur « payer en fonction de la consommation réelle ». Par ailleurs, le problème d’ordonnance-ment des tâches liées par des contraintes de précédence, que ce soit sous sa forme générale ou dans de nombreux cas particuliers, appartient à la classe de problèmes NP-complet. Il est plus raisonnable dans ce cas de proposer des algorithmes (heuristiques) efficaces que de proposer des algorithmes exacts.

Nos travaux de recherche s’inscrivent dans cette dernière optique. Autrement dit, ils portent sur la conception d’algorithmes d’allocation de ressources tout en prenant en compte les spécificités du Cloud pour répondre aux besoins des systèmes de workflows. Plus précisément, nous avons proposé trois approches multi-critères complémentaires pour la gestion des ressources dans un environnement de Cloud, en tenant compte de deux critères de qualité de service : (i) temps d’exécution et (ii) coût d’exécution.

Pour récapituler, l’objectif de cette thèse est de proposer un modèle pour une uti-lisation optimisée des ressources déployées dans le cadre du Cloud Computing. Ainsi la thèse tentera de répondre aux questions suivantes en ce qui concerne la modélisation et la gestion optimisée des ressources pour l’exécution des processus scientifiques et métiers :

1. Comment prendre en compte le modèle économique du Cloud ?

res-sources infinies » et l’élasticité ?

3. Quelle est la meilleure approche à utiliser pour la résolution des problèmes d’allo-cation des ressources et d’ordonnancement des tâches des processus ?

4. Les approches proposées dans le cadre des grilles de calcul sont-elles adaptées dans le cadre du Cloud Computing ?

5. Comment doit-on gérer le fait que plusieurs instances d’un processus métier peuvent avoir accès de manière concurrente à un ensemble de ressources ?

6. Que devient la notion d’équité lorsque plusieurs critères d’optimisation sont pris en compte ?

La question centrale, sur l’ordonnancement des tâches d’un processus en utilisant des ressources hétérogènes, à laquelle nous nous sommes intéressés n’a pas laissé la commu-nauté des grilles de calcul indifférente. Plusieurs études apportent une réponse satisfaisante quant à l’utilisation optimisée des ces ressources. Cependant, comme mentionné précédem-ment, les approches proposées ne sont pas adaptées au contexte du Cloud . Pour pallier leurs insuffisances, les travaux présentés dans cette thèse visent répondre aux questions, interdépendantes listées ci-dessus.