A Service Level Agreement (SLA) regulates the provisioning of a service by defining a set of guarantees. Each guarantee sets a Service Level Objective (SLO) on some service metrics, and optionally a compensation that is applied when the SLO is unfulfilled (the compensation would be a penalty) or overfulfilled (the compensation would be a reward). For instance, Amazon is penalised with a 10% in service credits if the availability of the Elastic Cloud Computing service drops below 99.95%.
Currently, there are software tools and research proposals that use the information about compensations to automate and optimise certain parts of the service management. However, they assume that compensations are well defined, which is too optimistic in some circumstances and can lead to undesirable situations. For example, an unbounded, automated penalty was discarded in 2005 by the UK Royal Mail company after causing a loss of 280 million pounds in one year and a half.
In the article «Automated Validation of Compensable SLAs», published in IEEE Transactions on Services Computing (Early Access), and available at https://doi.org/10.1109/TSC.2018.2885766, we aim at answering the question «How can compensations be automatically validated?». To this end, we build on the compensable SLA model proposed in a previous work to provide a technique that leverages constraint satisfaction problem solvers to automatically validate them. We also present a materialisation of the model in iAgree, a language to specify SLAs and a tooling support that implements our whole approach. Our proposal has been evaluated by modelling and analysing the compensations of 24 SLAs of real-world scenarios including 319 guarantee terms. As a result, our technique has proven to be useful for detecting mistakes that are typically derived not only from the manual specification of SLAs in natural language, but also from the complex nature of compensation definitions. Thus, we found that nine guarantees with compensations that were not properly defined in the original SLAs specified in natural language. Specifically, five were wrongly specified by Verizon, and four were wrongly specified by the outsourcing service hiring of the regional governments of: Northwest Territories of Canada, and Andalusia in Spain. Therefore, our proposal can pave the way for using compensable SLAs in a safer and more reliable way.