• Aucun résultat trouvé

6.7 Conclusion

Le déploiement de services dans le Cloud Computing a besoin des opérations de sélection et de compositions de services. Pour cette raison, nous avons besoin de composer une liste de services qui peut répondre aux exigences de l’utilisateur. Puisqu’il existe un nombre très impor- tant de services déployés dans le Cloud avec des qualités de services différentes, le problème en main est devenu très complexes. En outre, chaque fournisseur de service utilise son propre mo- dèle de description de service dans le Cloud, cela rend la tâche de découverte de services plus difficile. Afin d’éviter ce problème, dans ce travail, nous avons défini un modèle de description de service qui peut réduire le nombre de services candidats.

Comme nous avons mentionné précédemment, la solution proposée représentée par une architecture multi-agents afin de résoudre le problème de composition. Lorsqu’on a plusieurs QoS pour décrire un service, ce travail transforme le problème comme un problème multi- objectifs. Par l’utilisation d’un algorithme évolutionnaire, on cherche toujours à l’optimum local sans explorer tout l’espace de recherche, de plus, nous avons utilisé NPGA afin de réduire le cal- cul lors de l’exécution de l’algorithme. Comme nous avons vu dans la dernière section, nous avons utilisé deux mesures pour déterminer la solution qui peut donner la meilleur composi- tion.

Résultats Expérimentaux et Discussions

7.1 Introduction

Dans le processus du développement, l’implémentation d’un logiciel vient après un enchai- nement de plusieurs étapes et son but principal est de réaliser un produit capable de résoudre les problèmes posés en utilisant des outils et des algorithmes.

Dans le but de réaliser et valider les idées proposées dans les chapitres 5 et 6, le présent chapitre montre les outils et les configurations utilisées afin de développer ce système.

Dans ce chapitre nous allons présenter les outils et les plateformes utilisés pour développer notre approche. Ensuite, nous présentons quelques interfaces qui montrent les résultats obte- nus. Puis, nous présentons une discussion sur les résultats pour chaque évaluation.

7.2 Outils et Plateformes Utilisées

Dans cette section, nous allons présenter les plateformes utilisées afin de réaliser notre sys- tème. Les approches proposées dans notre travail sont implémentées sur un ordinateur de pro- cesseur Core I3 avec une RAM de 8 Go sous Windows 7, mais on peut implémenter ce système sur n’importe quelle machine grâce à la machine virtuelle du Java. Pour développer les agents, nous avons utilisés la plateforme JADE, grâce aux avantages du cette dernière qui nous offre un langage de communication entre les agents en utilisant le FIPA-ACL. Afin de simuler les idées proposées, nous avons utilisé la plateforme CloudSim pour simuler les ressources virtuelles ainsi que les tâches réalisées dans notre système.

7.2.1 Simulateur Cloud

Afin de développer et exécuter une application dans le Cloud qui représente un problème aux développeurs, puisque les frais des tests sur un environnement Cloud réel comme Amazon EC2 sont très élevés, et pour éviter cette limite, nous avons utilisé des simulations pour l’évalua- tion de notre approche.

Un simulateur Cloud est un outil qui permet aux développeurs d’utiliser des centres de données avec des serveurs de base et des matériaux informatiques qui sont des processeurs, Disque dur, RAM. Ces éléments sont mis dans le but d’assurer le bon fonctionnement du système afin de simuler la création et la distribution de tâches sur des machines virtuelles.

Pour valider les idées présentées dans les chapitres précédents, nous avons utilisé le simulateur CloudSim.

Plateforme Cloudsim

Cloudsim est un outil qui offre aux développeurs un moyen pour modéliser, simuler et réali- ser des expérimentations dans le but de créer une infrastructure Cloud. Cette plateforme permet également aux développeurs de tester leurs services et leurs applications Cloud, sans s’inquiéter avec les détails de bas niveau liés aux infrastructures Cloud [81].

Les principales fonctionnalités de Cloudsim sont [99][104] :

– Supporter la modélisation et la simulation des centres de données Cloud à grandes échelles. – Supporter la modélisation et la simulation des serveurs virtuels d’hébergement d’applica-

tion, avec la possibilité de personnaliser la politique de fourniture des ressources d’héber- gements aux machines virtuelles.

– Supporter la modélisation et la simulation de ressources virtuelles et logiques pour des tests et assurer l’optimisation de la consommation d’énergie sur le Cloud.

– Supporter la modélisation et la simulation des différentes topologies réseaux, centres de données et l’échange de messages entre applications Cloud.

– Supporter la modélisation et la simulation des systèmes Cloud fédérés.

– Supporter l’insertion dynamique de nouveaux éléments de simulation, avec des capacités d’arrêt et de reprise de simulation.

virtuelles, et tout type et politique d’allocation de ressources pour l’hébergement d’appli- cation et de services Cloud.

CloudAnalyst

Dans le cloud, le problème de localisation représente un problème dans le processus de re- cherche des services. Pour cette raison, l’intégration de la localisation géographique des centres de données est une tâche très importante afin d’évaluer l’efficacité des services Cloud. Malheu- reusement, le simulateur Cloudsim ne peut pas assurer l’opération de calculer la distance entre les centres de données et leurs clients qui vont affecter les résultats finaux. CloudAnalys est un outil de simulation qui permet aux développeurs d’exécuter et de tester les différentes simula- tions de façon reproductible, en prenant en considération les différents paramètres suscités.

CloudAnalys facilite l’interaction et l’utilisation avec les utilisateurs à travers une interface utilisateur graphique (GUI) (voir figure 7.1). De plus, cette interface permet aux développeurs de mettre en place des expériences de façon rapide et simple. En outre, CloudAnalyst permet de séparer entre l’aspect simulation et l’aspect programmation lors du développement des pa- ramètres de chaque expérimentation. Grâce à ces avantages, ce simulateur donne aux dévelop- peurs la possibilité de se concentrer sur la complexité de la simulation au lieu de perdre son temps sur les aspects techniques de la programmation à l’aide d’un Toolkit de simulation [136].