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 2021, Gardens Point, Internal

Unit code:CAB432
Credit points:12
Pre-requisite:CAB301 or CAB302 or INB370 or INB371 OR IFN666
Equivalent:INB356
Coordinator:Jim Hogan | j.hogan@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 initial, 'bare metal' offerings of a few years ago, 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. Understand the business models and the elastic nature of Cloud technologies and their application in practice in both a technical and commercial context. (GC1)
  2. Be able to distinguish between the range of XaaS services offered in a cloud context, understand their advantages and limitations, and make appropriate choices in application design and implementation. (GC1, GC2)
  3. Be able to utilise publicly available data and service APIs in the creation of web applications using industry standard languages and servers and to demonstrate their successful deployment using a software container. (GC1, GC2, GC3, GC4, GC6)
  4. Be able to develop applications using industry standard languages and APIs and run them successfully on a public cloud infrastructure, managing the deployment and elastic provisioning for this application. (GC1-GC5)
  5. Understand the issues presented by very large scale data stores - notably those relating to security and privacy - and be familiar with and able to apply a range of standard approaches for processing this data,. (GC1-GC3, GC6)
  6. Be familiar with a range of public and private cloud infrastructure and service offerings and understand the advantages and disadvantages of these approaches. (GC1, GC2, GC4)

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 substantial case studies, and the concepts made concrete through practical exercises and through two substantial assignments. The first of these will focus on the deployment of a limited web application using a software container. For the second, you will work with a partner on the development of a more complex web application and successful demonstration of its scalability within one of the major public cloud environments.

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.
  • The CAP Theorem: the trade-offs between consistency, availability and partition tolerance.
  • Security and risk in Cloud Services
  • The rise of large scale public data sets and APIs, and their use in modern web applications based on languages such as JavaScript and servers such as Node.js.
  • Deployment of web applications using a software container such as Docker.
  • Use of the major public cloud offerings: Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform
  • In depth development and deployment of scalable web applications to the public cloud
  • Algorithms for Cloud and Big Data, and the use of machine learning services
  • An Introduction to DevOps



A range of technologies and development environments will be considered, but it is expected that you have good programming skills in a modern language such as C#, Java or Python. It is not expected that you have significant experience working in JavaScript prior to this unit, and we will assist you in learning the language. Much of the practical material will rely on JavaScript and Node.js.

 

Learning Approaches

This unit will use lectures 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 the APIs and cloud infrastructure.

Feedback on Learning and Assessment

You can obtain feedback on your progress throughout the unit through the following mechanisms:

  • Ask the teaching staff for advice and assistance during lectures and practical sessions.
  • Your major assignments will be returned to you before the end of semester with comments on your progress.
  • Private consultation with teaching staff.

Assessment

Overview

All assessment contributes to your grade.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Project (applied)

You will implement a web application mashup which utilises public data and service APIs, and deploy it to the cloud using a software container. You will be required to present and demonstrate your application, and to write a professional report describing your work. 

 

Weight: 30
Individual/Group: Individual
Due (indicative): Before mid-semester
Related Unit learning outcomes: 2, 3, 5

Assessment: Practical Exercises (applied)

You will undertake a number of assessable practical exercises demonstrating key aspects of the provision of cloud services. These may include services such as autoscaling and load balancing of cloud instances, the use of storage services and application caching, and the use of collections of software containers. These will be assessed in class to the satisfaction of the tutor on a pass/fail basis, and you will be given an opportunity to revise work which is not of an appropriate standard.

Weight: 10
Individual/Group: Individual
Due (indicative): Mid-Semester
Related Unit learning outcomes: 4, 6

Assessment: Project (applied)

Working with a partner, you will design and implement a stateless cloud application which employs modern cloud services and scales automatically in response to variations in computational load. It is mandatory that your application be deployed to a public cloud infrastructure. You will be required to present and demonstrate your application, and to write a professional report describing your work. 

Weight: 60
Individual/Group: Individual and group
Due (indicative): Week 12
Week 13
Related Unit learning outcomes: 1, 2, 3, 4, 5, 6

Academic Integrity

Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.

The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.

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.

Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, 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.

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.