A computer implemented tuning method carried on an IT system comprising a System Under Test, SUT, including a stack of software layers, provided with a number of adjustable parameters, the method comprising the steps of supplying a characterization and prediction module, a tuner module, and a knowledge base, KB, composed by N tuples, ( s i, w i, x i, y i) being gathered over iterative tuning sessions where each iteration is started by applying to a System Under Test, SUT, s i a configuration x i suggested by said tuner module, exposing said system s i to an external working condition w i and gathering performance metrics resulting in a performance indicator score y i, the method comprising building by said characterization and prediction module a characterization vector c i for each tuple stored in said knowledge base using the information stored in said knowledge base and produces a prediction about the characterization vector c i +1 of the next tuning iteration i + 1, wherein a tuple of system and working condition, s i,w i, is defined as task and where characterization vector c i is associated with a task and is a numeric representation of the tunable properties of system s i when exposed to said external working condition w i, and the distance between two characterization vectors c i, c J represents how similarly the systems s i, s j should have been configured in previous tuning iterations i,j when the two systems s i, s j were exposed to external working conditions w i, w j respectively, leveraging by the tuner module said knowledge base, KB, and said characterization vectors c i and c i+1 and a Bayesian optimization, BO, to select a new suggested configuration x i +1 to be applied to said System Under Test s i +1 in the next iteration i + 1, and further defining a group of tasks which should be configured in a similar way, t k = (( s i, w i), ( s j, w j),...) as archetypal task t k, identifying by said characterization module said archetypal tasks in the knowledge base, KB, by assigning each tuple of the knowledge base, KB, to an initial task and then iteratively measuring distances between tasks and clustering similar ones, so that tuples which should be tuned similarly are assigned to the same task, said initial tasks being selected according to a user-specified parameter N, indicating that a new task should be created every N tuning iterations, and wherein a similarity employed by said clustering is computed between tasks as an inverse of a distance of relevance scores of a first task f t ( x) to be evaluated and a second task f t' ( x) received with a set of configurations {x j} i j=1 wherein said characterization vector c i is a vector of distances consisting of an average of the distances between a target task and all the archetypal tasks in the knowledge base, KB, the method comprising the steps of supplying a characterization and prediction module, a tuner module, and a knowledge base, KB, composed by N tuples, ( s i, w i, x i, y i) being gathered over iterative tuning sessions where each iteration is started by applying to a System Under Test, SUT, s i a configuration x i suggested by said tuner module, exposing said system s i to an external working condition w i and gathering performance metrics resulting in a performance indicator score y i, the method comprising building by said characterization and prediction module a characterization vector c i for each tuple stored in said knowledge base using the information stored in said knowledge base and produces a prediction about the characterization vector c i +1 of the next tuning iteration i + 1, wherein a tuple of system and working condition, s i,w i, is defined as task and where characterization vector c i is associated with a task and is a numeric representation of the tunable properties of system s i when exposed to said external working condition w i, and the distance between two characterization vectors c i, c J represents how similarly the systems s i, s j should have been configured in previous tuning iterations i,j when the two systems s i, s j were exposed to external working conditions w i, w j respectively, leveraging by the tuner module said knowledge base, KB, and said characterization vectors c i and c i+1 and a Bayesian optimization, BO, to select a new suggested configuration x i +1 to be applied to said System Under Test s i +1 in the next iteration i + 1, and further defining a group of tasks which should be configured in a similar way, t k = (( s i, w i), ( s j, w j),...) as archetypal task t k, identifying by said characterization module said archetypal tasks in the knowledge base, KB, by assigning each tuple of the knowledge base, KB, to an initial task and then iteratively measuring distances between tasks and clustering similar ones, so that tuples which should be tuned similarly are assigned to the same task, said initial tasks being selected according to a user-specified parameter N, indicating that a new task should be created every N tuning iterations, and wherein a similarity employed by said clustering is computed between tasks as an inverse of a distance of relevance scores of a first task f t ( x) to be evaluated and a second task f t' ( x) received with a set of configurations {x j} i j=1 wherein said characterization vector c i is a vector of distances consisting of an average of the distances between a target task and all the archetypal tasks in the knowledge base, KB,