1. A method for managing applications, making use of at least two physical machines linked by communication means, the method comprising: connecting the at least two physical machines to form a physical machine network, wherein each of the physical machines comprise a physical structure on which is loaded a first software layer adaptable to the corresponding physical machine as well as a second layer forming a virtual layer on which virtual machines will operate, the virtual machine comprising at least one application, each physical machine associated with a plurality of attached parameters; loading a control program to the virtual layer of each physical machine; establishing a dialogue between the control program and a system management process; defining a service containing a plurality of applications, the service defined by the system management process; communicating between the system management process and each virtual layer in order to determine the status of the virtual machines associated with said virtual layer; assigning a virtual machine to the corresponding virtual layer taking into account one or more characteristics of the application associated with the corresponding virtual layer and one or more of the plurality of attached parameters associated with the physical machines, wherein the virtual machine is independent of the corresponding physical machine the assigning of the virtual machine enabling optimization of resources at the physical machines based on one or more characteristics of the application and the one or more attached parameters of the physical machines.