Cloud Computing
The following course material is created to teach undergraduate and post-graduate students. The web-content includes video lectures, slides, and references, which are given as following.
The Lectures (2020-21), Lectures (2022) from the older content and slides
The course content https://github.com/animesh88/CloudComputing
Chapter 1 Cloud Computing Introduction
History of Computing
Requirements of Cloud Computing
Different clouds
Hardware & software Infrastructure
Chapter 2 Cloud Computing Architecture
NIST Cloud Computing Architecture
Cloud Services
Web Services in Grid and Cloud Computing
Representational State Transfer (REST) API,
Web 2.0, RSS Feed, Mash-up
Chapter 3 Cloud Service Life-cycle Management
Cloud Service Life-Cycle,
Cloud Deployment Scenario: NIST Cloud Computing Standards Roadmap,
Cloud Service Development and Testing (NetBeans and Eclipse for Web Service Development, JMeter and SoapUI for Web Service Testing),
Web Service Slicing for Regression Testing of Services (Intra and Inter Operational Analysis),
Cloud Service Evolution Analytics: Change and Evolution Mining of a Distributed System, Service Change Classifier, Service Evolution Metrics,
Quality of Service (QoS) and Service Level Agreement (SLA)
Chapter 4 Cloud Virtualization and Storage
Virtualization at the infrastructure level
Eucalyptus and Amazon Machine Image
Storage Area Network (SAN)
No SQL and CAPS
Chapter 5 Cloud Platforms and Frameworks
IaaS and Hybrid Cloud
Orchestration & Virtualization: Eucalyptus & Amazon
Content Delivery Network (CDN): Facebook and Akamai
PaaS and Container as a Service (CaaS)
PaaS: Google App Engine (GAE) and Ruby on Rails
CaaS: DockerHub
SaaS and Distributed Version Control (DVC)
SaaS: Facebook Testing (Infer and Sapienz)
DVC: GitHub and Git-LFS
Chapter 6 Distributed Computing Systems
Distributed File System
Map Reduce
Chapter 7 Big Data Analytics
Big Data
Storm
Spark: Big Data Analytics
Resilient Distributed Datasets (RDD)
Spark libraries (SQL, DataFrames, MLlib for machine learning, GraphX, and Streaming)
PFP: Parallel FP-Growth
Chapter 8 Cloud Regulatory, Privacy, and Security
Regulatory Issues
Privacy concerns
NIST Guidelines, GDPR, CDN Security
Chapter 9 Ubiquitous Computing
Edge Computing
Cloudlet
Fog computing
Internet of Things (IoT)
Virtual Conferencing
Virtual Events (3D, and Hybrid)
Fundamental types of Questions and Answers in Cloud Computing Quiz
Reference Articles:
1. Fox Armando, Rean Griffith, A. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, and I. Stoica. "Above the clouds: A Berkeley view of cloud computing." Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS 28 (2009): 13.
2. Creeger, Mache. "Cloud Computing: An Overview." ACM Queue 7.5 (2009): 2.
3. Foster, Y. Zhau, R. Ioan, and S. Lu. “Cloud Computing and Grid Computing: 360-Degree Compared.” Grid Computing Environments Workshop, 2008.
4. Liu, F., Tong, J., Mao, J., Bohn, R., Messina, J., Badger, L., & Leaf, D. (2011). NIST Cloud Computing Reference Architecture. NIST Special Publication, 500, 292.
5. Kohlborn, Thomas, Axel Korthaus, and Michael Rosemann. "Business and software service lifecycle management." 2009 IEEE International Enterprise Distributed Object Computing Conference. IEEE, 2009.
6. Joshi, Karuna P., Yelena Yesha, and Tim Finin. "Automating cloud services life cycle through semantic technologies." IEEE Transactions on Services Computing 7.1 (2012): 109-122.
7. Sokol, Annie W., and Michael D. Hogan. NIST Cloud Computing Standards Roadmap. No. Special Publication (NIST SP)-500-291r2. 2013.
8. Animesh Chaturvedi, and David Binkley. "Web Service Slicing: Intra and Inter-Operational Analysis to Test Changes." IEEE Transactions on Services Computing (2018).
9. Animesh Chaturvedi, Aruna Tiwari, Shubhangi Chaturvedi, and Dave Binkley “Service Evolution Analytics: Change and Evolution Mining of a Distributed System”, IEEE Transactions on Engineering Management (2020).
10. Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. 2013. https://dl.acm.org/doi/pdf/10.1145/2517349.2522722
11. Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
12. Harman, Mark, and Peter O'Hearn. "From start-ups to scale-ups: Opportunities and open problems for static and dynamic program analysis." 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2018.
13. Hazelwood, Kim, et al. "Applied machine learning at facebook: A datacenter infrastructure perspective.” 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2018.
14. Naisan Benatar “Version Control” G51FSE Foundations of Software Engineering
15. Radack, Shirley. Guidelines For Improving Security And Privacy In Public Cloud Computing. No. ITL Bulletin March 2012. National Institute of Standards and Technology, 2012.
16. Zaharia, Matei, et al. "Apache spark: a unified engine for big data processing." Communications of the ACM 59.11 (2016): 56-65.
17. Zaharia, Matei, et al. "Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing." Presented as part of the 9th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 12. 2012.
18. Han Jiawei, Jian Pei, and Yiwen Yin. "Mining frequent patterns without candidate generation." ACM SIGMOD Record 29.2 (2000): 1-12.
19. Li, Haoyuan, et al. "PFP: Parallel FP-Growth for query recommendation." Proceedings of the 2008 ACM Conference on Recommender systems. 2008.
20. Weiser, Mark. "The computer for the 21st century." ACM SIGMOBILE mobile computing and communications review 3.3 (1999): 3-11.
21. IEEE Standard Association. "IEEE 1934-2018-IEEE Standard for adoption of OpenFog reference architecture for fog computing." (2018).
References
https://www.eucalyptus.com/eucalyptus-cloud/iaas/architecture
http://adrianmejia.com/blog/2011/08/11/ruby-on-rails-architectural-design/ https://rubyonrails.org/ https://www.ruby-lang.org/en/
https://www.java.com/en/ https://dev.java/ https://www.eclipse.org/ https://netbeans.apache.org/ https://www.java.com/en/download/help/index.html
https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf
Other Web Links References:
1. Wikipedia Pages: Cloud computing, Data center, CAP theorem, NoSQL, Distributed computing, Hypervisors, Ubiquitous computing, Edge computing, Cloudlet, and other miscellaneous pages related to the course example.
2. Other Web Pages of frameworks example Eucalyptus, Google App Engine, Google File System, Hadoop, HDFS, Storm, Docker, Amazon, Spark etc.
Evaluation Method
Item, Weightage (%)
Assignment 1 Write-up of the project: 10
Project Technical work: 20
Assignment 2 Presentation of Project: 10
Mid Term: 20
End Term: 40