Le Cloud Computing permet une optimisation des coûts de déploiement et de maintenance des applications. Grâce au cloud, chaque application peut être déployée et reconfigurée en l’espace de quelques minutes. La nécessité pour une application d’être en permanence à la juste taille afin que celle-ci maintienne continuellement une qualité de service suffisante, sans pour autant utiliser trop de ressources, requiert de mettre en place un mécanisme d'élasticité. L'état de l’art montre que les solutions actuelles de gestion de l’élasticité sont restreintes à des applications multi-tiers et limitent fortement les scénarios possibles. Le cloud est effectivement un paradigme jeune et les différents acteurs du marché ont rapidement cherché à offrir l’élasticité. Si l’élasticité ainsi proposée présente l’avantage indéniable d’être simple à mettre œuvre, celle-ci n’obéit pas aux besoins de nombreux utilisateurs.
Afin de repousser les limites actuelles de l’élasticité, les travaux présentés dans cette thèse proposent un outil de spécification de l’élasticité nommé Vulcan. A la fois simple et complet, Vulcan montre qu’il n’existe pas de corrélation entre la complétude de la solution et la complexité de son utilisation. Basé sur une approche autonomique, Vulcan apporte les contributions suivantes :
- un modèle d’applications élastiques : celui-ci permet de décrire selon un mode dit par intention, la façon dont l’application doit évoluer au cours des reconfigurations induites par l’élasticité. Le formalisme de ce modèle est à la base de la simplicité recherchée quant à l’utilisation de la solution.
- un algorithme de planification : cet algorithme permet la résolution des différents paramètres lors de l’élasticité tout en offrant une compréhension simple à l’utilisateur de Vulcan.
- un prototype qui met en œuvre l’ensemble des concepts proposés.
Reposant sur des principes à la fois novateurs mais également issus de solutions éprouvées, des expérimentations ont démontré tant les capacités d’intégration de Vulcan vis- à-vis de l’existant, que la viabilité des concepts proposés et le potentiel de l’approche. Il en ressort une solution générique, sans restriction quant aux applications gérées et qui repousse les limites actuelles en matière d’élasticité.
Mots-clés : informatique dans le nuage (cloud computing), élasticité, systèmes répartis, applications patrimoniales, planification, informatique autonome, modèle à composants.