Cloud Computing

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)


Chapter I Introduction to Cloud Computing

1.1 Cloud introduction and overview, NIST definition of Cloud computing, CAPEX to OPEX, History

1.2 Virtualization & Services, Hypervisors, Cloud Computing Technology, Hardware & software Infrastructure (Data Centers, Cloud Engines, Web Services, Hypervisors, Big Data)

1.3 Different clouds (Private, Public and Hybrid Cloud, Distributed Cloud, Multi-Cloud, Inter-Cloud), Risks (Privacy concerns)

1.4 Cloud Services (IaaS, PaaS, SaaS, and ‘X’ as a Service), Applications (SaaS), Regulatory Issues & Limitations,


Chapter II Cloud Computing Architecture

2.1 Requirements (Vertical Scale-Up and Horizontal Scale Out), Cloud Architecture (IaaS, PaaS, SaaS, Consumer, Provider, Broker, Auditor, and Carrier),

2.2 Architectures (Web 2.0, MashUp, RSS feed, Hadoop, HDFS, Map-Reduce, WordCount, Strom, Google File System, Google Content Management, Google Cloud Platform, Google App Engine, Google Web Tool–Kit, Eucalyptus, and Ruby-on-Rails),

2.3 SOA, Grid and Cloud Computing, Transactional (CAPS Theorem, and No-SQL), On Demand & Distributed Computing.


Chapter III Cloud Service Life-cycle Management

3.1 Cloud Life-Cycle, Cloud Deployment Scenario: NIST Cloud Computing Standards Roadmap,

3.2 Cloud Service Development and Testing (NetBeans and Eclipse for Web Service Development, JMeter and SoapUI for Web Service Testing),

3.3 Web Service Slicing for Regression Testing of Services (Intra and Inter Operational Analysis),

3.4 Cloud Service Evolution Analytics, Change and Evolution Mining of a Distributed System, Service Change Classifier, Service Evolution Metrics,

3.5 Quality of Service (QoS) and Service Level Agreement (SLA)


Chapter VI Cloud Platforms and Frameworks

4.1 Representational State Transfer (REST),

4.2 IaaS and Hybrid Cloud, Orchestration & Virtualization: Eucalyptus & Amazon, Content Delivery Network (CDN): Facebook and Akamai,

4.3 PaaS: Google App Engine (GAE) and Ruby on Rails, Container as a Service (CaaS): DockerHub,

4.4 SaaS: Facebook Testing (Infer and Sapienz), Distributed Version Control (DVC): GitHub and Git-LFS,

4.5 Cloud Security and Privacy policies, NIST Guidelines, GDPR, CDN Security.


Chapter V Big Data Analytics and Ubiquitous Computing

5.1 Big Data Analytics: Big Data, Spark, Resilient Distributed Datasets (RDD), Spark libraries (SQL, DataFrames, MLlib for machine learning, GraphX, and Streaming), PFP: Parallel FP-Growth

5.2 Ubiquitous Computing: Edge Computing, Cloudlet, Fog computing, Internet of things (IoT), Virtual Conferencing, Virtual Events (2D, 3D, 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


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

Quiz or Viva: 10

Mid Term: 20

End Term: 30