This paper provides an introduction to the use of utility theory with service level agreements between a computer-based service provider and a client. It argues that a consistent approach to utility, together with a flexible notion of pricing, can go a long way to clarifying some of the hidden assumptions that pervade many existing contracts and decisions around them. The goal is to enhance understanding of a surprisingly tricky area, identify a few consequences for services providers and their clients, suggest a set of terminology that reduces ambiguities, and make some suggestions for future work.