Skip to content

uwacsp/cits5503

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CITS5503 Cloud Computing

This unit introduces cloud computing as the provision of computing resources. Students are exposed to modern systems architectures and software development kits that, together, provide cloud computing frameworks. Students will learn about different aspects of the design, development, provisioning and management of cloud-based applications.

Students will gain a sound understanding of cloud-based computing and the opportunities that it provides for a diverse range of computing applications. Special attention will be made to security of cloud based applications and the different strategies that are available in these deployments.

An overarching goal of the unit is to provide students with an opportunity to undertake problem identification, analysis and solution and to apply these skills to the field of Cloud Computing.

Note on the use of AWS

The course is based on the cloud services of Amazon Web Services and a range of open source and other products. It is not possible in a course such as this to cover all of the products that these cloud services provide. The theme has been to concentrate on the most common use cases of [a] using AWS to deploy web applications utilising data sources such as databases and [b] data analytics and machine learning.

Learning Outcomes

Students are able to

  1. Understand cloud services, there motivation, design and implementation
  2. Understand the basics of virtualisation of hardware, networks and security
  3. Understand application architectures and how they meet specific requirements and needs
  4. Understand how to achieve scalability and security in a cloud-based architecture
  5. Use DevOps to deploy and manage the creation and updating of software environments
  6. Use cloud services to carry out specific use cases such as data analytics, machine learning and other artificial intelligence tasks
  7. Write code in Python using a variety of SDKs to achieve the above where appropriate

Contents and Assessments

The course consists of 12 weeks of lectures and 10 weeks of practical lab classes (2 points each). Assessment is through a midsem exam and a final exam.

  • 20% Labs
  • 30% MidSem Exam
  • 50% Final Exam

Reading List

Lectures

For Labs cilck here.

Introduction to Cloud Computing - CITS5503


Week 1

Motivation for cloud computing, introduction to cloud computing

Content

Assignments (MidSem Exam)


Week 2

Cloud Computing and AWS: Introduction to AWS platform and services, awscli command line and python boto programming interfaces

Content

Assignments (MidSem Exam)


Week 3

Computer virtualisation. Background and different approaches. Containers and Docker

Content

Assignments (MidSem Exam)


Week 4

AWS storage EBS, S3, DynamoDB

Content

Assignments (MidSem Exam)


Week 5

AWS security and identity management

Content

Assignments (MidSem Exam)


Week 6

Networking, IP addressing, subnets, routing virtual private clouds

Content

Assignments (MidSem Exam)


Week 7: Study Time Week

There will be no scheduled labs or content for lectures and the time can be used for completing the pending labs.


Week 8

Web architectures using python as a model with RDBMS

Content

Assignments (MidSem Exam)


Week 9

Software controlled deployment of services and software using Chef

Content

Assignments (MidSem Exam)


Week 10

Machine learning using classification and categorisation services

Content

Assignments (MidSem Exam)


Week 11

More AI services including text analysis, image analysis, chatbots and data analysis using Jupyter and SageMaker

Content

Lecture AI 2021


Week 12

Mobile application integration and services and IoT integration using cloud services

Content

Lecture Final Exam


Labs

For Lectures cilck here.

This semester all labs will be assessed as "Lab notes". You should follow all steps in each lab and include your own comments. In addition, include screenshots showing the output for every commandline instruction that you execute in the terminal and any other relevant screenshots that demonstrate you followed the steps from the corresponding lab. Please also include any bash or python script that you create and the corresponding output you get when executing it. Please submit a single PDF file. The formatting is up to you but a well organised structure of your notes is appreciated.

Week 1

  • No Labs for Week 1.

Week 2 (Lab 1)


Week 3 (Lab 2)


Week 4 (Lab 3)


Week 5 (Lab 4)


Week 6 (Lab 5)


Week 7

  • No labs this week to make up for the assignment

Week 8 (Lab 6)


Week 9 (Lab 7)


Week 10 (Lab 8)


Week 11 (Lab 9)