COMP7305A - Cluster and cloud computing

Summer Semester, 2023-24

Professor
Anthony T.C. Tam
Teaching assistant [TBA]
Syllabus This course offers an overview of current cloud technologies, and discusses various issues in the design and implementation of cloud systems.  Topics include cluster systems architecture and example distributed/parallel programming paradigms; cloud delivery models (SaaS, PaaS, IaaS, and Serverless Computing) with examples from popular public cloud platforms; virtualization techniques such as hypervisor, virtual machines, and Docker; container orchestration and management tools, such as Kubernetes; distributed programming models and systems such as MapReduce and Apache Spark; and distributed file systems, such as Hadoop file system. Students will gain experience in setting up a containerised environment using Kubernetes for running distributed applications (e.g., Web applications, Spark applications) on public cloud environments (e.g., Amazon, Microsoft, Google, Alibaba).

Prerequisites: Students are expected to perform installation and administration of various open-source cloud/distributed software on their machines and the cloud.  Basic understanding of Linux OS and administration, networking concepts and setup, and programming experiences (C/C++, Java, or Python) in a Linux environment are required.
Introduction by Professor

Cloud computing has been around for more than a decade, and it continues to be a very important platform driven heavily by the industry.  Some people consider it merely a buzzword for a group of old technologies that have been integrated to create a system of significant magnitude.  However, it is truly transforming the IT industry by enabling highly elastic and scalable delivery of enterprise applications and software as a service.  This course will focus on the underlying technologies that enable cloud computing, providing examples of various cloud deployment and delivery models.  Additionally, this course places greater emphasis on the practical aspect of cloud computing, specifically focusing on cloud-native application development.  Students will be introduced to the fundamental concepts of writing containerized applications and deploying them on the cloud platform using Kubernetes.  Azure cloud will be adopted as the testing platform for deploying applications, particularly Spark applications.

Learning Outcomes
Course Learning Outcomes Relevant Programme Learning Outcome
CLO1. Able to master the key technologies about the Cluster and Cloud Computing, and be able to contrast similar technologies PLO.4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16
CLO2. Able to self-learn the latest Cloud Computing technologies and build and deploy their own applications on Cloud platforms PLO.2, 4, 6, 7, 8, 9, 10, 11, 12, 14
View Programme Learning Outcomes
Pre-requisites Students are expected to perform installation and administration of various open-source software (Docker, minikube, Java, and Apache Spark) on their PCs/notebooks#.  Basic understanding of Linux OS and administration, networking concepts and setup, and programming experiences (in particular, python) in a Linux environment are required.
# - Your PC/notebook should have at least 4 (virtual) cores with 8 GB of physical memory.
Compatibility -
Topics covered
Course Content No. of Hours Course Learning Outcomes
Introduction of Cluster and Cloud Computing 3 CLO1
Cloud Computing Concepts 4 CLO1
Virtualization Concepts 3 CLO1
Docker (Intro + workshop) 5 CLO1, CLO2
Kubernetes (Intro + minikube + workshops) 5 CLO1, CLO2
Spark (Intro + workshop) 4 CLO1
Spark programming 6 CLO1, CLO2
 
Assessment
Description Type Weighting * Examination Period ^ Course Learning Outcomes
Continuous assessment Continuous Assessment 50% - CLO1, CLO2
Written exam covers all taught content in the course
Written Examination 50% 5 - 16 Aug 2024 CLO1, CLO2
* The weighting of coursework and examination marks is subject to approval
^ The exact examination date uses to be released when all enrolments are confirmed after add/drop period by the Examinations Office.  Students are obliged to follow the examination schedule.  Students should NOT enrol in the course if they are not certain that they will be in Hong Kong during the examination period.  Absent from examination may result in failure in the course. There is no supplementary examination for all MSc curriculums in the Faculty of Engineering.
Course materials -
Session dates
Date Time Venue Remark
Session 1 12 Jun 2024 (Wed) 7:00pm - 10:00pm CYP-P4  
Session 2 19 Jun 2024 (Wed) 7:00pm - 10:00pm CYP-P4  
Session 3 22 Jun 2024 (Sat) 2:00pm - 5:00pm CYP-P4  
Session 4 26 Jun 2024 (Wed) 7:00pm - 10:00pm CYP-P4  
Session 5 29 Jun 2024 (Sat) 2:00pm - 5:00pm CYP-P4  
Session 6 3 Jul 2024 (Wed) 7:00pm - 10:00pm CYP-P4  
Session 7 6 Jul 2024 (Sat) 2:00pm - 5:00pm MW-T3  
Session 8 10 Jul 2024 (Wed) 7:00pm - 10:00pm MW-T3  
Session 9 13 Jul 2024 (Sat) 2:00pm - 5:00pm MW-T3  
Session 10 17 Jul 2024 (Wed) 7:00pm - 10:00pm MW-T3  
CYP - Chong Yuet Ming Building MW - Meng Wah Complex
Add/drop 11 June, 2024 - 19 June, 2024
Maximum class size 150
Moodle course website
  • HKU Moodle: https://moodle.hku.hk/course/view.php?id=113962 (Login using your HKU Portal UID and PIN)

    - Please note that the professor maintains and controls when to release the Moodle teaching website to students.
    - Enrolled students should visit the Moodle teaching website regularly for latest announcements, course materials, assignment submission, discussion forum, etc.
Back