The goal of this tutorial is to present programming techniques and algorithms for programming systems such as Hadoop (map-reduce). Two important issues to be covered are:
Open source cloud technologies such as OpenStack, CloudStack, OpenNebula, Eucalyptus, OpenShift, and Cloud Foundry have gained significant momentum in the last few years. The first part of this tutorial will provide an overview of OpenStack and CloudStack, two open source infrastructure-a-service (IaaS) cloud platforms. The second part of the tutorial will present a detailed analysis of different OpenStack components, namely, glance (image service), nova (compute service), keystone (identity service), quantum (network service), and swift (object storage service). In particular, the tutorial will describe the scheduling and provisioning process in OpenStack, and how different configuration options lead to myriad provisioning performance. Further, the tutorial will describe how OpenStack has evolved over releases. Finally, the tutorial will describe weaknesses of OpenStack and highlight important areas where researchers can contribute.