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.
The course is based on the cloud services of Amazon Web Services and Alibaba Cloud and a range of open source and other products. It is not possible in a couse 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 and Alibaba Cloud to deploy web applications utilising data sources such as databases and [b] data analytics and machine learning.
Students are able to
- Understand cloud services, there motivation, design and implementation
- Understand the basics of virtualisation of hardware, networks and security
- Understand application architectures and how they meet specific requirements and needs
- Understand how to achieve scalability and security in a cloud-based architecture
- Use DevOps to deploy and manage the creation and updating of software environments
- Use cloud services to carry out specific use cases such as data analytics, machine learning and other artificial intelligence tasks
- 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 an essay and a final exam.
Week 1: Motivation for cloud computing, introduction to cloud computing (CloudComputingIntro(pptx), Video, WhatIsTheCloud (pptx), Video 1, Video 2)
Week 2: Cloud Computing and AWS: Introduction to AWS platform and services, awscli command line and python boto programming interfaces (AWSIntro(pptx) Video Boto(pptx) Video Presentation from AWS
Assignments for week 2 Available
Week 3: Computer virtualisation. Background and different approaches. Containers and Docker (Virtualisation, Video)
Assignments for week 3 Available
Week 4: AWS storage EBS, S3, DynamoDB (Storage, S3 Video, DynamoDB Video)
Assignments for week 4 Available
Week 5: AWS security and identity management (IAM, Video)
Assignments for week 5 Available
Week 6: Networking, IP addressing, subnets, routing virtual private clouds (Networking, Networking Video, NAT, ELB)
Assignments for week 6 Available
There will be no scheduled labs or content for lectures and the time can be used for the assignment
Essay Assignment Due Sunday 4th October 23:59 AWST
Week 8: Web architectures using python as a model with RDBMS (WebArchitecture (pptx)Web Architecture Video, Django Demo, SQS Video
Assignments for week 8 Available
Week 9: Software controlled deployment of services and software using Chef (DevOps (pptx), OpsWorks Chef Video, DevOps Intro Fabric, Code Build Video)
Assignments for week 9 Available
Week 10: Machine learning using classification and categorisation services (AI (pptx), AI Video, ML Demo Video)
Final - Assignments for week 10 Available
Week 11: More AI services including text analysis, image analysis, chatbots and data anaylsis using Jupyter and SageMaker (MoreAI (pptx), More AI Intro Video, Chatbots Video, SageMaker Video, SageMaker Demo Video)
Week 12: Mobile application integration and services and IoT integration using cloud services (MobileIntegration (pptx), Mobile Video, Mobile Demo, Video)
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: No labs this week to make up for the assignment
Week 8:Lab 6 Web applications, Django and ELB
Week 9:Lab 7 DevOps
Week 10:Lab 8 Machine learning using classification and categorisation services
Week 11:Lab 9 More AI: Text analysis, image analysis, chatbots
40% Essay, 60% Final Exam