1. A computer-implemented method of managing connections for execution of a client software application, the computer-implemented method comprising: analyzing, by a processor, an application before execution of the application, the application being a client software application, and the analyzing using code analysis of the application to determine one or more classifications of operations of the application; maintaining a mapping of application operation classifications to server characteristics suited to the application operation classifications; monitoring multiple servers currently available to process at least a portion of the application and characterizing the multiple servers according to their performance and resources; comparing the classifications of operations of the analyzed application to the characteristics of the multiple servers currently available using the mapping; and selecting a server based on the comparison.