In order to effectively offer applications and services over the Internet, cloud computing is a paradigm shift that enables scalable, easy, on-demand access to a shared pool of reconfigurable computing and networking resources. This book serves as a cloud computing textbook for academic programmes at colleges and institutions as well as cloud service providers that would be interested in providing a broader view of cloud computing to go along with their own customer and developer training programmes.