1. One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, performs a method for facilitating persistent availability of a service application by expressing one or more fault correlation constraints to a developer of the service application, the method comprising: identifying fault domains within a hosting environment, wherein the fault domains each represent a set of nodes that each concurrently become unavailable upon an occurrence of a particular class of failures within the hosting environment; expressing to the developer of the service application one or more fault correlation constraints wherein, the one or more correlation constraints include an abstraction of the identified fault domains; receiving from the developer a service model that provides instructions for allocating one of the set of nodes within one or more of the fault domains within the hosting environment to execute at least one role of the service application, wherein the at least one role comprises a component program that supports the functionality of the service application; and based on the instruction of the service model, initiating an instantiation process that places the one or more instances of the at least one role on the allocated one of the set of nodes.