1. A method of autonomous provisioning of resources of a computer system, comprising: monitoring performance-critical workload of the computer system; detecting workload suffering defined by workload suffering states and based on comparing the performance-critical workload with defined values of performance-critical workload goals; identifying the workload suffering states of the computer system; determining types of missing resources contributing to the workload suffering; determining additional resources available for activation to replace the types of missing resources; identifying a current activation level based on a number of resources that are active; aggregating the workload suffering states to calculate a sum of demands; evaluating a need for the additional resources based on the calculated sum of demands, the need presented by the workload suffering; in response to the calculated sum of demands being below the current activation level, deactivating currently activated resource; and in response to the calculated sum of demands being above the current activation level, activating the additional resources, wherein detecting workload suffering comprises calculating a performance index value for at least one of response time goals and execution velocity goals, wherein detecting workload suffering further comprises detecting if the calculated performance index value exceeds a given threshold value for a given amount of time.