Brevet FR3023946A1 — publié le 20160122

Système et procédé de management dynamique de machines virtuelles dans un environnement informatique en nuage La présente invention concerne un système de management dynamique de machines virtuelles dans un environnement informatique en nuage, ainsi qu'un procédé correspondant. Elle trouve notamment une application à la gestion optimisée du placement de machines virtuelles sur des serveurs dans cet environnement, et du déplacement de telles machines virtuelles d'un serveur vers un autre dans cet environnement dans le but de consolider l'infrastructure physique. Un environnement informatique en nuage, ou « cloud », est une infrastructure informatique regroupant un certain nombre de moyens de calcul et de moyens de stockage de données, dans des centres de données ou « data centers », qui sont répartis géographiquement et interconnectés. Ces derniers sont partagés par plusieurs utilisateurs et « tenants ». Ces centres de données comprennent chacun un ou plusieurs serveurs incluant leurs propres ressources, dont des moyens de calcul propres et des moyens de stockage de données propres. Ces serveurs accueillent des environnements virtualisés d'exécution d'applications, et de services, le plus souvent identifiés par des machines virtuelles. A chacune de ces machines virtuelles sont allouées, pour l'exécution des applications ou services concernés, des ressources propres, notamment une partie des moyens de calcul et de stockage du serveur sur lequel elles sont hébergées. Ces machines virtuelles constituent en quelque sorte des sous-systèmes d'exploitation installés dans le système d'exploitation du serveur qui les héberge. Un environnement de type « cloud » (informatique en nuage) est géré par un fournisseur qui utilise un système informatique de gestion, qui peut lui-même être hébergé sur l'un des serveurs de l'environnement, ou sur un serveur dédié de cet environnement, notamment pour gérer le placement de ces machines virtuelles. L'utilisation d'un tel environnement informatique présente pour un utilisateur l'avantage notamment d'éviter des investissements importants en ressources informatiques, grâce à des services dimensionnés en fonction du besoin ponctuel en ressources et dont le coût refacturé par le fournisseur à l'utilisateur est donc fonction de l'utilisation effective et sur mesure des ressources. Du point de vue du gestionnaire d'un tel environnement informatique en nuage, il est nécessaire de disposer de moyens efficaces pour réduire les coûts opérationnels, la consommation d'énergie, les coûts de maintenance et de configuration. Du point de vue de l'utilisateur final des services « cloud », il est nécessaire de réduire les frais et coûts des services prérequis ou demandés. Par ailleurs, on définit généralement des règles de gestion visant à maintenir un certain niveau de qualité de services offert aux utilisateurs. Pour faire en sorte que ces règles soient respectées, ou violées le moins souvent possible, on est confronté à de nombreux problèmes d'optimisation. On cherche ainsi à mieux exploiter les ressources virtualisées dans le but d'atteindre des revenus plus élevés, du point de vue des fournisseurs, tout en satisfaisant les exigences des utilisateurs avec des violations négligeables des règles fixées pour le niveau de service fourni (SLA pour « Service Level Agreements »). Il est donc important de gérer le placement des machines virtuelles sur les différents serveurs disponibles de la façon la plus optimales, notamment en automatisant l'allocation dynamique des ressources aux différentes machines virtuelles en temps réel. Les demandes des utilisateurs prennent la forme de machines virtuelles, tel qu'expliqué ci-dessus, ou noeuds virtuels, destinées à encapsuler des applications et des services. On cherche à héberger (placer) l'ensemble des machines virtuelles sur un nombre minimum de serveurs physiques, dans le but de réduire la consommation énergétique ainsi que tous les coûts opérationnels associés. Cette problématique est considérée comme un problème de type « NP-difficile » en termes de complexité algorithmique. Il est également nécessaire d'optimiser les processus de consolidation des machines virtuelles en cours d'exécution, pour réduire le coût global, tout en rendant l'ensemble de l'infrastructure plus performant, ce qui constitue deux objectifs contradictoires. Généralement, lorsqu'une nouvelle requête de placement d'un ou plusieurs nouvelles machines virtuelles arrive dans le système, ces machines virtuelles sont placées sur certains serveurs disponibles, en respectant certaines règles et en recherchant un certain degré d'optimisation, sans prendre en compte les ressources utilisées par les machines virtuelles en cours d'exécution sur les différents serveurs. Ensuite, par exemple à intervalles réguliers, une consolidation est mise en oeuvre sur l'ensemble des machines virtuelles hébergées sur les serveurs à un moment donné, visant là encore à optimiser l'utilisation des ressources. En effet, il est nécessaire de mettre à jour régulièrement le placement des machines virtuelles sur les différents serveurs, pour que ce placement reste optimal, par exemple pour prendre en compte le départ d'une machine virtuelle qui quitte un serveur, par exemple dans le cas d'une machine virtuelle à durée d'exécution limitée. Cette consolidation est également nécessaire pour minimiser les coûts d'hébergement, la consommation d'énergie et les coûts d'exploitation. Le placement des nouvelles machines virtuelles et la consolidation de l'ensemble des machines virtuelles hébergées dans l'infrastructure, sont donc traités séparément. Cela génère ce que l'on appelle l'effet "ping-pong" : une première machine virtuelle est hébergée sur un premier serveur, puis sur un autre serveur suite à consolidation périodique, puis une nouvelle machine virtuelle est placée sur l'un des serveurs, et la première machine virtuelle revient sur le premier serveur suite à la consolidation périodique suivante. Par ailleurs, compte tenu de la complexité algorithmique du problème d'optimisation mentionné plus haut, il est difficile d'obtenir systématiquement la solution optimale en temps réel, ce qui conduit à utiliser des solutions de type heuristique plutôt que des solutions exactes, et donc qui conduit à un gaspillage de ressources. Le problème de placement des machines virtuelles consiste donc à accueillir de manière optimale toutes les machines virtuelles, sur les serveurs les plus appropriés pour réduire efficacement la consommation d'énergie et les coûts d'hébergement au même temps. On connait des systèmes qui utilisent des approches donnant des solutions approximatives, tels que dans mvw.vmware.comtproducts/vsphere ou dans Q. Zhang, Q. Zhu, M.F. Zhani, and R. Boutaba, « Dynamic service placement in geographocally distributed clouds », in ICDCS, pages 562-535, 2012. Dans ce type d'approche, on réalise tout d'abord une analyse de marché pour déterminer une prévision de la demande sur chaque type de marché, puis une programmation dynamique qui alloue des ressources spécifiques à chaque type de marché afin de maximiser le revenu total. Une autre recherche de solution approximative est proposée dans G. D'osa, « The tight bound of first fit decreasing bin-packing algorithm is ffd(i) Dans la solution VMware © mentionnée plus haut, les ressources sont allouées de manière heuristique. Cette solution est basée sur l'approche dite du « First-Fit Decreasing », combinée avec un mécanisme de migration en tandem. Concernant la consolidation du placement des machines virtuelles en cours d'hébergement sur les différents serveurs de l'infrastructure, l'une des principales référence est la publication O.S. Murtazaev, A. Sercon, « Server consolidation algorithm using live migration of virtual machines for green computing », in ietejournals, 2011. Dans cette approche, on cherche à minimiser simultanément le nombre de serveurs et les migrations utilisés, pour réaliser la consolidation. Comme cette approche est de type heuristique, elle ne permet pas toujours de trouver la solution optimale, ce qui conduit à l'utilisation inefficace des ressources. Une autre référence traitant de la consolidation peut être trouvée dans M. Sedaghat et al. « A virtual machine repacking approach to the horizontal vs. vertical elasticity tradeoff for cloud autoscaling », in CAC 2013. Dans cette publication, on compare l'automatisation de l'élasticité horizontale par rapport à l'élasticité verticale dans les environnements en nuage. Le compromis prix-performances est analysé par rapport à la taille des machines virtuelles, afin de pouvoir traiter des charges croissantes. L'approche de consolidation est combinée avec des stratégies mise à l'échelle, et une réduction du coût total de l'utilisation des ressources est obtenue. Cette approche reste néanmoins basée sur un ensemble de paramètres choisis de manière heuristique, conduisant donc là encore à des solutions sous-optimales. Par conséquent, outre le problème de l'effet ping-pong mentionné plus haut, les solutions connues d'optimisation du placement des machines virtuelles sur les serveurs d'un environnement informatique en nuage, sont toutes élaborées sur des approches heuristiques et ne permettent donc pas d'atteindre le placement optimal. L'approche de type heuristique conduit à une utilisation inefficace des ressources de l'infrastructure, avec des serveurs qui peuvent rester inactifs et des ressources qui sont donc gaspillées. Un des buts de l'invention est donc de résoudre les problèmes précités. Ainsi, l'invention a notamment pour objectif de proposer un dispositif qui permette de gérer de façon optimale l'arrivée de nouvelles machines virtuelles en les plaçant de façon à réduire les coûts d'hébergement et les coûts de migration d'une machine virtuelle d'un serveur vers un autre. Ainsi, l'invention a pour objet, selon un premier aspect, un système de management dynamique de machines virtuelles, dans un environnement informatique en nuage comportant plusieurs serveurs chacun apte à héberger une ou plusieurs machines virtuelles, le système étant apte à recevoir une requête de placement sur tout ou partie des serveurs de N nouvelles machines virtuelles, avec N>_1, et comprenant un module de détermination 2 apte à déterminer un plan de placement des N nouvelles machines virtuelles sur tout ou partie des serveurs, et un module de placement apte à placer une nouvelle machine virtuelle sur l'un des serveurs et à déplacer une machine virtuelle de l'un des serveurs vers un autre des serveurs. Le module de détermination est apte à déterminer : un plan de placement général des N nouvelles machines virtuelles et de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, qui comprend le plan de placement des N nouvelles machines virtuelles sur tout ou partie des serveurs combiné avec un plan de déplacement de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, et un coût de ce plan de placement général, le plan de placement des N nouvelles machines virtuelles sur tout ou partie des serveurs indépendant, sans plan de déplacement de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, et un coût de ce plan de placement indépendant, un plan de déplacement général des N nouvelles machines virtuelles et de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, qui comprend le déplacement de l'ensemble des machines virtuelles incluant les N nouvelles machines virtuelles placées selon le plan de déplacement indépendant, et un coût de ce plan de déplacement général, et à comparer le coût du plan placement général avec la somme du coût du plan de placement indépendant et du coût du plan de déplacement général, et en ce que le module de placement est apte à mettre en oeuvre le plan de placement général, ou le plan de placement indépendant puis le plan de déplacement général, en fonction du résultat de la comparaison. Suivant certains modes de réalisation, le système comprend en outre une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - le module de détermination est apte à déterminer le plan de placement général qui minimise la fonction de coût suivante sur tous les plans de placement possibles, pour l'ensemble des machines virtuelles comprenant les machine virtuelles déjà hébergées sur tout ou partie des serveurs et les N nouvelles machines virtuelles, et pour l'ensemble des serveurs : Zgen (i,.i) avec -1-11,j : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R 1,j : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles (VM,), - u 1,j = 0, si la machine virtuelle VIVliest déjà hébergée sur le serveur Sj et 1 sinon, - x11,1= 1, si le plan de placement en question (x1,1) comprend le placement de la machine virtuelle VIVlisur le serveur Sj, et 0 sinon, de sorte que le coût du plan de placement général déterminé par le module de détermination est égal à min(Z ). (x,, j) gen - le module de détermination est apte à déterminer le plan de placement indépendant qui minimise la fonction de coût suivante sur tous les plans de placement possibles, pour l'ensemble des N nouvelles machines virtuelles, et pour l'ensemble des serveurs : Zind = n,iX2n,j avec - H : coût de l'hébergement de la machine virtuelle VM, sur le serveur Si, - X2n, = 1, si le plan de placement en question comprend le placement de virtuelle VM, sur le serveur Sj, et 0 sinon, de sorte que le coût du plan de placement indépendant déterminé par le détermination (2) est égal à min(Zm d) . (x ) - le module de détermination est apte à déterminer le plan de déplacement général (x21,1) qui minimise la fonction de coût suivante sur tous les plans de déplacement possibles, pour l'ensemble des machines virtuelles hébergées sur tout ou partie des serveurs, et pour l'ensemble des serveurs : Zdgen=I(11i,j + Ru avec -1-11,j : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R 1,j : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles, - u 1,j = 0, si la machine virtuelle VIVliest déjà hébergée sur le serveur Sj et 1 sinon, la machine module de - X21, j = 1, si le plan de placement en question comprend le placement de la machine virtuelle VIVlisur le serveur Sj, et 0 sinon, de sorte que le coût du plan de déplacement général déterminé par le module de détermination est égal à minkd ). gen (x - le système comprend des moyens de stockage dans lesquels est stockée la cartographie du placement courant des machines virtuelles sur tout ou partie des serveurs, et le module de détermination est apte à modifier la cartographie stockée dans les moyens de stockage en fonction du plan de placement général, ou du plan de placement indépendant et du plan de déplacement général, selon le résultat de la comparaison. - le système est apte à contrôler le nombre de serveurs surutilisés dont les ressources disponibles, telles que les moyens de calculs ou la mémoire, se trouvent en dessous d'un seuil donné, et le module de détermination est apte à déterminer le plan de placement général, ou le plan de placement indépendant et le plan de déplacement général, en sorte que le nombre de serveurs surutilisés soit inférieur ou égal à un nombre de serveurs donné ; - le module de détermination est apte à déterminer le plan de placement général, ou le plan de placement indépendant et le plan de déplacement général, en sorte que le nombre de serveurs surutilisés soit égal à zéro lorsque, d'une part le nombre N de nouvelles machines virtuelles à placer sur tout ou partie des serveurs plus le nombre des machines virtuelles déjà hébergées sur tout ou partie des serveurs est inférieur à un nombre de machines virtuelles donné, et d'autre part l'environnement comprend un nombre de serveurs inférieur à un nombre de serveurs donné, et en sorte que le nombre de serveurs surutilisés soit supérieur ou égal à zéro lorsque, d'une part ledit nombre N de nouvelles machines virtuelles plus le nombre des machines virtuelles déjà hébergées sur tout ou partie des serveurs est supérieur ou égal à un nombre de machines virtuelles donné, et d'autre part l'environnement comprend un nombre de serveurs supérieur ou égal à un nombre de serveurs donné ; - le système comprend une zone de stockage d'un historique d'un nombre donné de plans de placement (x1,1) et/ou de déplacement déterminés par le module de détermination, et le module de détermination est apte à déterminer le plan de placement général, ou le plan de placement indépendant et le plan de déplacement général, en prenant en compte l'historique stocké dans la zone de stockage. L'invention concerne également, selon un deuxième aspect, un procédé de management dynamique de machines virtuelles, dans un environnement informatique en nuage comportant plusieurs serveurs chacun apte à héberger une ou plusieurs machines virtuelles, le procédé comprenant la détermination, par un module de détermination, d'un plan de placement de N nouvelles machines virtuelles, avec Nkl, sur tout ou partie des serveurs, et le placement et/ou déplacement, par un module de placement, d'au moins une nouvelle machine virtuelle sur l'un des serveurs, respectivement et/ou d'au moins une machine virtuelle depuis l'un des serveurs vers l'autre des serveurs. Le procédé comprend également la détermination, par le module de détermination : d'un plan de placement général des N nouvelles machines virtuelles et de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, qui comprend le plan de placement des N nouvelles machines virtuelles sur tout ou partie des serveurs combiné avec un plan de déplacement de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, et d'un coût de ce plan de placement général, du plan de placement des N nouvelles machines virtuelles sur tout ou partie des serveurs indépendant, sans plan de déplacement de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, et du coût de ce plan de placement indépendant, d'un plan de déplacement général des N nouvelles machines virtuelles et de tout ou partie des machines virtuelles déjà hébergées sur tout ou partie des serveurs, qui comprend le déplacement de l'ensemble des machines virtuelles incluant les N nouvelles machines virtuelles placées selon le plan de déplacement indépendant, et d'un coût de ce plan de déplacement général, la comparaison, par le module de détermination, du coût du plan placement général avec la somme du coût du plan de placement indépendant et du coût du plan de déplacement général, et la mise en oeuvre, par le module de placement, du plan de placement général, ou du plan de placement indépendant puis du plan de déplacement général, en fonction du résultat de la comparaison. Suivant certains modes de mise en oeuvre, le système comprend en outre une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - la détermination du plan de placement général, par le module de détermination, détermine le plan de placement qui minimise la fonction de coût suivante sur tous les plans de placement possibles, pour l'ensemble des machines virtuelles comprenant les machines virtuelles déjà hébergées sur tout ou partie des serveurs et les N nouvelles machines virtuelles, et pour l'ensemble des serveurs : Zgen=I(Hi + R 1 avec -1-11,i : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, - Ri, = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles, - u = 0, si la machine virtuelle VIVliest déjà hébergée sur le serveur Si et 1 sinon, - xli, = 1, si le plan de placement en question comprend le placement de la machine virtuelle VIVlisur le serveur Si, et 0 sinon, de sorte que le coût du plan de déplacement général déterminé par le module de détermination est égal à min(Z ). (x,j) dgen - la détermination du plan de placement indépendant, par le module de détermination, détermine la plan de placement qui minimise la fonction de coût suivante sur tous les plans de placement possibles, pour l'ensemble des N nouvelles machines virtuelles, et pour l'ensemble des serveurs : Zind =II n iX2n,j avec - H : coût de l'hébergement de la machine virtuelle VM, sur le serveur Si, - X2n, j = 1, si le plan de placement en question comprend le placement de la machine virtuelle VM, sur le serveur Si, et 0 sinon, de sorte que le coût du plan de placement indépendant déterminé par le module de détermination est égal à min(Zm d). (x ) - la détermination du plan de déplacement général, le module de détermination, détermine le plan de déplacement qui minimise la fonction de coût suivante sur tous les plans de déplacement possibles, pour l'ensemble des machines virtuelles hébergées sur tout ou partie des serveurs, et pour l'ensemble des serveurs : Zdgen =1( H i, +R (i,l) avec -1-11,i : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, - Ri, = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles, - ui,j = 0, si la machine virtuelle VIVliest déjà hébergée sur le serveur Sj et 1 sinon, - X21, j = 1, si le plan de placement en question comprend le placement de la machine virtuelle VIVlisur le serveur Sj, et 0 sinon, de sorte que le coût du plan de déplacement général déterminé par le module de détermination est égal à minkd ). (x ,) gen - la cartographie du placement courant des machines virtuelles sur tout ou partie des serveurs est stockée dans des moyens de stockage, et cette cartographie est modifiée en fonction du plan de placement général, ou du plan de placement indépendant et du plan de déplacement général, selon le résultat de la comparaison ; - le nombre de serveurs surutilisés dont les ressources disponibles, telles que les moyens de calculs ou la mémoire, se trouvent en dessous d'un seuil donné, est contrôlé, et la détermination du plan de placement général, ou du plan de placement indépendant et du plan de déplacement général, est réalisée en sorte que le nombre de serveurs surutilisés soit inférieur ou égal à un nombre de serveurs donné ; - la détermination du plan de placement général, ou du plan de placement indépendant et du plan de déplacement général, est réalisée en sorte que le nombre de serveurs surutilisés soit égal à zéro lorsque, d'une part le nombre N de nouvelles machines virtuelles à placer sur tout ou partie des serveurs (S1) plus le nombre des machines virtuelles déjà hébergées sur tout ou partie des serveurs (S1) est inférieur à un nombre de machines virtuelles donné, et d'autre part l'environnement (1) comprend un nombre de serveurs inférieur à un nombre de serveurs donné, et en sorte que le nombre de serveurs surutilisés soit supérieur ou égal à zéro lorsque, d'une part ledit nombre N de nouvelles machines virtuelles plus le nombre des machines virtuelles déjà hébergées sur tout ou partie des serveurs est supérieur ou égal à un nombre de machines virtuelles donné, et d'autre part l'environnement comprend un nombre de serveurs supérieur ou égal à un nombre de serveurs donné ; - un historique d'un nombre donné de plans de placement et/ou de déplacement déterminés est stocké dans une zone de stockage, et la détermination du plan de placement général, ou du plan de placement indépendant et du plan de déplacement général, prend en compte l'historique stocké dans la zone de stockage. Ainsi, le système et le procédé de l'invention permettent de gérer l'arrivée d'une requête contenant des nouvelles machines virtuelles à placer sur les serveurs de façon optimale, en évitant notamment l'effet ping-pong mentionné plus haut, grâce à la détermination d'un plan de placement des nouvelles machines virtuelles qui intègre un plan de déplacement des machines virtuelles déjà hébergées sur les serveurs, en fonction du coût de ce plan de placement. Les caractéristiques et avantages de l'invention apparaitront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et non limitative, en référence aux figures annexées suivantes : - figure 1 : représentation schématique d'un exemple de gestion du placement de nouvelles machines virtuelles dans un environnement informatique en nuage, selon l'invention ; - figure 2: représentation schématique d'un exemple de module de détermination des plans de placement selon l'invention ; - figure 3 : représentation schématique d'un exemple de mise en oeuvre d'un plan de placement de nouvelles machines virtuelles dans un environnement informatique en nuage selon l'invention. Comme vu précédemment, une machine virtuelle correspond à un sous-système d'exploitation, ou sous-environnement, disposant de ses ressources propres provenant des serveurs qui les héberge, en vue de permettre l'exécution d'applications ou services déterminés dans ce sous-environnement. C'est pourquoi les machines virtuelles {VIV11}, {VM,} sont représentées sur les figures 1 et 3 par des blocs subdivisés en une partie pour le sous-système d'exploitation (OS) et une partie pour l'exécution du ou des services, ou du ou des applications (App). L'environnement informatique en nuage 1 comprend donc un certain nombre de serveurs, en l'occurrence k serveurs Sl, S2, Si, Sk dans notre exemple. Ces serveurs peuvent être regroupés dans différents centre de données, mais pour simplifier, on assimilera dans la présente description un centre de données à un seul serveur disposant des capacités et ressources cumulées des serveurs physiques qu'il comprend. Ainsi, à l'arrivée d'une requête de placement de plusieurs nouvelles machines virtuelles {VM,} telles que représentées à la figure 1, le système de management dynamique des machines virtuelles va déterminer sur lesquels des k serveurs Si, S2, Si, ..., Sk ces nouvelles machines virtuelles doivent être placées, d'une manière optimale. Sur tout ou partie des serveurs {Si}, un certain nombre de machines virtuelles {VIV11} sont déjà hébergées lors de l'arrivée des nouvelles machines virtuelles. Précisément, un module de détermination 2 permet l'élaboration d'un plan de placement (x1,,1), (x2,11) des nouvelles machines virtuelles {VM,} sur tout ou partie des serveurs {Si}, et un module de placement 3 permet le placement d'une nouvelle machine virtuelle VM, sur un serveur S; et le déplacement (ou migration) d'une machine virtuelle VM; de l'un des serveurs {S;} vers un autre de ces serveurs {S1}. De façon schématique, ce module de détermination 2 et ce module de placement 3 sont regroupés sur la figure 1 dans un module de gestion 4. Ainsi, un plan de placement (x1,,;), (x2,,;) des nouvelles machines {VM,} sur tout ou partie des serveurs {S1}, est déterminé, dans lequel x1n, ; = 1, respectivement x2,, ; = 1, si le plan de placement en question comprend le placement de la machine virtuelle VM, sur le serveur Si, et 0 sinon. Comme on le voit représenté sur la figure 3, à titre d'exemple, le système de l'invention ne se contente pas de déterminer le placement de la nouvelle machine virtuelle VM, sur les serveurs {S;} encore disponibles, mais prévoit éventuellement le déplacement, ou la migration, de tout ou partie des machines virtuelles {VM;}, déjà hébergées sur les serveurs {S1}. Autrement dit, le système prend en compte toutes les ressources théoriquement disponibles, pour déterminer la meilleure solution de placement des nouvelles machines virtuelles {VM,}, y compris les ressources déjà utilisées par une autre machine virtuelle VM; mais libérables par déplacement (migration) de cette dernière vers un autre serveur disponible et différent du serveur S; qui l'hébergeait. Ainsi, à l'arrivée d'une requête comprenant N (N>= 1) nouvelles machines virtuelles {VM,}, le module de détermination 2 détermine un plan de placement général (x1,1) qui comprend le plan de placement (x1,,;) des N nouvelles machines virtuelles {VM, combiné avec un plan de déplacement de tout ou partie des machines virtuelles {VM; déjà hébergées sur tout ou partie des serveurs {S1}. Par ailleurs, le module de détermination 2 détermine également un plan de placement (x2,,;) des nouvelles machines virtuelles {VM, sur tout ou partie des serveurs {S1}, indépendamment de la situation de placement des machines virtuelles {VM;} déjà hébergées sur les serveurs {S1}. Enfin, le module de détermination 2 détermine un plan de déplacement général (x21,1), qui comprend le déplacement des nouvelles machines virtuelles {VM,} et des machines virtuelles {VM;} déjà hébergées sur les serveurs {S1}, après placement des nouvelles machines virtuelles {VM,} selon le plan de placement indépendant (x2,10. Pour chacun des plans de placement ou déplacement, le module de détermination 2 détermine aussi leur coût associé. Ainsi, le coût du plan de placement général (x1,1), le coût du plan de placement indépendant (x2,,;), et le coût du plan de déplacement (migration) général (x21,1), sont déterminés. Pour savoir s'il est judicieux de mettre en oeuvre le plan de placement général (x1,1), qui comprend la consolidation des machines virtuelles {VIV11} déjà hébergées sur les serveurs {S1}, par déplacement de tout ou partie de ces machines virtuelles {VIV11}, combinée avec le placement (x1 ,1) des nouvelles machines virtuelles {VM,}, le module de détermination 2 compare son coût avec celui du placement des nouvelles machines virtuelles {VM,} indépendant (x2,,1) suivi de la consolidation de l'ensemble des machines virtuelles {VM}I, {VM,} hébergées après placement des nouvelles machines virtuelles {VM,} selon le plan de placement indépendant (x2,,1), par déplacement selon le plan de déplacement général (x21,1) de tout ou partie de ces machines virtuelles {VIV11}, Le module de détermination 2 compare donc le coût du plan de placement général (x1,1) avec la somme du coût du plan de placement indépendant (x2,,1) et du coût du plan de déplacement général (x21,1). Le module de détermination 2 décide alors, en fonction du résultat de cette comparaison, s'il est préférable de mettre en oeuvre le plan de placement général (x1,1), ou le plan de placement indépendant (x2,,1) suivi du plan de déplacement général (x21,1), et transmet cette information au module de placement 3. Le module de placement 3 met alors en oeuvre la décision prise par le module de détermination 2. Si le coût du plan de placement général (x1,1) est inférieur ou égal à la somme du coût du plan de placement indépendant (x2,,1) et du coût du plan de déplacement général (x21,1), le module de placement 3, non seulement place les nouvelles machines virtuelles {VM,,}, mais également déplace les machines virtuelles {VIV11} déjà présentes sur tout ou partie des serveurs {S;}, en fonction de ce plan de placement général (x1,1). Sinon, le module de placement 3 place tout d'abord les nouvelles machines virtuelles {VM,} selon le plan de placement indépendant (x2,,1) puis déplace l'ensemble des machines virtuelles {VM,}, {VIV11}, c'est-à-dire à la fois les nouvelles machines virtuelles {VM,} nouvellement placées et les machines virtuelles {VIV11} déjà présentes sur tout ou partie des serveurs {S;}, en fonction du plan de déplacement général (x21,1). On considère qu'une machine virtuelle VIV11 hébergée sur un serveur S; génère un coût d'hébergement Hi, J. En outre, la migration ou le déplacement d'une machine virtuelle VIVlid'un serveur SJ, à un serveur S; génére un coût de reconfiguration Si un plan de placement (x1,1) déterminé par le module de détermination 2 prévoit le placement d'une machine virtuelle VIV11 sur le serveur SJ, alors que cette machine virtuelle VIV11 est déjà hébergée sur ce serveur SJ, alors le coût de déplacement ou coût de reconfiguration Ri, j est égal à 0 et seul le coût d'hébergement Hi, j intervient dans le coût du placement de cette machine virtuelle VM; sur ce serveur S. A l'arrivée d'une nouvelle requête contenant une ou plusieurs nouvelles machines virtuelles {VM,}, le module de détermination 2 calcule les coûts des placements/déplacements tel qu'expliqué ci-dessus. Pour chaque type de placement/déplacement, le plan optimal est déterminé. Il s'agit du plan de coût minimal parmi tous les plans du même type. Les coûts comparés par le module de détermination 2 tel qu'expliqué plus haut sont donc chacun des coûts minima pour le type de plan en question. Comme on peut le voir sur la figure 2, le module de détermination 2, qui reçoit en entrée 5 l'information selon laquelle un certain nombre de nouvelles machines virtuelles arrivent ou partent, peut aussi intégrer la prise en compte de contraintes 6 telles que des règles de fonctionnement fixées par un opérateur, qui peuvent être liées par exemple au niveau de service en-dessous duquel on ne souhaite pas descendre. Le module de détermination 2 peut aussi maintenir un graphe 15 de la topologie physique des serveurs, dans une zone 15 prévue à cet effet. Des moyens 7 de supervision permettent également d'interagir avec le module de détermination 2. Le module de détermination contrôle par ailleurs le coût d'hébergement 9, la consommation d'énergie 10, le coût du trafic 11, et prend en compte un historique de données 12 pour procéder aux différentes déterminations. Une fois la stratégie optimale de placement (x1,1) déterminée, l'information est transmise au module de placement 3 pour mise en oeuvre. La figure 3 donne un exemple de cette mise en oeuvre, dans un exemple dans lequel le module de détermination 2 détermine que la stratégie optimale, donc à moindre coût, est celle du plan de placement général (x1,1), qui comprend le plan de placement (x1 ,1) des nouvelles machine virtuelles {VM,} combiné avec un plan de déplacement des machines virtuelles {VM;} déjà hébergées sur les serveurs {S1}. Dans cet exemple, l'environnement informatique en nuage 1 comprend trois serveurs Si, S2, S3, et héberge à un instant donné sept machines virtuelles VM, à VM, (la machine virtuelle VM8 venant de quitter le serveur S3), selon le plan suivant : VM, et VM3 sont hébergées sur Si, VM2, VM8 et VM, sont hébergées sur S2, VM4 et VM8 sont hébergées sur S3, Suite à un évènement déclencheur bien défini tel que l'arrivée d'une nouvelle requête contenant la nouvelle machine virtuelle VM,, le module de détermination 2 détermine le plan de placement optimal (xi, i) suivant , pour une utilisation optimale de l'environnement 1 : _ 11 ,1 n A,1 A 1,1 = I, A 1,2= 0, 1,3= 0, ,1 ,1 n A,1 A 2, 1 = 1 1 , A 2, 2 = 0, 2, 3 = 0, ,1 n ,1 ,1 A 3,1 = V, A 3,2 = .1 1, A 3,3= 0, ,1 n ,1 ,1 A 4,1 = V, A 4,2 = 1 1, A 4,3= 0, A 5,1 = 0, A 5,2= 1, A 5,3= 0, 10 x16,1= 0, x16,2= 0, x16,3= 1, 17,1= 1, X17, 2 = 0, X1 X 7, 3 = 0, ln, 1 = 1, Xln, 2 = 0, X1 X n,3= 0, Autrement dit, ce plan de placement (x1i,i) recommande de : conserver la VM, sur le serveur 51, VM5 sur le serveur S2, et VM6 sur le 15 serveur S3, migrer ou déplacer VM2 du serveur S2 vers le serveur Si, VM3 du serveur 51 vers le serveur S2, VM4 du serveur S3 vers le serveur S2, et VM, du serveur S2 vers le serveur 51, placer la nouvelle machine VM, sur le serveur S. 20 Une fois ce plan de placement général (x1i, i) optimal déterminé par le module de détermination 2, et après comparaison de son coût avec le coût total du plan de placement indépendant (x2,, i) suivi du plan de déplacement général (x2i, i), et à supposer que le résultat de cette comparaison soit en faveur du plan de placement général (x11, i), ce dernier est donc mis en oeuvre par le module de placement 3. 25 Ainsi, le module de détermination 2 permet de déterminer un plan de placement/déplacement (x1,1) qui minimise la fonction de coût suivante, sur tous les plans de placement/déplacement (x1,1) possibles, pour l'ensemble des machines virtuelles {VM;} concernées, et pour l'ensemble des serveurs {Si} : u J + R1,1 (1,J) 30 avec -1-11,i : coût de l'hébergement de la machine virtuelle VM; sur le serveur Si, - Ri, : coût du déplacement de la machine virtuelle VM; (initialement sur un serveur Sr) vers le serveur Si,5 - Ri, = 0 si la machine virtuelle VM; fait partie des N nouvelles machines virtuelles (par exemple VM,), - u , = 0, si la machine virtuelle VM; est déjà hébergée sur le serveur Sj et 1 sinon, - x = 1, si le plan de placement en question (x , j) comprend le placement de la machine virtuelle VM; sur le serveur Sj, et 0 sinon. Précisément, dans le cas du plan de placement général (xli, j), le module de détermination 2 permet de déterminer le plan de placement général (xli, j) qui minimise la fonction de coût suivante, sur tous les plans de placement général (xli, j) possibles, pour l'ensemble des machines virtuelles {VM,}, {VM;} concernées, et pour l'ensemble des serveurs {S1} : Zgen=I(I + (i,J) Dans le cas du plan de placement indépendant (x2,,;), le module de détermination 2 permet de déterminer le plan de placement indépendant (x2,, j) qui minimise la fonction de coût suivante, sur tous les plans de placement indépendant (x2,, j) possibles, pour l'ensemble des machines virtuelles {VM,} concernées, et pour l'ensemble des serveurs {S1} : Zmd =II n,JX2n,j (n,j) Dans le cas du plan de déplacement général (x2i, j), le module de détermination 2 permet de déterminer le plan de placement général (x2i, j), qui minimise la fonction de coût suivante, sur tous les plans de placement général (x2i, j) possibles, pour l'ensemble des machines virtuelles {VM;} concernées, et pour l'ensemble des serveurs {S1} : Zdgen Ri,JU,,j .X )2/,/ (i,./) Comme représenté à la figure 2, des moyens de stockage 13 sont prévus pour stocker la cartographie du placement courant des machines virtuelles {VM;} sur tout ou partie des serveurs {S1}. Le module de détermination 2 permet alors de modifier cette cartographie stockée dans les moyens de stockage 13 en fonction du plan de placement (x1,1) qui est sélectionné, et qui va être mise en oeuvre par le module de placement 3, à savoir soit le plan de placement général (xli, j), soit le plan de placement indépendant (x2,, j) et le plan de déplacement général (x21,1). Le système peut contrôler le nombre de serveurs {S1} surutilisés, c'est-à-dire dont les ressources disponibles, telles que les moyens de calculs ou la mémoire, se trouvent en dessous d'un seuil donné. Le module de détermination 2 permet alors de déterminer le plan de placement/déplacement (x1,1) optimal, en sorte que le nombre de serveurs {S,} surutilisés soit inférieur ou égal à un nombre de serveurs {S,} donné. On peut prévoir également que le module de détermination fonctionne différemment, selon que l'environnement est de taille importante, en termes de nombre de serveurs {S,} et de nombres de machine virtuelles hébergées {VIV11} et à héberger {VM,}. Ainsi, le module de détermination 2 peut déterminer le plan de placement/déplacement (x1,1), en sorte que le nombre de serveurs {S,} surutilisés soit égal à zéro dans le cas où, d'une part le nombre de nouvelles machines virtuelles {VM,,} à placer sur les serveurs {S1} plus le nombre des machines virtuelles {VIV11} déjà hébergées sur les serveurs {S1} est inférieur à un nombre de machines virtuelles donné, et d'autre part l'environnement 1 comprend un nombre de serveurs {S1} inférieur à un nombre de serveurs donné. Par ailleurs, le module de détermination 2 peut déterminer le plan de placement/déplacement (x1,1) en sorte que le nombre de serveurs {S1} surutilisés soit supérieur ou égal à zéro, mais de préférence inférieur à une valeur donnée, dans le cas où, d'une part ledit nombre de nouvelles machines virtuelles {VM,} plus le nombre des machines virtuelles {VIV11} déjà hébergées sur les serveurs {S1} est supérieur ou égal à un nombre de machines virtuelles donné, et d'autre part l'environnement 1 comprend un nombre de serveurs {S1} supérieur ou égal à un nombre de serveurs donné. Comme représenté à la figure 2, on peut prévoir une zone de stockage 8 d'un historique d'un nombre donné de plans de placement/déplacement (x1,1) déterminés précédemment par le module de détermination 2, de sorte que ce module de détermination 2 puisse prendre en compte cet historique lors de la détermination d'un prochain plan de placement/déplacement optimal (x1,1), et ne pas recalculer des solutions de placement/déplacement optimales dans une certaine configuration, déjà calculées auparavant. La présente description est donnée à titre d'exemple et n'est pas limitative de l'invention. REVENDICATIONS1.- Système de management dynamique de machines virtuelles (VIV11), dans un environnement (1) informatique en nuage comportant plusieurs serveurs (S;) chacun apte à héberger une ou plusieurs machines virtuelles (VIV11), le système étant apte à recevoir une requête de placement sur tout ou partie des serveurs (S;) de N nouvelles machines virtuelles (VIV1,,), avec Nkl, et comprenant un module de détermination (2) apte à déterminer un plan de placement «x1,10, (x2,,,;)) des N nouvelles machines virtuelles (VIV1,,) sur tout ou partie des serveurs (S;), et un module de placement (3) apte à placer une nouvelle machine virtuelle (VIV1,,) sur l'un des serveurs (S;) et à déplacer une machine virtuelle (VIV11) de l'un des serveurs (S;) vers un autre des serveurs (S;), caractérisé en ce que le module de détermination (2) est apte à déterminer : un plan de placement général (x1,1) des N nouvelles machines virtuelles (VIV1,,) et de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), qui comprend le plan de placement (x1,11) des N nouvelles machines virtuelles (VIV1,,) sur tout ou partie des serveurs (S;) combiné avec un plan de déplacement de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), et un coût de ce plan de placement général (x1,1), le plan de placement (x2,,,;) des N nouvelles machines virtuelles (VIV1,,) sur tout ou partie des serveurs (S;) indépendant, sans plan de déplacement de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), et un coût de ce plan de placement indépendant (x2,11), un plan de déplacement général (x21,1) des N nouvelles machines virtuelles (VM,,) et de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), qui comprend le déplacement de l'ensemble des machines virtuelles (VIV11) incluant les N nouvelles machines virtuelles (VM,,) placées selon le plan de déplacement indépendant (x2,11), et un coût de ce plan de déplacement général (x21,1), et à comparer le coût du plan placement général (x1,1) avec la somme du coût du plan de placement indépendant (x2,,,;) et du coût du plan de déplacement général (x21,1), et en ce que le module de placement (3) est apte à mettre en oeuvre le plan de placement général (x11,;), ou le plan de placement indépendant (x2,11) puis le plan de déplacement général (x21,;), en fonction du résultat de la comparaison.35 2.-Système selon la revendication 1, caractérisé en ce que le module de détermination (2) est apte à déterminer le plan de placement général (x1,1) qui minimise la fonction de coût suivante sur tous les plans de placement (x1,1) possibles, pour l'ensemble des machines virtuelles (VIV11) comprenant les machine virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (Si) et les N nouvelles machines virtuelles (VM,), et pour l'ensemble des serveurs (Si) : 1 1 Zgen + avec H I, : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, R I, : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles (VM,), ui,; = 0, si la machine virtuelle VIVliest déjà hébergée sur le serveur Si et 1 sinon, x11,1= 1, si le plan de placement en question (x1,1) comprend le placement de la machine virtuelle VIVlisur le serveur Si, et 0 sinon, de sorte que le coût du plan de placement général (x1,1) déterminé par le module de détermination (2) est égal à min(Z ). (x,,) gen 3.-Système selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le module de détermination (2) est apte à déterminer le plan de placement indépendant (x2,,1) qui minimise la fonction de coût suivante sur tous les plans de placement (x2,11) possibles, pour l'ensemble des N nouvelles machines virtuelles (VM,), et pour l'ensemble des serveurs (Si) : Z ind = I X2 n,j avec - H n,; : coût de l'hébergement de la machine virtuelle VM, sur le serveur Si, - X2n, = 1, si le plan de placement en question (x2,11) comprend le placement de la machine virtuelle VM, sur le serveur Si, et 0 sinon, de sorte que le coût du plan de placement indépendant (x2,11) déterminé par le module de détermination (2) est égal à min(Z (x',) ind 4.-Système selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le module de détermination (2) est apte à déterminer le plan de déplacement général(x21,1) qui minimise la fonction de coût suivante sur tous les plans de déplacement (x21,1) possibles, pour l'ensemble des machines virtuelles (VIV11) hébergées sur tout ou partie des serveurs (S;), et pour l'ensemble des serveurs (S;) : Zdgen=I(11i,i2i,j (i,i) avec - ; : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, - 1:11,; = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles (VM,), - u I, ; = 0, si la machine virtuelle VIV11 est déjà hébergée sur le serveur Si et 1 sinon, - x21,1= 1, si le plan de placement en question (x21,1) comprend le placement de la machine virtuelle VIVlisur le serveur Si, et 0 sinon, de sorte que le coût du plan de déplacement général (x21,1) déterminé par le module de détermination (2) est égal à min(Zd ). (x,,) gen 5.- Système selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend des moyens de stockage (13) dans lesquels est stockée la cartographie du placement courant des machines virtuelles (VIV11) sur tout ou partie des serveurs (S;), et en ce que le module de détermination (2) est apte à modifier la cartographie stockée dans les moyens de stockage (13) en fonction du plan de placement général (x1,1), ou du plan de placement indépendant (x2,11) et du plan de déplacement général (x21,1), selon le résultat de la comparaison. 6.- Système selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il est apte à contrôler le nombre de serveurs (Si) surutilisés dont les ressources disponibles, telles que les moyens de calculs ou la mémoire, se trouvent en dessous d'un seuil donné, et en ce que le module de détermination (2) est apte à déterminer le plan de placement général (x1,1), ou le plan de placement indépendant (x2,11) et le plan de déplacement général (x21,1), en sorte que le nombre de serveurs (Sj) surutilisés soit inférieur ou égal à un nombre de serveurs (Sj) donné. 7.- Système selon la revendication 6, caractérisé en ce le module de détermination (2) est apte à déterminer le plan de placement général (x1,1), ou le plan de placement indépendant (x2,11) et le plan de déplacement général (x21,1), en sorte que le nombre de serveurs (Sj) surutilisés soit égal à zéro lorsque, d'une part le nombre N de nouvellesmachines virtuelles (VM,) à placer sur tout ou partie des serveurs (S1) plus le nombre des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S1) est inférieur à un nombre de machines virtuelles donné, et d'autre part l'environnement (1) comprend un nombre de serveurs (S1) inférieur à un nombre de serveurs donné, et en sorte que le nombre de serveurs (S1) surutilisés soit supérieur ou égal à zéro lorsque, d'une part ledit nombre N de nouvelles machines virtuelles (VM,) plus le nombre des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;) est supérieur ou égal à un nombre de machines virtuelles donné, et d'autre part l'environnement (1) comprend un nombre de serveurs (S;) supérieur ou égal à un nombre de serveurs donné. 8.- Système selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comprend une zone de stockage (8) d'un historique d'un nombre donné de plans de placement (x1,1) et/ou de déplacement déterminés par le module de détermination (2), et en ce que le module de détermination (2) est apte à déterminer le plan de placement général (x11,1), ou le plan de placement indépendant (x2,11) et le plan de déplacement général (x21,1), en prenant en compte l'historique stocké dans la zone de stockage (8). 9.- Procédé de management dynamique de machines virtuelles (VIV11), dans un environnement (1) informatique en nuage comportant plusieurs serveurs (Sk) chacun apte à héberger une ou plusieurs machines virtuelles (VIV11), le procédé comprenant la détermination, par un module de détermination (2), d'un plan de placement ((x1,11), (x2,11)) de N nouvelles machines virtuelles (VM,), avec N>_1, sur tout ou partie des serveurs (S;), et le placement et/ou déplacement, par un module de placement (3), d'au moins une nouvelle machine virtuelle (VM,) sur l'un des serveurs (S;), respectivement et/ou d'au moins une machine virtuelle (VIV11) depuis l'un des serveurs (S;) vers l'autre des serveurs (Si), caractérisé qu'il comprend la détermination, par le module de détermination (2) : d'un plan de placement général (x1,1) des N nouvelles machines virtuelles (VM,) et de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), qui comprend le plan de placement (x1,11) des N nouvelles machines virtuelles (VM,) sur tout ou partie des serveurs (S;) combiné avec un plan de déplacement de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;), et d'un coût de ce plan de placement général (x11,1),du plan de placement (x2,,,;) des N nouvelles machines virtuelles (VM,,) sur tout ou partie des serveurs (S1) indépendant, sans plan de déplacement de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S1), et du coût de ce plan de placement indépendant (x2,11), d'un plan de déplacement général (x21,1) des N nouvelles machines virtuelles (VM,,) et de tout ou partie des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S1), qui comprend le déplacement de l'ensemble des machines virtuelles (VIV11) incluant les N nouvelles machines virtuelles (VM,,) placées selon le plan de déplacement indépendant (x2,11), et d'un coût de ce plan de déplacement général (x21,1), la comparaison, par le module de détermination (2), du coût du plan placement général (x1,1) avec la somme du coût du plan de placement indépendant (x2,11) et du coût du plan de déplacement général (x21,1), et la mise en oeuvre, par le module de placement (3), du plan de placement général (x11,1), ou du plan de placement indépendant (x2,11) puis du plan de déplacement général (x21,1), en fonction du résultat de la comparaison. 10.- Procédé selon la revendication 9, caractérisé en ce que la détermination du plan de placement général (x1,1), par le module de détermination (2), détermine le plan de placement (x1,1) qui minimise la fonction de coût suivante sur tous les plans de placement (x1,1) possibles, pour l'ensemble des machines virtuelles (VIV11) comprenant les machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;) et les N nouvelles machines virtuelles (VM,,), et pour l'ensemble des serveurs (S;) : Zgen = + (i,J) avec H 1,i : coût de l'hébergement de la machine virtuelle VIVI, sur le serveur Si, R 1,i : coût du déplacement de la machine virtuelle VIVI, sur le serveur Si, 1:11,; = 0 si la machine virtuelle VIVI, fait partie des N nouvelles machines virtuelles (VM,,), u I ,; = 0, si la machine virtuelle VIVI, est déjà hébergée sur le serveur S; et 1 sinon, x11,1= 1, si le plan de placement en question (x1,1) comprend le placement de la machine virtuelle VIVI, sur le serveur Si, et 0 sinon, de sorte que le coût du plan de déplacement général (x21,1) déterminé par le module de détermination (2) est égal à min(Z ). (x,,) dgen 11.-Procédé selon l'une quelconque des revendications 9 et 10, caractérisé en ce que la détermination du plan de placement indépendant (x2,11), par le module de détermination (2), détermine la plan de placement (x2,11) qui minimise la fonction de coût suivante sur tous les plans de placement (x2,,;) possibles, pour l'ensemble des N nouvelles machines virtuelles (VM,), et pour l'ensemble des serveurs (S;) : Zind=IHn ix2',i (n,j) avec - H n,; : coût de l'hébergement de la machine virtuelle VM, sur le serveur Si, - X2n, = 1, si le plan de placement en question (x2,11) comprend le placement de la machine virtuelle VM, sur le serveur Si, et 0 sinon, de sorte que le coût du plan de placement indépendant (x2,11) déterminé par le module de détermination (2) est égal à min(Z ind (xn,J) 12.-Système selon l'une quelconque des revendications 9 à 11, caractérisé en ce que la détermination du plan de déplacement général (x21,1), le module de détermination (2), détermine le plan de déplacement (x21,1) qui minimise la fonction de coût suivante sur tous les plans de déplacement (x21,1) possibles, pour l'ensemble des machines virtuelles (VIV11) hébergées sur tout ou partie des serveurs (S;), et pour l'ensemble des serveurs (Si): = 1( j2 - Zdgen H 1,j RI,j111,j x (i,l) avec - 1-11,; : coût de l'hébergement de la machine virtuelle VIVlisur le serveur Si, - R : coût du déplacement de la machine virtuelle VIVlisur le serveur Si, - 1:11,; = 0 si la machine virtuelle VIVlifait partie des N nouvelles machines virtuelles (VM,), - u I, ; = 0, si la machine virtuelle VIV11 est déjà hébergée sur le serveur Si et 1 sinon, - x21,1= 1, si le plan de placement en question (x21,1) comprend le placement de la machine virtuelle VIVlisur le serveur Si, et 0 sinon, de sorte que le coût du plan de déplacement général (x21,1) déterminé par le module de détermination (2) est égal à min(Z ). (x, dgen 13.- Procédé selon l'une quelconque des revendications 9 à 12, caractérisé en ce que la cartographie du placement courant des machines virtuelles (VIV11) sur tout ou partie des serveurs (Si) est stockée dans des moyens de stockage (13), et en ce que cettecartographie est modifiée en fonction du plan de placement général (x1,1), ou du plan de placement indépendant (x2,11) et du plan de déplacement général (x21,1), selon le résultat de la comparaison. 14.- Procédé selon l'une quelconque des revendications 8 à 11, caractérisé en ce le nombre de serveurs (S1) surutilisés dont les ressources disponibles, telles que les moyens de calculs ou la mémoire, se trouvent en dessous d'un seuil donné, est contrôlé, et en ce que la détermination du plan de placement général (x1,1), ou du plan de placement indépendant (x2,,;) et du plan de déplacement général (x21,1), est réalisée en sorte que le nombre de serveurs (Sj) surutilisés soit inférieur ou égal à un nombre de serveurs (Sj) donné. 15.- Procédé selon la revendication 14, caractérisé en ce que la détermination du plan de placement général (x11,1), ou du plan de placement indépendant (x2,11) et du plan de déplacement général (x21,1), est réalisée en sorte que le nombre de serveurs (Sj) surutilisés soit égal à zéro lorsque, d'une part le nombre N de nouvelles machines virtuelles (VIV1n) à placer sur tout ou partie des serveurs (S;) plus le nombre des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;) est inférieur à un nombre de machines virtuelles donné, et d'autre part l'environnement (1) comprend un nombre de serveurs (S;) inférieur à un nombre de serveurs donné, et en sorte que le nombre de serveurs (S;) surutilisés soit supérieur ou égal à zéro lorsque, d'une part ledit nombre N de nouvelles machines virtuelles (VIV1n) plus le nombre des machines virtuelles (VIV11) déjà hébergées sur tout ou partie des serveurs (S;) est supérieur ou égal à un nombre de machines virtuelles donné, et d'autre part l'environnement (1) comprend un nombre de serveurs (S;) supérieur ou égal à un nombre de serveurs donné. 16.- Procédé selon l'une quelconque des revendications 9 à 15, caractérisé en ce qu'un historique d'un nombre donné de plans de placement (x1,1) et/ou de déplacement déterminés est stocké dans une zone de stockage (8), et en ce que la détermination du plan de placement général (x11,1), ou du plan de placement indépendant (x2,11) et du plan de déplacement général (x21,1), prend en compte l'historique stocké dans la zone de stockage (8).