Course Details
Subject {L-T-P / C} : CS6128 : Cloud Computing { 3-0-0 / 3}
Subject Nature : Theory
Coordinator : Manmath Narayan Sahoo
Syllabus
Introduction - Overview of Computing Paradigms: Grid Computing, Cluster Computing, Distributed Computing, Utility Computing, Cloud Computing Cloud Computing (NIST Model) Properties and Characteristics of Cloud.
Cloud Computing Architecture - Cloud computing stack Service Models (XaaS): Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service(SaaS) Deployment Models: Public cloud, Private cloud, Hybrid cloud. Data Center Architecture.
Cloud Resource Virtualization - Introduction to virtualization Different approaches to virtualization Hypervisors Machine Image Virtual Machine(VM) Process VM vs System VM Resource Virtualization: Server, Storage, Network Full Virtualization vs Para Virtualization Operating System Support for Virtualization Virtual Machine(resource) Provisioning and Manageability VM Placement, VM Migration.
Service Management in Cloud Computing - Service Level Agreements(SLAs) Billing & Accounting Economics of scaling Managing Data: Database & Data Stores in Cloud, Large Scale Data Processing.
Task Scheduling in Cloud - Scheduling Algorithms for Computing Clouds Fair Queuing Start Time Fair Queuing Borrowed Virtual Time Cloud Scheduling Subject to Deadlines Scheduling MapReduce Applications Subject to Deadlines.
Cloud Security - Cloud Security Risks, Trust, Operating System Security, VM Security, Security of Virtualization, Security Risks Posted by Shared Images, Security Risks Posted by Management OS, Data privacy and security Issues, Identity & Access Management, Access Control, Authentication in cloud computing,
Case Study - Microsoft Azure, Amazon EC2
Course Objectives
- To understand Cloud Computing concepts, technologies, architecture and applications
- To understand the underlying principle of cloud virtualization, cloud storage, data management and data visualization
- To understand different cloud programming platforms and tools to develop and deploy applications on cloud
Course Outcomes
Upon successful completion of this course students should be able to:
1. Develop and deploy cloud application using popular cloud platforms
2. Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and building private cloud.
3. Make recommendations on cloud computing solutions for an enterprise.
Essential Reading
- Dan C Marinescu, Cloud Computing, Theory and Practice, MK Elsevier
- Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Cloud Computing: Principles and Paradigms, Wiley
Supplementary Reading
- Barrie Sosinsky, Cloud Computing Bible, Wiley
- Jim Smith, Ravi Nair, Virtual Machines: Versatile Platforms for Systems and Processes, MK Elsevier