Cloud computing has recently emerged as a subject of substantial industrial and academic interest, though its meaning and scope is hotly debated. For some researchers, clouds are a natural evolution towards the full commercialisation of grid systems, while others dismiss the term as a mere re-branding of existing pay-per-use technologies. From either perspective, "cloud" is now the label of choice for accountable pay-per-use access to third party applications and computational resources on a massive scale. Clouds support patterns of less predictable resource use for applications and services across the IT spectrum, from online office applications to high-throughput transactional services and high-performance computations involving substantial quantities of processing cycles and storage. The concept of clouds seems to blur the distinctions between a variety of technologies that encompass grid services, web services and data centres, and leads to considerations of lowered-cost provisioning for bursty applications. This book provides comprehensive coverage of the state of the art in cloud computing, highlighting and clarifying the conceptual and systemic links with other distributed computing approaches.