Introduction to Cloud Computing (GESC1001) - Fall 2020
Philippe Fournier-Viger
Professor, Ph.D.
Office: T2709A, School of Humanities and Social Sciences
E-mail: philfv8@yahoo.com ( please use this e-mail to contact with me)
Course information
- Course title: Introduction to Cloud Computing
- Prerequisite(s): none
- 16 hours (8 lectures), 1 credit, undergraduate course, general course
- QQ group: 1127433879
- Evaluation:
- Attendance (10 %)
- Course work (30 %, two assignments)
- Final exam (60%)
Content of this course
In everyday life, we use computers to perform various tasks such as writing documents and accounting. For many of those tasks, using a single computer is enough. However, for some tasks, the computing power of a single computer is not enough to ensure that the tasks are completed in a reasonable time, and the amount of data may exceed the capacity of a single computer. This is the case for tasks such as weather prediction, which requires to run complex simulations that may take several days to run on a single computer. Moreover, as we use the Internet in everyday life, we expect Internet services (e.g. websites, cloud storage) to be accessible not just at home but in various locations, and we expect these services to be fast and reliable. Cloud computing is a popular paradigm that addresses these challenges. In Cloud computing, several computers (the Cloud) work together to perform a task, to provide large storage space, and reliable services to users. However, designing a Cloud raises several challenges from the point of view of technology (in terms of hardware, software, and network), privacy and security.
The goal of this course is to give a good overview of what is cloud computing, how it works, and when it should be used.
Note that since this course is a general course, there is no prerequisite for taking this course, and thus, it is not required to be familiar with programming. The assignments will be done in a team, and will require to submit a Word or PPT document. More details about assignments will be given in the class.
This course is composed of 8 lectures.The first lecture introduces this course. Then the concept of cloud computing will be presented. The characteristics of cloud computing will be reviewed and how it differs from traditional computing (using a single computer). The advantages and disadvantages of cloud computing will be discussed. Moreover, some important issues raised by cloud computing will be presented such as security.
The second lecture will discuss the concept of distributed and parallel systems. Cloud computing is a type of distributed and parallel system. But there exists other types of parallel or distributed systems such as multi-processor computers. The difference will be explained. Moreover, challenges raised by using parallel and distributed systems will be explained such as: how to deal with concurrent accesses to data, problems related to the communication between computers (e.g. message loss, corrupted messages), and the problem of synchronization between computers.
The third lecture will present the infrastructure required to perform cloud computing. We will discuss the infrastructure used by companies such as Amazon and Microsoft, as a case study, and in particular, the technology required so that they are used by multiple users at the same time.
The fourth lecture will discuss the challenges of developping cloud applications (software programs) that can run on a cloud to perform some tasks, compared to developing an application that run on a single computer. Some example of cloud applications will be discussed. The problem of coordination in the Cloud will be discussed with the ZooKeeper model.
The fifth lecture will discuss the development of cloud applications in more details. The students will be introduced to the MapReduce model, which is used in technologies such as Hadoop. Some detailled examples of how Hadoop can be used to perform tasks on the cloud will be given. Moreover, other technology such as Spark will be briefly discussed.
The sixth lecture will discuss the concept of virtualization to simplify some aspects of resource management in the cloud. The concept of virtual machine will be discussed, and how it is used in cloud computing architecture.
The seventh lecture will discuss data storage in the cloud. The concept of "Big data" will be discussed. An overview of different ways of storing the data in the cloud will be presented, including a case study with the GFS and Hadoop file systems.
The eight lecture will discuss the issue of security in the cloud. This includes aspect such as protecting the data stored in the cloud from hackers, malware, viruses, insiders, and attacks on virtual machines. The importance of trust will also be discussed. This lecture will also discuss the preparation for the final exam.
Lecture slides (PPTs) and assignments
Week
第 7 节 16:00-16:50
第 8 节 16:55-17:45
Room: T5509
( From now on, the course will be at T5509)Topic
Week 1
Wednesday
2nd September
Introduction to cloud computing - chapter 1 (PDF / Powerpoint)
Week 2
Wednesday
9th SeptemberDistributed and parallel systems - chapter 2
(PDF / Powerpoint)
Week 3
Wednesday
16th September
Cloud infrastructure - chapter 2 and 3
(PDF / Powerpoint)
Week 4
Wednesday
23rd September
Cloud application paradigm (part 1) - chapter 4
(PDF / Powerpoint)
Week 5
Wednesday
30th September
Cloud application paradigm (part 2) - chapter 4
(PDF / Powerpoint)
First homework to submit on the 10th October before 23:59 PM at the e-mail address of the teaching assistant as a Word file or PDF file. The e-mail will be announced in the QQ group.
Each student must do the homework by himself. This is not a team work.
Week 6
WednesdayNo course this week Week 7
Wednesday
14th October
Cloud virtualization and resource management - chapter 5 -
(PDF / Powerpoint)
Week 8
Wednesday
21st October
Cloud storage - chapter 8
(PDF / Powerpoint)
Second homework to submit on the 30th October before 23:59 PM at the e-mail address of the teaching assistant as a Word file or PDF file. The e-mail will be announced in the QQ group.
Each student must do the homework by himself. This is not a team work.
Week 9
Wednesday
28th OctoberCloud computing security - chapter 9
(PDF / Powerpoint)
******* GRADES OF HOMEWORK 1 *********
Here are the grades of the first homework:
序号 学号 成绩 1 __0110523 14 2 __0110613 11 3 __0210103 12 4 __0210121 11 5 __0210222 11 6 __0410118 11 7 __170310216 14 8 __0320416 11 9 __0320420 13 10 __0320516 12 11 __0330108 12 12 __0420110 11 13 __5071003 12 ********** GRADES OF HOMEWORK 2 **********
And here are the grades of the second homework:
__0110523 13 __0110613 14 __0210103 12 __0210121 12 __0210222 13 __0410118 13 __170310216 11 __0320416 11 __0320420 13 __0320516 14 __0330108 14 __0420110 13 __5071003 12 20th November
Final Exam (120 minutes)
2020-11-20
16:00-18:00
Room : T3603Closed-book exam / Do not forget to bring your student ID.
The final exam will have about 10 questions. Several questions will require to write a short answer in English (typically a few sentences). Some types of questions that I like to ask in final exams are:
- What is the difference between X and Y ?
- Explain what is "X".
- Explain why X works in a certain way
Bibliography
I will use the following textbook to prepare the course:
D. C. Marinescu. Cloud Computing Theory and Practice, Morgan Kaufmann, 2013.
This book is used for preparing the lectures. It is not required to read the book, as very detailled PPTs will be provided for each lecture, above.
Besides, I will also add some content that is not in the book, and skip some less relevant content from the book.Other interesting references::
- L. Wang, R. Ranjan, J. Chen, B. Benatallah. Cloud Computing: Methodology, Systems, and Applications, CRC Press, 2011.
- R. Buyya, J. Broberg, A. M. Goscinski. Cloud Computing: Principles and Paradigms, John Wiley & Sons Inc., 2011.
- T. White. Hadoop: The Definitive Guide (4th Edition), Tom White, O'Reilly Media, 2015.
- G. Coulouris, J. Dollimore, T. Kindberg, G. Blair. Distributed Systems: Concepts and Design, Fifth Edition, Addison Wesley, 2011.