CS5224 Cloud Computing - 2019/20 Semester 2

(updated: 6 January 2020)

 

L00: Overview

·        Learning Objectives

·        What we cover?

·        Course Schedule & Webpage

·        Main Text

·        Module Assessment

Books

1.      Cloud Computing: Concepts, Technology and Architecture, Thomas Erl, Zaigham Mahmood and Ricardo Puttini, Prentice-Hall, 2013. [CTA]

2.      The Datacenter as a Computer – Designing Warehouse-Scale Machines, 3rd edition, Morgan & Claypool Publishers, 2019 (available online). [DC]

 

PART A: Principles of Cloud Computing

L01: Introduction [CTA-chapter 3, DC – chapter 1]

·        Three Eras of Computing

·        What and Why

·        Cost Model

·        History

·        Key Business Drivers

·        Basic Concepts & Terminology

·        Technical and Non-Technical Challenges

·        Summary

References

1.      Above the Clouds: A Berkeley View of Cloud Computing, 2009.

2.      The NIST Definition of Cloud Computing, NIST Report, 2011.

 

L02: Concepts and Models [CTA – chapter 4]

·         NIST Definition

·         Cloud Characteristics

·         Cloud Service (Delivery) Models

·         Conceptual Reference Architecture

·         Cloud Deployment Models

·         Summary

References

1.      NIST Cloud Computing Reference Architecture, NIST Report, 2011.

 

L03: Cloud Architecture [CTA – chapter 11]

·        Purpose

·        How to organize (partition) resources?

·       How to operate/manage resources to meet certain objectives?

·        Summary

 

L04: IBM Cloud Services (PaaS, SaaS)

·         Objective

·         Organization of Global Cloud Datacenters

·         IBM Cloud Services and High-level Architecture

·         Examples

1.      PaaS: Developing a Web Application

2.      SaaS: IBM Watson Analytics & Example

3.      SaaS: Analytics using Db2 Database Service, R Script and Visualization

·         Summary

References

1.      NodeJS-DashDB example

2.      Demo: Getting Started with Node.js on Bluemix 2014- https://www.youtube.com/watch?v=sHhNoV-sS_I&list=PLJxa6IsF8C5qFbRinR2ZaEZ3AiIFtdLqx (13 mins)

3.      IBM Bluemix The Cloud Platform for Creating and Delivering Applications, IBM Redbooks, 2015.

4.      Bluemix users: https://www.ibm.com/cloud-computing/bluemix/case-studies

5.      Watson SDK help: https://github.com/watson-developer-cloud/node-sdk

6.      Watson startup guide: https://console.bluemix.net/docs/services/watson/developing-nodejs.html#developing-a-watson-application-in-node-js

7.      IBM dashDB: 

8.      http://www-01.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.kc.doc/welcome.html

9.      SQL Query: http://www.w3schools.com/sql/

10.   R Language: http://cran.r-project.org/doc/manuals/r-release/R-intro.html

11.   Plotting: http://docs.ggplot2.org/current

12.   IBM DSX Getting Started Guide: https://datascience.ibm.com/docs/content/getting-started/get-started.html

13.   IBM DSX Tutorials: https://github.com/IBMDataScience/dsx-tutorials

14.   IBM Watson How it Works – 2015 - https://www.youtube.com/watch?v=_Xcmh1LQB9I

15.   IBM Watson Personality Insights : demo and tools - https://personality-insights-demo.ng.bluemix.net/

 

Lab01: IBM Cloud Services (PaaS, SaaS)

·         Objective

·         IBM Cloud

·         Examples

1.      PaaS: Web Application to Query in-Cloud Database

2.      SaaS: Web Application with Watson Personality Insights Service

3.      SaaS: Analytics with Simple SQL, R Scripting and Visualization

                     I.         Querying with SQL Scripting

                    II.         Analytics with R Scription

·         Summary

References

1.      NodeJS-DashDB example

2.      Demo: Getting Started with Node.js on Bluemix 2014- https://www.youtube.com/watch?v=sHhNoV-sS_I&list=PLJxa6IsF8C5qFbRinR2ZaEZ3AiIFtdLqx (13 mins)

3.      IBM Bluemix The Cloud Platform for Creating and Delivering Applications, IBM Redbooks, 2015.

4.      Bluemix users: https://www.ibm.com/cloud-computing/bluemix/case-studies

5.      Watson SDK help: https://github.com/watson-developer-cloud/node-sdk

6.      Watson startup guide: https://console.bluemix.net/docs/services/watson/developing-nodejs.html#developing-a-watson-application-in-node-js

7.      IBM dashDB: 

8.      http://www-01.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.kc.doc/welcome.html

9.      SQL Query: http://www.w3schools.com/sql/

10.   R Language: http://cran.r-project.org/doc/manuals/r-release/R-intro.html

11.   Plotting: http://docs.ggplot2.org/current

12.   IBM DSX Getting Started Guide: https://datascience.ibm.com/docs/content/getting-started/get-started.html

13.  IBM DSX Tutorials: https://github.com/IBMDataScience/dsx-tutorials

 

 

PART B: Technologies behind Cloud Computing

L05: Resource Hosting and Datacenter [CTA – chapter 5 and Appendix D, DC – chapters 1 & 4]

·         Resource Hosting

·         Main Components in a Datacenter

·        Datacenter Tiers

·        Energy Usage and Power Efficiency

·         Summary

References

1.      Efficiency: How we do it, Google Datacenters, July 2017.

2.      Data Centres Shine Amid Property Gloom, Straits Times, Jan 12, 2016.

3.      Building Data Centres at Sea An Idea Worth Floating, Straits Times, May 2017.

 

L05S: Datacenter at the School of Computing

·         Objective

·         SoC Datacenters: CR1 and CR2

·         Unix and Windows Servers

·         Others

·         Safety during Tour

 

L06: Virtualization and Multitenancy

·        Types of Virtualization

·        Approaches to Virtualization

·        Types of Hypervisors

·        Containers

·        Multitenancy

·        Virtualization and Cloud Service Delivery Models

·        Summary

 

PART C: Applications & Programming

L07: Applications & Paradigms

·        Cloud Applications

·        Common Features

·        Applications

·        Challenges in Developing Applications

·        Architectural Styles – Web Services

·        Application Development Models

·        IaaS, PaaS and SaaS

·        MapReduce Programming Model

·        Example: Word Count

·        Hadoop

·        Summary

References

1.      REST in the cloud: A primer on RESTful APIs in the cloud (https://www.ibm.com/developerworks/cloud/library/cl-RESTfulAPIsincloud/index.html)

2.      MapReduce: simplified data processing on large clusters (https://research.google.com/archive/mapreduce-osdi04.pdf)

3.      Apache Hadoop: http://hadoop.apache.org

4.      The Hadoop distributed file system (http://storageconference.us/2010/Papers/MSST/Shvachko.pdf)

 

Exercise - L07s: Setting up a SaaS, PaaS and IaaS Blog on Bluemix

 

L08: Amazon Web Services (IaaS, PaaS, SaaS, FaaS)

§  Objectives

§  Main EC2 Steps

§  Main steps for Amazon EMR

§  Summary

References

1.      AWS EC2 - https://www.youtube.com/watch?v=TsRBftzZsQo (4 min)

2.      AWS S3 - https://www.youtube.com/watch?v=Yyraql9A_Rc (7 min)

3.      AWS EMR - https://www.youtube.com/watch?v=Hhj3fOdt7zo (10 min)

4.      https://aws.amazon.com/getting-started/tutorials/launch-a-wordpress-website/

5.      http://searchaws.techtarget.com/definition/Amazon-Elastic-MapReduce-Amazon-EMR

6.      http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

7.      http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html

8.      http://wiki.apache.org/hadoop/AmazonEC2?action=recall&rev=10

9.      http://wiki.apache.org/hadoop/AmazonEC2

10.   https://portal.futuresystems.org/manual/hadoop-wordcount

 

Lab02: Amazon Web Services (IaaS, PaaS, SaaS, FaaS)

§  Objective

§  Main EC2 steps

§  Main steps for Amazon EMR

§  Summary

References

1.      https://aws.amazon.com/getting-started/tutorials/launch-a-wordpress-website/

2.      http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

3.      http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html

4.      http://wiki.apache.org/hadoop/AmazonEC2?action=recall&rev=10

5.      http://wiki.apache.org/hadoop/AmazonEC2

6.      https://portal.futuresystems.org/manual/hadoop-wordcount

 

L09: Examples of IaaS, PaaS and SaaS

·        K-Means Clustering using Elastic MapReduce (IaaS, PaaS)

References

1.      http://cmj4.web.rice.edu/MapRedKMeans.html

2.      http://www.kau.edu.sa/GetFile.aspx?id=187901&Lng=ar&fn=k-mean-clustering.ppt

3.      http://en.wikipedia.org/wiki/K-means_clustering

4.      http://aws.amazon.com/elasticmapreduce/

·        Building a Video-Sharing SaaS Cloud Application

§  Objective

§  Design of Application

§  Performance and Scaling

§  Pricing

§  Summary

References

1.      How AWS Pricing Works, July 2014.

 

L10: Cloud Software Development

·        Learning Objectives

·        Different Perspectives of SaaS Development

§  SaaS from Managed Infrastructure and Platform

§  SaaS from IaaS and Managed Platform

§  SaaS from Managed Infrastructure and PaaS

§  SaaS from IaaS and SaaS

·        Cloud-aware Software Development using PaaS

§  Requirement Analysis

§  Multitenant Architecture

§  Scalable and Available Architecture

§  Database Design

§  SaaS Development

§  Monitoring and SLA Maintenance

·        Summary

 

PART C: Cloud Management

L11: Pricing Models and Modeling TCO [CTA chapter 15, DC – chapter 6]

§  Pricing Models: Integrated and Separate

§  Cost Metrics

§  Total Cost of Ownership

§  Summary

References

1.      How AWS Pricing Works, Amazon, 2012.

2.      The Total Cost of (Non) Ownership of Web Applications in the Cloud, Jinesh Varia, August 2012.

 

L10: Summary and Open Issues

§  Review of Topics Covered

§  Revisit of Learning Objective

§  Open Issues

§  Cloud Computing and Beyond

References

1.      Cloud Computing Synopsis and Recommendations (Open Issues), NIST Report, May 2012.

2.      Challenges and Opportunities with Big Data, Computing Community Consortium, Feb 2012.

3.      Big Data Computing and Clouds: Trends and Future Directions, Journal of Parallel & Distributed Computing, 79-80 (2015), 3-15.

 

Books

1.      Cloud Computing: Concepts, Technology and Architecture, Thomas Erl, Zaigham Mahmood and Ricardo Puttini, Prentice-Hall, 2013. [CTA]

2.      The Datacenter as a Computer – Designing Warehouse-Scale Machines, 3rd edition, Morgan & Claypool Publishers, 2019 (available online). [DC]