1. A method for evaluating a performance of a distributed, complex multi-tier application when migrated from a first environment in which the distributed, complex multi-tier application is currently executing to a second, different environment, the method comprising: generating a virtual application that mimics a resource consuming behavior and an inter-tier behavior of the distributed, complex multi-tier application; executing the virtual application in the second environment; and evaluating a performance of the virtual application in the second environment wherein at least one of: the generating, the executing, or the evaluating is performed by a processor.