1. A method of planning application deployment in a computer system, the method implemented with a processor coupled with a memory having executable instructions stored thereon, where the instructions, when executed by the processor, cause the processor to perform the method steps, comprising: obtaining, for each of a plurality of computer applications, a set of application characteristics; determining, based on the obtained characteristics, a match between each of the plurality of computer applications to an application model of a set of predetermined application models, wherein each of the predetermined application models includes computer application attributes; assigning each of the plurality of computer applications to a matching application model of the predetermined application models; determining compatibilities of the plurality of computer applications with each other based upon data pertaining to compatibilities of the predetermined application models, to which the plurality of computer applications are assigned, with respect to each other; and determining, based in part on the obtained characteristics, and in part on the determined compatibilities of the plurality of applications with each other, a set of hardware characteristics, a virtual server distribution plan, and an application distribution plan.