Skip to content

JamesDernie/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 couse such as this to cover more than one service, or indeed all of the products that AWS provides. 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

The course consists of 12 weeks of lectures and 10 weeks of practical lab classes. Assessment is through marking of lab assignments, a mid-term exam and a final exam.

Lectures

Week 1: Motivation for cloud computing, introduction to cloud computing (CloudComputingIntro, WhatIsTheCloud)

Week 2: Introduction to AWS platform and services, awscli command line and python boto programming interfaces (AWSIntro, Boto)

Week 3: Computer virtualisation. Background and different approaches. Containers and Docker (Virtualisation)

Week 4: AWS storage EBS, S3, DynamoDB (Storage)

Week 5: AWS security and identity management (IAM)

Week 6: Networking, IP addressing, subnets, routing virtual private clouds (Networking)

Week 7: Web architectures using python django as a model with RDBMS (WebArchitecture)

Week 8: Mid Term Exam

Week 8: Software controlled deployment of services and software using Chef (DevOps)

Week 9: Machine learning using classification and categorisation services (AI)

Week 10: More AI services including text analysis, image analysis, chatbots and data anaylsis using Jupyter and SageMaker (MoreAI)

Week 11: Mobile application integration and services and IoT integration using cloud services

Week 12: Internet of Things integration using Cloud Computing

Labs

Week 2: Lab1 Intro and setup of environment

Week 3: Lab2 EC2 and docker

Week 4: Lab3 S3 and DynamoDB Creating CloudStorage application

Week 5: Lab4 IAM, KMS and AES encryption

Week 6: Lab 5 Networks and VPC

Week 7: Lab 6 Web applications, Django and ELB

Week 8: Lab 7 DevOps

Week 9: Lab 8 Machine learning using classification and categorisation services

Week 10: Lab 9 More AI: Text analysis, image analysis, chatbots

Week 11: Lab 10 Internet of Things

Assessment

20% Midterm Exam (Week 6) 60% Final Exam 20% Labs

About

CITS5503 Cloud Computing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 83.4%
  • Python 16.6%