BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital Learning
Part A: Content Development Plan
Course Title Cloud Computing
Course No(s) SE * ZG527
Credit Units 5
1-2-2, (total 5 units or credits) ie 1 unit for class room hours, 2 unit for lab
hours, 2 units for student preparation.
Typically 1 unit translates to 32 hours
Document Version V5
No
Date 27th June 2015 / 07th Aug 2015/ 12th Jan 2016/02nd Feb 2017/
13th Nov 2017
Content Development Team
Name email mobile
Lead Chandra Shekar RK Chandrashekar.rk@pila 9986489685
Developer ni.bits-pilani.ac.in
Co-Developer Nayan Khare [email protected] 9886672847
ts-pilani.ac.in
Text Book(s)
T1 Dinkar Sitaram and Geetha Manjunath. Moving to the Cloud. Syngress (Elsevier) Pub, 2011
T2 Rajkumar Buyya, James Broburg & Anderzej M.G, Cloud Computing – Principles and
Paradigms. John Wiley Pub, 2011
Reference Book(s) & other resources
R1 Cloud Computing bible by Barrie Sosinsky, Wiley Publishers, 2010
R2 Virtualization A Beginner’s guide, Danielle Ruest, Nelson Ruest, TMH, 2009
R3 Cloud Computing bible by Barrie Sosinsky, Wiley Publishers, 2010
R4 Cloud security, a comprehensive guide to secure cloud computing, by Ronald L.Krutz et al, Wiley
Publishers, 2010
Learning Outcomes:
No Learning Outcomes
LO1 Explain the core concepts of the cloud computing paradigm: how and why this
paradigm shift came about, the characteristics, advantages and challenges brought
about by the various models and services in cloud computing
LO2 Apply the fundamental concepts in data-centres to understand the tradeoffs in power,
efficiency and cost
LO3 Discuss system virtualization and outline its role in enabling the cloud computing
system model.
LO4 Illustrate the fundamental concepts of cloud storage and demonstrate their use in
storage systems such as Amazon S3 and HDFS
LO5 Analyze various cloud programming models and apply them to solve problems on the
cloud
Note to Faculty:
Some modules or topics are specific only to certain programmes. The faculty is
instructed to choose the relevant topics/modules depending on the programme in
which this course is being offered. Same needs to be reflected in the contact
session plan.
# Specific to MTech, CSI (Computing Systems & Infrastructure)
* Specific to MTech (SW Systems) and MTech (SW Engg)
Documentation on Labwork
1. Software(s) or Tool(s) required: Virtual Box, KVM on Ubuntu, Hyper V,
Openstack, AWS, Salesforce, Proxmox or ConVirt, Hadoop Harton
Sandbox
2. Dependencies/Pre-requistes (OS, SDK, other framework, etc)
3. System Requirements: Any System with Processor better or equal to i3
intel. Min 4GB RAM (Recommended 8GB or more)
4. Download url:
https://www.virtualbox.org/wiki/Downloads
www.devstack.org
https://aws.amazon.com/console/
https://www.proxmox.com/en/proxmox-ve
https://www.convirture.com/products_opensource.php
http://hortonworks.com/products/hortonworks-sandbox/
5. Capabilities of tool:
6. Mode of working (GUI based- Stand alone installer/ Client Server /
Console based/ Browser based): All types
7. Open source/ Freeware/ Proprietary: Opensource/Freeware
8. If Proprietary, any open source or freeware alternative available If yes,
provide details (Limitations)
9. Any Other Remarks
10. Objective behind Labwork in this course: Understand and have
hands on knowledge on technologies related to Cloud computing
Glossary of Terms
Module M Module is a standalone quantum of designed content.
A typical course is delivered using a string of modules.
M2 means module 2.
Recorded RL A recorded lecture will consist of a sequence of topic
Lecture recordings (typically less 10 minutes each). There will
be assessments between topic recordings to allow the
learner test his/her understanding of video material
previously viewed.
RL2.1 = Recorded Lecture 1 in module 2.
RL2.2.3 = Third topic recording in recorded lecture
RL2.1
Contact CS Contact session topics refers to topics in form of
session concepts, discussions items, problems which will be
sub- taken up by the course instructor during the contact
module/topi hours. A contact hours is built by stringing a bunch of
cs contact session topics.
CS3.2 = Contact session sub-module 2 associated
with module 3
CS3.2.1 = Contact session topic 1 associated with
contact session sub-module 2 within module 1
Lab LE Lab exercises associated with various modules
Exercises
Self-Study SS Specific content assigned for self study
Homework HW Specific problems/design/lab exercises assigned as
homework
Modular Structure
Module Summary
No Title of the Module
M1 Introduction to Cloud Computing
Cloud Computing, services, deployment models
M2 Virtualization Techniques and Types
M3 Infrastructure as a Service
Managing Virtual Resources on the Cloud
M4 Platform as a Service and SaaS
M5 Containers
M6 Capacity management and Scheduling in cloud computing
M7 Issues and Challenges : Availability, Multi-Tenancy, Security and SLA
M8 Distributed File System (DFS) and Hadoop
Contact List of Topic Title Topic # Text/Ref Book/external
Hour (from content structure in Part A) (from content resource
structure in Part
A)
1 1.1. Cloud Computing, services, Already Part of T1: Ch1
deployment models list in Column T2: Ch1
1.2. Introduction to Cloud Computing 2(List of Topic
1.3. Origins and Motivation Title)
2 1.4. Types of Clouds and Services T1: Ch1
1.5. Cloud Infrastructure and T2: Ch1
Deployment
3 2. Virtualization Techniques and T1: Ch9
Types
2.1. Introduction to Virtualization
2.2. Use & demerits of Virtualization
4 2.3. Types of Virtualization T1: Ch9
2.4. Examples
5 2.5. x86 Hardware Virtualization T1: Ch9
6 2.6. Manage the resources for the T1: Ch9
SaaS, PaaS and IaaS models
7 3. Infrastructure as a Service T1: Ch2
3.1. Introduction to IaaS
3.2. IaaS examples
3.3. Reference Model of AWS
8 3.4. Amazon cloud services - T1: Ch2
Compute, Database, Storage
3.5. Region Vs Availability zones
9 3.6. Case Study - Openstack http://
OR www.slashroot.in/
Amazon Cloud Services - EC2, S3, openstack-tutorial-
SimpleDB, RDS getting-started-basics-
building-your-own-cloud
10 3.6. Case Study - Openstack http://
OR docs.openstack.org/
Amazon Cloud Services - CloudFront,
Elastic Load Balancer, Elastic Block
Storage
11 3.7. Managing Virtual Resources on T2: Ch5
the Cloud: Provisioning and Migration
3.7.1. Virtual Machine Provisioning and
Manageability
3.7.2. VM Provisioning Process
12 3.7.3. Virtual Machine Migration T2: Ch5
Services
3.7.4. Migrations Techniques
3.7.5. VM Provisioning and Migration in
action
13 4. Containers (New) https://
4.1. Linux Containers - LXC and LXD linuxcontainers.org/lxc/
introduction/
https://
access.redhat.com/
documentation/en-us/
red_hat_enterprise_linux
_atomic_host/7/html/
overview_of_containers_
in_red_hat_systems/
introduction_to_linux_co
ntainers
14 4.2. Dockers - Elements, Images, Files, https://docs.docker.com/
Containers get-started/
more focus on
1: Orientation
2: Containers
3. Services
15 4.2. Dockers - Files, Containers https://
docs.docker.com/get-
started/
16 4.3Cloud orchestration technologies https://www.ibm.com/
developerworks/cloud/
library/cl-cloud-
orchestration-technologies-
trs/index.html
17 5. Platform as a Service T1: Ch3
5.1. Introduction to PaaS
5.2. PaaS examples
18 5.3. Windows Azure T1: Ch3
19 5.4. 5 Principles of UI Design - AWS T1: Ch3
PaaS
20 5.5 Introduction to SaaS T1: Ch4
5.6 Pros and Cons of SaaS model
21 6. Capacity management and T2: Ch6
Scheduling in cloud computing
6.1. Capacity management and
Scheduling
22 6.2. Distributed management of T2: Ch6
virtual machines
6.3. Reservation-based provisioning of
virtualized resource
23 6.4. Provisioning to meet SLA T2: Ch6
commitments
24 6.5. Stages of VM life cycle within T1: Ch6
OpenNebula
6.6. Network model for OpenNebula
25 7. Issues and Challenges : T1: Ch6
Availability, Multi-Tenancy, Security and
SLA
7.1. Multi-Tenancy, 4 levels of multi
tenancy
7.2. Multi-tenant models for cloud
26 7.3. Introduction to cloud security T1: Ch 7
7.4. Cloud security Issues T2: Ch 23
7.5. Threat Model
7.6. Top 5 cloud security threats
27 7.7. who is responsible for managing T2: Ch16
security
7.8. Service License Agreements:
Lifecycle and Management
7.9. Traditional approaches to SLO
management
28 7.10. SLA Management in Cloud T2: Ch16
7.11. Automated Policy based T1: Ch8
management
7.12. Managing Clouds: Services and
Infrastructure
29 8. Distributed File System (DFS) and https://
Hadoop hadoop.apache.org/
8.1. Introduction to Distributed File docs/r1.2.1/
System (DFS) hdfs_design.html
8.2. Case Study HDFS
30 8.3. Hadoop components and
importance of MapReduce http://
8.4 Setting started - Amazon EMR docs.aws.amazon.com/
8.7 Understanding MapReduce emr/latest/
ManagementGuide/emr-
what-is-emr.html
31 8.5. Amazon EMR - Plan and Configure http://
clusters (# only for CSI) docs.aws.amazon.com/
8.6. AMazon EMC - Manage Clusters (# emr/latest/
only for CSI) ManagementGuide/emr-
what-is-emr.html
32 8.8. Explore word count Java program T1: Ch3,5
8.9. MapReduce Facts T2:Ch14
Detailed Structure
Video: Introduction to the course.
M1: Introduction to Cloud Computing
Type Title Description
RL1.1 Cloud Computing, Motivation
services, Evolution of Web
deployment Technology Advances
models What is Cloud Computing?
Drivers for the new Platform
Cloud Summary
RL1.2 3-4-5 Rule of CC Cloud Computing: Definition
3-4-5 rule of Cloud Computing
5-Characteristics of Cloud Computing
4-Deployment Models
RL1.3 3-4-5 Rule of CC 3 Cloud Service Models
Cloud Providers Software as a Service (SaaS)
Platform as a Service
Infrastructure as a Service
Cloud Infrastructures
Cloud Providers Characteristics
Management of Virtualized Resources
Cloud OS
CS1.1 Cloud Computing, Introduction to Cloud Computing
services Origins and Motivation
CS 1.2 Deployment Types of Clouds and Services
models Cloud Infrastructure and Deployment
LE1.1
SS1.1 Merits and Demerits of CC
HW1.1 Make a list of Public, Private, Hybrid clouds available in the IT space
QZ1.1
M2: Virtualization Techniques and Types
Dockers
Type Title Description
RL2.1 Virtualization Importance of Virtualization in Cloud Computing
What is Virtualization
What does Virtualization do?
Changes after Virtualization
Virtualization Architecture
RL2.2 Hypervisor Hypervisor
Hypervisor Design Goals
How Hypervisor goals are achieved?
Monolithic versus Microkernelized
CPU Sharing
Memory Sharing
IO Sharing
RL2.3 Types of Approaches for Virtualization
Virtualization Full Virtualization
ParaVirtualization
SKI Virtualization
x86 Hardware Virtualization
Advantages of Virtualization
Issues to be aware of Virtualization
Applications of Virtualization
RL_2_5 Lab Demo Check Virtualization Support
RL_2_6 Lab Demo Oracle Virtual Box
RL_2_7 Lab Demo Hyper-V
CS2.1 Virtualization Types of Virtualization
Types Advantages of Virtualization
Issues to be aware of Virtualization
CS2.2 Managing Virtual Manage the resources for the SaaS, PaaS and IaaS models
Resources on the Dockers
Cloud
LE2.1 Go through RL 2.5, 2.6, 2.7 and solve exercise in Lab sheet 1
SS2.1 Study: KVM, Xen, Hyper-V, VirtualBox
HW2.1 Exercise on Docker Container
QZ2.1
M3: Infrastructure as a Service
Managing Virtual Resources on the Cloud
Type Title Description
RL3.1 IaaS Key concepts of IaaS
Two primary facets that make IaaS special
The value of IaaS
RL3.2 AWS Amazon Web Services
AWS infrastructure services
Amazon Elastic Compute Cloud (Amazon EC2)
Infrastructure Services
RL3.3 Openstack - Openstack overview
CaseStudy Openstack Components
Nova, Swift, Horizon, Keystone, Cinder, Neutron, Glance
Conceptual Architecture
RL3.4 Virtual Machine Virtual Machine Provisioning and Manageability Life Cycle
Provisioning VM Provisioning Process
VM Provisioning using templates
Examples - Vagrant, Heat(Orchestration Tool of openstack)
RL3.5 Virtual Machine Virtual Machine Migration Services
Migration Cold/regular migration
Live Migration Technique
Live Migration Demo
RL3.6 Lab Demo AWS-InstanceCreation
RL3.7 Lab Demo AWS-S3-ObjStorage
RL3.8 Lab Demo OS-Openstack-Install-Setup
RL3.9 Lab Demo OS-InstanceCreation
RL3.10 Lab Demo OS-InstanceCreateWithVol
RL3.11 Lab Demo OS-Swift-ObjStorage
RL3.12 Lab Demo OS-LoadBalancer-Manual
RL3.13 Lab Demo OS-InstanceCreate-Heat-Provision
RL 3.14 Lab Demo OS-LoadBalancer-Heat-Provision
RL3.15 Lab Demo Vagrant-Provision-WebServer
RL3.16 Lab Demo Part1-Proxmox-Cluster-Provision-Migration
RL3.17 Lab Demo Part2-Proxmox-Cluster-Provision-Migration
CS 3.1 Infrastructure as a Introduction to IaaS
Service IaaS examples
Reference Model of AWS
Region Vs Availability zones
CS 3.2 AWS - Storage Amazon S3, Amazon Glacier, Amazon EBS, AWS Import/Export
and Database Amazon RDS, Amazon DynamoDB, Amazon AWS Demo
Services Amazon Cloud Services - CloudFront, Elastic Load Balancer, Elastic Block Storage
CS 3.3 Openstack Openstack overview and Components
CS 3.4 VM Provisioning Virtual Machine Provisioning Process
and Migration VM Provisioning using templates, Examples - Vagrant
VM Migrations Techniques
LE3.1 Install Openstack and carry out exercise on RL 3.9-3.17
SS3.1 RL 3.6 - 3.17, Try using Openstack - http://trystack.org/
HW3.1 Compare Openstack vs AWS (Similarities and Differences)
QZ3.1
M4: Containers
Type Title Description
RL4.1 SW Virtualization Dockers
How are Docker Containers different from a Virtual Machine?
Docker Container Lifecycle
Dockerfile
CS4.1 Containers Linux Containers - LXC and LXD
CS4.2 Cloud orchestration technologies
LE4.1
SS4.1
HW4.1
QZ4.1
M5: Platform as a Service and SaaS
Type Title Description
RL5.1 Dependency on IaaS and PaaS
Introduction to PaaS
Building blocks of PaaS
Characteristics of PAAS
Advantages and Risks
RL5.2 Paas Example: Windows Azure
Windows Azure Runtime Environment
Paas Vendors
RL5.3 Introduction to Dependency on IaaS and PaaS
SaaS What is SaaS?
Problems in traditional Model
SaaS – How is it delivered
RL5.4 SaaS – SaaS – Architecture
Architecture SaaS Models
Business Model comparisons
RL5.5 SaaS Advantages SaaS Advantages
SaaS User and Vendor Benefits (CS)
SaaS - Applicability
RL5.6 Lab Demo Get Azure Account
RL5.7 Lab Demo Running Azure app locally
RL5.8 Lab Demo Deploying the local app to Azure
RL5.9 Lab Demo Determine which instance gets serves the request
CS5.1 Intro to PaaS Introduction to PaaS
PaaS examples
5 Principles of UI Design - AWS PaaS
CS5.2 SaaS Introduction to SaaS
Pros and Cons of SaaS model
LE5.1 Try exercise on SS 5.1
SS5.1 RL 5.5, 5.6
HW5.1
QZ5.1
M6: Capacity management and Scheduling in cloud computing
Type Title Description
RL 6.1 Capacity Managing Cloud - Introduction
Management and
Scheduling
RL 6.2 VIM Why a Virtual Infrastructure Manager?
Extending the Benefits of Virtualization to Clusters
Virtual Machine Management Model
RL 6.3 OpenNebula What is OpenNebula?
The Benefits of OpenNebula
Interoperability from the Cloud Provider perspective
The Benefits for System Integrators (CS)
The main features of OpenNebula
Comparison with Other technologies (CS)
RL 6.4 OpenNebula OpenNebula Architecture
Process separation
Constructing/Management of a private cloud
System Overview
Complex Storage behind OpenNebula
Networking for private clouds
Users Management(CS)
Preparing VMs for OpenNebula
VM Description
VM States overview
Hybrid cloud
Making an Amazon EC2 hybrid
CS 6.1 Capacity Capacity management
Management Distributed management of virtual machines
CS 6.2 Scheduling Reservation-based provisioning of virtualized resource
Provisioning to meet SLA commitments
LE 6.1
SS 6.1 Documentation of OpenNebula
HW 6.1 Install OpenNebula, Create instances and cluster
QZ 6.1
M7: Issues and Challenges : Availability, Multi-Tenancy, Security and SLA
Type Title Description
RL 7.1 Availability High Availability
Key aspects of SLA
RL 7.2 Multi-Tenancy Multitenancy – What is it?
Pros and Cons
Traditional Deployment Model
Multitenancy – Introduction
Multi-tenants Deployment Modes for Application Server
Multi-tenants Deployment Modes in Data Centers
RL 7.3 Security Introduction to cloud security
Cloud Security Issues
Loss of Control in the Cloud
Multi-tenancy Issues in the Cloud
Taxonomy of Fear
Threat Model
CS 7.1 Multi-Tenancy Multi-Tenancy
4 levels of multi tenancy
Top 5 cloud security threats
CS 7.2 Security and SLA who is responsible for managing security
Service License Agreements: Lifecycle and Management
Traditional approaches to SLO management
Automated Policy based management
Managing Clouds: Services and Infrastructure
LE 7.1
SS 7.1 Study - NimSoft, Netchart
HW 7.1
QZ 7.1
M8: Distributed File System (DFS) and Hadoop
Type Title Description
RL 8.1 Hadoop Why Hadoop?
Introduction to BIG DATA
Hadoop Features
Hadoop Framework Tools
RL 8.2 Hadoop Hadoop common Component
MapReduce (Data Processing Framework)
MapReduce Processing flow
Architecture Overview
Distributed Word Count
Word Count Execution
MarketRatings example and Program demo
MapReduce Execution Details
Fault Tolerance in MapReduce
Challenges of Cloud Environment
RL 8.3 Lab Demo HadoopMapReduce-MarketRating
RL 8.4 Lab Demo WordCountingwithApachePig
CS 8.1 DFS Introduction to Distributed File System
Case Study HDFS
Setting started - Amazon EMR
CS 8.2 Hadoop Hadoop components and importance of MapReduce
MapReduce Facts
Amazon EMR - Plan and Configure clusters (# only for CSI)
AMazon EMC - Manage Clusters (# only for CSI)
LE 8.1 Install Hadoop and Carry out exercise on Word count and Market ratings
SS 8.1 Study - Hive, PIG, HBase of Hadoop
HW 8.1
QZ 8.1
Part B: Course Handout
Recommended Structure by Content Development Team
Academic Term .
Course Title Cloud Computing
Course No SE * ZG527
Lead Instructor Chandra Shekar RK
Instructor Nayan Khare
There are 20 contact hours; 10 before mid-semester and 10 post mid-semester.
The 9th &10th contact hour is pre-mid sem review while 19th & 20th contact
hour is pre-comprehensive review
In the tabular cells quote appropriate legends from the modular
structure table.
Contact Pre-contact hour During Contact Post-contact hour
hour prep hour
1 RL 1.1 CS 1.1 SS 1.1
2 RL 1.2, 1.3 CS 1.2 HW 1.1
3 RL 2.1, 2.2 CS 2.1 SS 2.1, RL 2.5, 2.6, 2.7
4 RL 2.3, 2.4 CS 2.2 HW 2.1, LE 2.1
5 RL 3.1, RL 3.2 CS 3.1 RL 3.8, SS 3.1
6 RL 3.3 CS 3.2 RL 3.6, 3.7
7 RL 3.4 CS 3.3 RL 3.9 - 3.15
8 RL 3.5 CS 3.4 RL 3.16 , 3.17
LE 3.1
9 RL 4.1 CS 4.1 SS 4.1
10 CS 4.2 LE 4.1
11 RL 5.1, 5.2 CS 5.1 SS 5.1
12 RL 5.3, 5.4, 5.5 CS 5.2 RL 5.6 - RL 5.9, LE 5.1
13 RL 6.1, 6.2 CS 6.1 SS 6.1
14 RL 6.3, 6.4 CS 6.2 HW 6.1
15 RL 7.1, 7.2 CS 7.1
16 RL 7.3 CS 7.2 SS 7.1
17 RL 8.1 CS 8.1 SS 8.1
18 RL 8.2 CS 8.2 RL 8.3, 8.4, LE 8.1
19 Review Review Review
20 Review Review Review