1. A method of planning application deployment in a computer system, comprising: obtaining, for each of a plurality of computer applications, a set of application characteristics; assigning, based on the obtained characteristics, each of the plurality of applications to one of a set of predetermined application models; and determining, based in part on the obtained characteristics and in part on application model compatibility data, a set of hardware characteristics, a virtual server distribution plan, and an application distribution plan.