Course Name: Cloud Computing
Course Number: BO CDA 311
Course Credit: 3-0-0-3
Introduction to Clouds, Virtualization and Virtual Machine
1. Introduction to Cloud Computing: Why Clouds, What is a Cloud, Whats new in todays Clouds, Features of today’s Clouds: Massive scale, AAS Classification: HaaS, IaaS, PaaS, SaaS, New Cloud Paradigms, Categories of Clouds: Private clouds, Public clouds , Virtualization: What’s virtualization, Benefits of Virtualization, Virtualization Models: Bare metal, Hosted hypervisor, Types of Virtualization: Processor virtualization, Memory virtualization, Full virtualization, Paravirtualization, Device virtualization Network Virtualization and Geo-distributed Clouds: Server Virtualization: Methods of virtualization: Using Docker, Using Linux containers, Approaches for Networking of VMs: Hardware approach: Single-root I/O virtualization (SR-IOV), Software approach: Open vSwitch, Mininet and its applications.
Software Defined Network: Key ideas of SDN, Evolution of SDN, SDN challenges, Multi-tenant DataCenters: The challenges, Network virtualization, Case Study: VL2, NVP. Geo-distributed Cloud Data Centers: Inter-Data Center Networking, Data center interconnection techniques: MPLS, Google’s B4 and Microsoft’s Swan.
Leader Election in Cloud, Distributed Systems and Industry Systems
Leader Election in Rings (Classical Distributed Algorithms): LeLann-Chang-Roberts (LCR) algorithm, The Hirschberg and Sinclair (HS) algorithm. Classical Distributed Algorithms and the Industry Systems
Time and Clock Synchronization in Cloud Data Centers: Synchronization in the cloud, Key challenges, Clock Skew, Clock Drift, External and Internal clock synchronization, Christians algorithm, Error bounds, Datacenter time protocol (DTP), Logical ordering, Lamport timestamps, Vector timestamps.
Cloud Storage: Key-value stores/NoSQL:
1. Design of Key-Value Stores: Key-value Abstraction, Key-value/NoSQL Data Model, Design of Apache Cassandra, Data Placement Strategies, Snitches, Writes, Bloom Filter, Compaction, Deletes, Read, Membership, CAP Theorem, Eventual Consistency, Consistency levels in Cassandra, Consistency Solutions.
Design of HBase: Data model, Storage Hierarchy, Cross-Datacenter Replication, Auto Sharding and Distribution, Bloom Filter, Fold, Store, and Shift
P2P Systems and their use in Industry Systems: Peer to Peer Systems in Cloud Computing: Napster, Gnutella, FastTrack, DHT, Chord, Pastry and Kelips.
Cloud Applications: MapReduce, Spark and Apache Kafka, MapReduce: Paradigm, Programming Model, Applications, Scheduling, Fault-Tolerance, Implementation Overview, Examples:
Introduction to Spark: Resilient Distributed Datasets (RDDs), RDD Operations, Spark applications: Page Rank Algorithm, GraphX, GraphX API, GraphX working.
Introduction to Kafka: What is Kafka, Use cases for Kafka, Data model, Architecture, Types of messaging systems, Importance of brokers
Text books :
1. Kai Hwang, Jack Dongarra, Geoffrey Fox, Distributed and Cloud Computing From Parallel Processing to the Internet of Things, Morgan Kaufmann, 2013.
2. Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Cloud Computing: Principles and Paradigms, Wile, 2011.