CAB432 Cloud Computing


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Semester 2 2024, Gardens Point, Internal

Unit code:CAB432
Credit points:12
Pre-requisite:(CAB301 or CAB302 or INB370 or INB371 or IFN666) or (192cps in IV04 or MV05 or BV06 or EV08) or (enrolment in IV54 or IV55 or IV56 or IV58).
Equivalent:INB356
Coordinator:Matthew McKague | matthew.mckague@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

Cloud Computing is among the most important developments in the IT industry in recent years, and one which has received enormous attention. Cloud is a natural progression from earlier trends in service and infrastructure outsourcing and virtualisation, but is distinguished by its elasticity and scale: service and infrastructure provisioning may change rapidly in response to variations in demand, allowing clients to cater for unexpected spikes in load without tying up capital in expensive and potentially underutilised assets.

Cloud services and technologies are becoming increasingly diverse and sophisticated, moving rapidly from the original 'bare metal' offerings and providing a rich set of options and APIs. This unit provides a technically oriented introduction to Cloud Computing, giving you experience in developing modern cloud applications and deploying them to the public clouds of the major vendors.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Discuss the elastic nature of cloud technologies and business models and their application in technical, commercial and sustainability contexts.
    Relates to: ACS CBOK: 1, 1.6
  2. Analyse application design and implementation requirements to select suitable cloud infrastructure and software services from a range of XaaS offerings.
    Relates to: ACS CBOK: 3, 3.1
  3. Critically analyse the effectiveness of cloud architectures at scale – encompassing computation, persistence, scaling, statelessness, security privacy and cost.
    Relates to: ACS CBOK: 1, 1.6, 3, 3.1
  4. Design and implement scalable cloud applications using industry standard languages and APIs, deployed on a public cloud infrastructure and leveraging a range of cloud services.
    Relates to: ACS CBOK: 3, 3.1, 4, 4.2
  5. Communicate in written forms about cloud applications, services, and architectures.

Content

This unit introduces you to Cloud Computing, with an emphasis on the practical use of cloud services. The approach is to introduce the context and terminology of the area, and then to focus on the technical issues of creating, hosting and managing cloud applications. Some of this material will be linked together through small scale and industrial examples, and the concepts made concrete through a major project that you develop in three stages. The first of these will focus on the deployment of a limited web application using a software container and cloud-based virtual machine. For the second, you will add functionality to your application using a variety of cloud services.  In the final stage you will restructure your application to be elastically scalable in a cost effective manner.

Topics to be covered over the course of the semester may include:

  • The business of Cloud Computing and its relationship to virtualisation and outsourcing
  • XaaS - i.e. something as a Service – Infrastructure, Platform, Software and Container and others, and models of elastic provisioning across the range of services offered.
  • Architectures for Cloud applications: statelessness, scalability and persistence.
  • Event driven architecture and microservices
  • The CAP Theorem: the trade-offs between consistency, availability and partition tolerance.
  • Security and risk in Cloud Services
  • Deployment of web applications using a software container such as Docker.
  • Use of the major public cloud offerings
  • In depth development and deployment of scalable web applications to the public cloud
  • Architecting for Cost and Dev Ops


It is expected that you have good programming skills in a modern language.  Much of the practical material will rely on JavaScript and Node.js, and to a much smaller extent on HTML and CSS.  It is not expected that you have significant experience working in JavaScript, HTML, or CSS prior to this unit, and we will assist you in learning these languages.

Learning Approaches

This unit will use pre-recorded lectures, question-and-answer sessions, and practical sessions to focus on the context and principles of cloud computing. Technologies will as far as possible be introduced in a practical context, and you will be given every opportunity to undertake practical exercises using a major public cloud.

You can expect to spend between 10 - 15 hours per week on average involved in preparing for and attending all scheduled classes, completing assessment tasks, and undertaking your own independent study to consolidate your learning.

Feedback on Learning and Assessment

There are multiple opportunities in this unit to receive feedback on your learning. Participation in Q&A sessions and practicals provides you with the opportunity to receive informal feedback from your tutors and peers. All summative assessment tasks will be graded using a rubric, with personalised written feedback provide on each task.

Assessment

Overview

All assessment contributes to your grade.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Web application project

You will implement a web application, with the main focus being on the server side, and deploy it to the cloud using a software container. This web application will form the basis for later assessment items where you will introduce additional functionality and cloud services.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

 

Weight: 30
Individual/Group: Individual
Due (indicative): Week 6
Related Unit learning outcomes: 1, 2, 4
Related Standards: EASTG1CMP: 1, 1.3, 1.5, 2, 2.1, 2.3

Assessment: Cloud services exercises

You will add additional functionality to your web application by using a variety of cloud services such as identity management. You will also make your application stateless by using cloud persistence services to store data.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

 

Weight: 30
Individual/Group: Individual
Due (indicative): Week 9
Related Unit learning outcomes: 1, 2, 4
Related Standards: EASTG1CMP: 1, 1.3, 1.5, 2, 2.2

Assessment: Cloud project

You will complete your cloud project by migrating the processing tasks of your application to a cloud architecture, that makes use of multiple cloud compute services, designed to be cost effective at a global scale. You will be required to write a professional report describing your work.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Weight: 40
Individual/Group: Individual
Due (indicative): Week 13
Related Unit learning outcomes: 1, 2, 3, 4, 5
Related Standards: EASTG1CMP: 1, 1.6, 2, 2.1, 2.3, 3, 3.1, 3.2

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

No extraordinary charges or costs are associated with the requirements for this unit
Required text:
Online materials as indicated in the lecture notes.

Resource Materials

Other

All required resources will be made available via Canvas.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit. Some aspects of the unit may need to be modified in the event of changes to the available cloud offerings.

Standards/Competencies

This unit is designed to support your development of the following standards\competencies.

Australian Computer Society Core Body of Knowledge

1: ICT Professional Knowledge

  1. Understanding the ICT profession
    Relates to: ULO1, ULO3

3: Technology Resources

  1. Hardware and software fundamentals
    Relates to: ULO2, ULO3, ULO4

4: Technology Building

  1. Programming
    Relates to: ULO4

Engineers Australia Stage 1 Competency Standard for Professional Engineer

1: Knowledge and Skill Base


  1. Relates to: Web application project, Cloud services exercises

  2. Relates to: Web application project, Cloud services exercises

  3. Relates to: Cloud project

2: Engineering Application Ability


  1. Relates to: Web application project, Cloud project

  2. Relates to: Cloud services exercises

  3. Relates to: Web application project, Cloud project

3: Professional and Personal Attributes


  1. Relates to: Cloud project

  2. Relates to: Cloud project

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN01 Bachelor of Engineering (Honours)

  1. Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
    Relates to: ULO1, Cloud project
  2. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO4, Cloud services exercises, Cloud project
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: ULO3, Web application project, Cloud project
  4. Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
    Relates to: Web application project, Cloud project
  5. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: Cloud services exercises, Cloud project
  6. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: ULO2, Web application project, Cloud project

EV01 Bachelor of Engineering (Honours)

  1. Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
    Relates to: Cloud project
  2. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: Cloud services exercises, Cloud project
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: Web application project, Cloud project
  4. Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
    Relates to: Web application project, Cloud project
  5. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: Cloud services exercises, Cloud project
  6. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: Web application project, Cloud project

IN01 Bachelor of Information Technology

  1. Demonstrate well-developed IT discipline knowledge
    Relates to: ULO1
  2. Critically apply design and problem solving skills
    Relates to: ULO2, ULO3
  3. Purposefully appraise personal values, attitudes and performance in your continuing professional development
    Relates to: ULO3
  4. Create considered and relevant IT solutions
    Relates to: ULO4

IN20 Master of Information Technology

  1. Demonstrate specialist knowledge of at least one Information Technology discipline
    Relates to: ULO1
  2. Critically assess, select and integrate existing IT approaches, and develop novel methods, to address discipline-specific problems
    Relates to: ULO3
  3. Apply higher order design and problem- solving skills in specialised IT contexts
    Relates to: ULO2
  4. Engage in effective professional and scholarly communication
    Relates to: ULO3
  5. Achieve positive change through the creative and skilful application of IT
    Relates to: ULO4