  With the prevalence of X-as-a-Service (e.g., software as a service, platform
as a service, infrastructure as a service, etc.) and users' growing demand on
good services, QoS (Quality of Service) assurance is becoming increasingly
important to service delivery. Traditional service delivery mainly focuses on
function or information provisioning, and does not give high priority to
quality assurance. In this paper, we tackle the QoS assurance problem in a
systematic way, from model to system. We first decompose traditional services
into three components - namely software application, data and resource, then
define models for these three kinds of basic services, and propose a set of
operations for service publishing and composition. To illustrate our approach,
we present a prototype system, the Platform as a Service (PaaS) system, which
is developed in support of our framework and shows how QoS can be ensured
through real-time monitoring and dynamic scaling (up or down).
