1. A computer-implemented method for rerouting a service request between service endpoints, the method comprising computer-implemented operations for: receiving, at a first web service, the service request from a second web service, the first web service and the second web service in a composite service; routing the service request to an initial service endpoint configured to respond to the service request according to a service level agreement between the first web service and the second web service; monitoring service criteria associated with the initial service endpoint; determining whether the service criteria meet a performance threshold specified by the service level agreement; and in response to determining that the service criteria do not meet the performance threshold specified by the service level agreement, rerouting the service request from the initial service endpoint to an alternate service endpoint.