An SLA/Contract is an agreement between a client and a service provider. It specifies desired levels of service and penalties in case of default. It is of interest from the Service Providers point of view, to determine the optimal contract, that will maximize its utility. In this work we model the situation based on the notion of Moral Hazard: providing a good service is costly and results are affected by the resources involved. As a consequence, a credible contract must fulfill the incentive compatibility constraint. We extend the above model to take into account the possibility that there might different types of clients, and that the Service Provider will offer a menu of contracts intended for each of these clients, as a means of maximizing utility. From the Service Providers point of view, finding an optimal contract will consist of solving a nonlinear optimization problem subject to constraints. We derive conditions under which these constraints will take a simple form and we analyze a scenario, in which, the randomness comes from the Response Time of a given IT Service, and the input is the number of servers that will be dedicated to each client. 28 Pages