Cloud computing has recently emerged as an exciting new trend in the ICT industry. Several IT vendors are promising to offer on-demand storage, application and computational hosting services, and provide coverage in several continents, offering Service-Level Agreements (SLA) backed performance and uptime promises for their services. While these ‘clouds’ are the natural evolution of traditional clusters and data centres, they are distinguished by following a ‘utility’ pricing model where customers are charged based on their utilisation of computational resources, storage and transfer of data. Whilst these emerging services have reduced the cost of computation, application hosting and content storage and delivery by several orders of magnitude, there is significant complexity involved in ensuring applications, services and data can scale when needed to ensure consistent and reliable operation under peak loads.
This tutorial endeavors to familiarise the audience with the new cloud computing paradigm, whilst comparing and contrasting it with existing approaches to scaling out computing resources such as cluster and grid computing. Case studies of numerous existing compute, storage and application cloud services will be given, familiarising the audience with the capabilities and limitations of current providers of cloud computing services. The hands-on interaction with these services during this tutorial will allow the audience to understand the mechanisms needed to harness cloud computing in their own respective endeavors. Finally, many open research problems that have arisen from the rapid uptake of cloud computing will be detailed, which will hopefully motivate the audience to address these in their own future research and development.