Cloud Computing:Concepts & Practice
This is a graduate level course on Cloud Computing with emphasis on hands-on design and implementations. Both Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) cloud technologies and concepts will be covered. By the end of the course, you should have fair amount of knowledge about how to use a Cloud, write applications on Cloud and build your own private Cloud.
The first part of the course covers basic building blocks such as virtualization technologies, virtual appliance, automated provisioning, elasticity, and cloud monitoring. We shall learn these concepts by using and extending capabilities available in real clouds such as Amazon AWS, Google App Engine and OpenStack.
The second part of the course will cover more advanced topics with emphasis on ultra large scale systems, computation models and storage clouds for big data. Example topics are storage cloud, cloud security, Hadoop for Big Data, Network Virtualization (SDNs) and new services leveraging cloud migration. Several real world applications will be covered to illustrate these concepts and research innovations including Facebook Cassandra, Amazon Dynamo, Google Big Table, Hadoop HDFS, Yahoo Zookeeper.
Students will benefit from background in Operating Systems, and object oriented programming such as Java. The students are expected to participate in class discussions, present research papers, and conduct a significant course project.
Cloud Definitions: IaaS, PaaS and SaaS
IaaS Cloud: Amazon cloud, cloud programming
Dissect IaaS Cloud On-demand provisioning and Elasticity
Virtualization as Key Enabler
OpenStack: Let us build a cloud
PaaS Cloud and Google App Engine
Cloud Services: CloudWatch, ELB, CloudFormation, SNS etc.
Understanding large scale storage and cloud DBs
MapReduce: Big Data Analytics
Real World Case Studies
New Services leveraging Cloud