This book is written as a textbook on cloud computing for educational programs at colleges. It uses an immersive "hands-on approach" to transfer knowledge to the reader by providing the necessary guidance and knowledge to develop working code for real-world cloud applications.It is organised into three main parts. Part I covers technologies that form the foundations of cloud computing. These include topics such as virtualization, load balancing, scalability and elasticity, deployment, and replication. Part II introduces the reader to the design and programming aspects of cloud computing. Case studies on design and implementation of several cloud applications in the areas such as image processing, live streaming and social networks analytics are provided. Part III introduces the reader to specialised aspects of cloud computing including cloud application benchmarking, cloud security, multimedia applications and big data analytics. Case studies in areas such as IT, healthcare, transportation, networking and education are provided.The book contains hundreds of figures and tested code samples that serve to provide a rigorous, "no hype" guide to cloud computing. Review questions and exercises are provided at the end of each chapter. The focus of the book is on getting the reader firmly on track to developing robust cloud applications on their own. Thus, readers can use the exercises to develop their own applications on cloud platforms, such as those from Amazon Web Services, Google Cloud, and Microsoft's Windows Azure.