Cloud Systems (H) COMPSCI4106

  • Academic Session: 2024-25
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 4 (SCQF level 10)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes
  • Collaborative Online International Learning: No

Short Description

In this course, students will learn about system virtualisation and containerisation techniques as the foundation of cloud computing.

Furthermore, students will acquire a working knowledge of key cloud technologies and services (such as hypervisors, container runtimes and orchestrators, and cloud infrastructure and platform services) and related system designs (such as for load balancing, partitioning, and replication) for building scalable and fault-tolerant distributed systems. As part of this, students will develop the ability to critically evaluate available deployment options in the ever-changing cloud service landscape in the context of application-specific performance, dependability, security/privacy, and efficiency requirements.

Finally, students will gain a critical understanding of the growing environmental footprint of cloud computing as well as techniques for assessing and reducing the greenhouse gas emissions associated with cloud infrastructure and applications.

Timetable

Two one-hour lectures and one one-hour computer laboratory session per week

Requirements of Entry

Networks and Operating Systems Essentials 2 (or equivalent)

Introduction to Object Oriented Programming 2 (or equivalent)

Object Oriented Software Engineering 2 (or equivalent)

Systems Programming (H) (or equivalent)

Operating Systems (H) is recommended but not required

Excluded Courses

Cloud Systems (M)

Co-requisites

Big Data: Systems, Programming, and Management (H) (or equivalent) is recommended but not required

Assessment

Two programming-based assessed exercises (each worth 25%; practically embracing concepts covered in the course) and a final written examination (a written exam, 50%; focusing on the relevant theory).

 

AE1 assesses ILOs 1 and 2 by asking for a written report (around 400-600 words and 4-8 plots) documenting results obtained benchmarking various virtual resources in the context of given application requirements, requiring students to develop their own measurement scripts that run benchmarking tools on configured virtual resources.

 

AE2 assesses ILOs 4 and 5 by asking for a recorded presentation (around 8-10 minutes) documenting results obtained simulating multiple designs and/or deployments of a distributed edge/cloud system to identify a resource-/carbon-efficient application architecture.

 

For AE1 and AE2, students are asked to reflect and submit in small teams (of 2-4 students) or individually. Teamwork will allow more options to be compared in both AEs, providing a more comprehensive learning experience, and will enhance discussion and reflection. Submission expectations and scope will be scaled according to team size.

 

The final written exam assesses ILOs 1 to 5 (with an emphasis on ILO 3) using a combination of multiple-choice questions, long-form answers, and demonstrations of methods/algorithms.

 

The written exam is an individual assessment.

Main Assessment In: April/May

Are reassessment opportunities available for all summative assessments? Not applicable for Honours courses

Reassessments are normally available for all courses, except those which contribute to the Honours classification. Where, exceptionally, reassessment on Honours courses is required to satisfy professional/accreditation requirements, only the overall course grade achieved at the first attempt will contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 

Course Aims

This course aims to provide students with an integrated understanding and practical experiences of designing, operating, and evaluating cloud systems against given performance, dependability, security/privacy, efficiency, and sustainability requirements.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. compare various shared resource virtualisation/containerisation techniques in terms of their performance overhead, resource isolation, and provided flexibility;

2. evaluate options for deploying software application components in the ever-changing landscape of available cloud services;

3. employ resource management methods and scalable system designs so that cloud applications meet performance, dependability, efficiency, and sustainability requirements;

4. design distributed systems that combine edge and cloud computing to improve the performance, dependability, security/privacy, efficiency, and sustainability of applications; and

5. analyse the carbon footprint of edge/cloud resources and applications

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.