A method for selecting a cloud infrastructure system comprising: providing a register of computer applications for which usage profiles, comprising performance data and energy consumption data, derived from execution of the applications on computing systems in private or public cloud systems, are stored; characterised by: determining which applications in the register have usage profiles which are similar to a usage profile of a specified computer application, wherein each usage profile of the applications in the register has an associated classification, which is such that usage profiles which are similar have the same classification; and wherein determining similar usage profiles comprises finding usage profiles with the same classification as the specified computer application; selecting, from computing systems associated with the applications determined to have similar usage profiles, a first set of computing systems which, on the basis of the performance data and energy consumption data, meet a minimum performance requirement or an energy consumption criterion; selecting a second set of computing systems on the public cloud system which have the most similar resources to the computing systems of the first set by selecting the top N CP computing systems from the public cloud system having the most similar resources to the computing systems in the first set, where N CP is an integer; predicting the performance and energy consumption of executing the specified computer application on computing systems in the second set; and identifying as a preferred cloud infrastructure system the system which corresponds to the computing system having a lowest predicted energy consumption of those computing systems of the first and second sets that have a predicted performance meeting a desired performance level. providing a register of computer applications for which usage profiles, comprising performance data and energy consumption data, derived from execution of the applications on computing systems in private or public cloud systems, are stored; characterised by: determining which applications in the register have usage profiles which are similar to a usage profile of a specified computer application, wherein each usage profile of the applications in the register has an associated classification, which is such that usage profiles which are similar have the same classification; and wherein determining similar usage profiles comprises finding usage profiles with the same classification as the specified computer application; wherein each usage profile of the applications in the register has an associated classification, which is such that usage profiles which are similar have the same classification; and wherein determining similar usage profiles comprises finding usage profiles with the same classification as the specified computer application; selecting, from computing systems associated with the applications determined to have similar usage profiles, a first set of computing systems which, on the basis of the performance data and energy consumption data, meet a minimum performance requirement or an energy consumption criterion; selecting a second set of computing systems on the public cloud system which have the most similar resources to the computing systems of the first set by selecting the top N CP computing systems from the public cloud system having the most similar resources to the computing systems in the first set, where N CP is an integer; predicting the performance and energy consumption of executing the specified computer application on computing systems in the second set; and identifying as a preferred cloud infrastructure system the system which corresponds to the computing system having a lowest predicted energy consumption of those computing systems of the first and second sets that have a predicted performance meeting a desired performance level.