CS773 Cloud Computing
Year 2018
by Rajeev Wankar
Brief Description
Objective: This course is proposed for M.Tech.
(CS/IT/AI/Integrated) and MCA IV students. By the end of the semester,
students should be able to develop the following skills:
(i) Should be able to write and deploy Web Services using Java or other
technologies.
(ii) Should be able to write and deploy Cloud Services.
(iii) Given a practical application, identify the issues and apply
suitable techniques studied in the course to it effectively.
More specific objectives will also be given later for each lecture.
Prerequisite: Knowledge of Distributed Computing, Networks,
Java/C/C++/Python/C# and Unix/Linux/Windows.
Preferred Books/Material
Books
-
Books (Web Services)
- Beginning Java web services, Henry Bequet et. al., a! press
- Programming web services with SOAP, James Snell et. al., O’ Reilly
publisher
Books (Cloud)
- Mastering Cloud Computing: Foundations and Applications Programming,
Rajkumar Buyya, Christian Vecchiola, and Thamarai Selvi
- Distributed and Cloud Computing: From Parallel Processing to the
Internet of Things Kai Hwang , Jack Dongarra , Geoffrey C. Fox.
Course Outline: Here is a preliminary and non-exhaustive list
of topics we will be or might be covering. This is subject to change with
advanced notice, partly based on the understanding of the students.
Lecture Notes
- Basics of Web Services:
Extensible Mark-up Language XML Introduction, some key aspects of XML,
Document-centric XML Data-centric XML, XML-based Web Services, Simple
Object Access Protocol (SOAP), Web Service Definition Language (WSDL),
UDDI (Universal Description Discovery and Integration) discovery that
form a basis for Web Services, exploring JAXR, jUDDI, UDDI4J etc.
Technologies include HTML, HTTP, XML, SOAP, and WSDL, Development of
Java Web Services.
- Virtualization and Resource Provisioning
Introduction to Cloud Technologies, Study of Hypervisors
Virtualization Technology: Virtual machine technology, virtualization
applications in enterprises, Pitfalls of virtualization Multitenant
software: Multi-entity support, Multi-schema approach, Multi-tenancy
using cloud data stores, Data access control for enterprise
applications
- Introduction to Cloud Computing:
Definition, Characteristics, Components, Cloud provider, SAAS, PAAS,
IAAS and Others, Organizational scenarios of clouds, Administering
& Monitoring cloud services, benefits and limitations, Deploy
application over cloud, Comparison among SAAS, PAAS, IAAS Cloud
computing platforms: Infrastructure as service: Amazon EC2,Platform as
Service: Google App Engine, Microsoft Azure, Utility Computing,
Elastic Computing
- Data
Management in Clouds:
- Security in Clouds:
Cloud security fundamentals, Vulnerability assessment tool for cloud,
Privacy and Security in cloud computing security architecture:
Architectural Considerations- General Issues, Trusted Cloud computing,
Secure Execution Environments and Communications, Micro-architectures;
Identity Management and Access control-Identity management, Access
control, Autonomic Security Cloud computing security challenges:
Virtualization security management- virtual threats, VM Security
Recommendations, VM-Specific Security techniques, Secure Execution
Environments and Communications in the cloud.
- Programming Enterprise Clouds:
Introduction, Aneka Architecture, Aneka Deployment, Parallel
Programming Models, Thread Programming using Aneka, Task Programming
using Aneka, and MapReduce Programming using Aneka, Parallel
Algorithms, Parallel Data mining, Parallel Mandelbrot, and Image
Processing.
Advanced Topics and Cloud Applications:
Cloud computing platforms, Installing cloud platforms and performance
evaluation Features and functions of cloud platforms: Xen Cloud
Platform, Eucalyptus, OpenNebula, Nimbus, Apache Virtual Computing Lab
(VCL).
Applications
Image Processing functions, some computationally Hard problems, Mandelbrot
set, etc.
Assignments
Students will be given assignments based on the course contents. They are
expected to write and deploy web services, web services on multiple
machines in LAN . They are also expected to write and execute programs
using Aneke.
Software Downloads for Web Computing (follow any link):
Documentation for Web Computing
Web sites (Not Exhaustive)
Assessments: Internal: 40 Marks
Three internals of 30 marks each (best two will be selected) Lab assignments
(10) marks